MySQL基础

发布于:2024-12-20 ⋅ 阅读:(175) ⋅ 点赞:(0)

在这里插入图片描述

Ubuntu22.04下MySQL环境配置

数据库基础

登录数据库命令

mysql -h 127.0.0.1 -p 3306 -u root -p
  • h:host指明登录部署了mysql服务的主机
  • 127.0.0.1:表示本主机
  • p: 指明要访问的端口号,3306是默认的
  • u:用户
  • p:密码

-h 127.0.0.1 -p 3306这一部分可以直接省略

是什么?

在这里插入图片描述

服务器,数据库和表之间的关系

在这里插入图片描述

MySQL架构

在这里插入图片描述

SQL语句分类

在这里插入图片描述

简单使用数据库

创建数据库

show databases;  //显示数据库

在这里插入图片描述

create database  数据库名称;   //创建数据库
drop database db_name ;//删除数据库

在这里插入图片描述
在这里插入图片描述

建立数据库的本质就是Linux下的一个目录
数据库本质也是文件,但不是由用户操作,而是由mysqld

show variables like 'datadir';   //显示数据库所在的路径

在这里插入图片描述

在这里插入图片描述

使用数据库

use  db_name;  //选择db_name数据库
select database();  //显示当前所处的数据库
use;    //切换到没有数据库的状态

在这里插入图片描述

create table ta_name(  ,   );//建表
show tables;//显示表

在这里插入图片描述

desc  stu;//查看表的相关信息

在这里插入图片描述

insert into tb_name (    )  into values (    );//向tb_name表中插入数据
select * from tb_name;   //查看表的内容

在这里插入图片描述

库的操作

存储引擎

show engines;//显示引擎

在这里插入图片描述

show create table  tb_name;//显示创建tb_name 表示的细节,这里mysqld会进行一定的优化,主要是因为写的不太规范

在这里插入图片描述

编码集

创建数据库时,有两个编码集:

  1. 数据库编码集(写)未来存储数据
  2. 数据库校验集(读)支持数据库,进行字段比较,使用的编码;读取时,采用的编码格式
    两种编码集的意义–>保证操作和编码一致

案例1

  • 创建数据库时,指定编码集

~~```
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci;

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/82fb4d8ffe784baab2a99fb240fcd14a.png)

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/7a97d95e7a574520a130f209c37dd95c.png)
查找a,但查找出的是a和A,说明使用的该编码集和校验集是不区分大小写的



- 默认编码集:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/595908b5792b4681b858ce4e952da686.png)
- 默认校验集:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/21ff19715a3b4a74a32fd3aeba0f18c4.png)

show charset;//显示支持的编码集
show collation;//校验集

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/31f865fa8df84ce28833aefbf94b5ed3.png)

- order by //排序
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d3ce18d250c94b798dabf27daf5f0eb6.png)

## 备份与恢复

mysqldump -u root -p -B mydatabase > backup.sql//备份
mysql -u root -p mydatabase < backup.sql//恢复

B可以不带,B的作用就是备份是有创建数据库的命令,所以恢复是不用指定数据库。

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d01ccc5b9b2c447f85093cddb53d2696.png)
## mysql连接情况

show processlist;


![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/538cd113f5d84c8989c1eaf1765f6190.png)
# 表的操作

## 增(创建表)

create table tb_name( 列名 数据类型, ,);


创建表时可以指定存储引擎
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6165b37d2f4440dbb3769301d93f2e72.png)

## 删

drop tb_name;//删除表


## 查

desc tb_name;//查看表的信息
show create tb_name;//查看建表时的信息


## 改
- 将表重命名

alter table tb_name1 to tb_name2;


- 向表中插入数据

insert into tb_name values ( , , );

- 在表中新插入一列

alter table tb_name 变量名 变量类型 after 列名;

在指定列之后,插入

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/58b69f2a17974c09bc8ab51937724ed4.png)

- 修改指定列的的数据类型

alter table tb_name modify 列名 新的数据类型;

- 修改指定列的列名和数据类型

alter table tb_name change 列名 新列名 新类型;

- 删除指定列

alter table tb_name drop column 列名;

- 删除表

drop table tb_name;