目录

mysql数据库操作

【mysql】数据库操作

1. 库的操作

(一)创建数据库

create database [if not exists] + 库名 + [create_specification] [create_specification] …;

注意:

[]里的内容是可以选择的,既可以写,可以不写

if not exists : 如果库名不存在,则创建一个数据库,如果存在,不做处理

create_specification : 可以是 charset=字符集 或者是 collate=校验规则

(二)创建数据库实例

https://i-blog.csdnimg.cn/img_convert/69c24b28589dacb72d667d6830a087ca.png

https://i-blog.csdnimg.cn/img_convert/c1b1aff4797ee9ab866bf75b692c26d0.png

注意:

当创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci (都是在配置文件里面配置好的)

https://i-blog.csdnimg.cn/img_convert/be5deb80d9187108abe1bfdf1b85f403.png

https://i-blog.csdnimg.cn/img_convert/9fab6f525fb833393e4682c5c5f41524.png

(三)字符集和校验规则

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

  1. 数据库编码集 —- 数据库未来存储数据
  2. 数据库校验集 —- 支持数据库,进行字段比较使用的编码,本质也是一种读取数据库数据采用的编码格式

因此,数据库无论对数据做任何操作,都必须保证 存储数据库和读取数据库 的编码是一致的

  • 查看系统默认字符集以及校验规则

show variables like ‘character_set_database’;

show variables like ‘collation_database’;

https://i-blog.csdnimg.cn/img_convert/69e11bb029f882bceee8eb4f194daba9.png

https://i-blog.csdnimg.cn/img_convert/94ebe177d2c9cbcd67895a5f3f142485.png

  • 查看数据库支持的字符集

show charset;

https://i-blog.csdnimg.cn/img_convert/64e69ca18857e77f187b8a14da2da300.png

  • 查看数据库支持的字符集校验规则

show collation;

https://i-blog.csdnimg.cn/img_convert/a7f6f16cecd6ccce9e94d267e041d047.png

(四)操纵数据库

  • 查看数据库 (可以知道哪些数据库被创建)

show databases;

https://i-blog.csdnimg.cn/img_convert/7903cf9183e85c6dd3fce6eba84bff48.png

  • 显示创建语句 (可以知道创建该数据库的过程)

show create database + 数据库名;

https://i-blog.csdnimg.cn/img_convert/8b3d9916acd4a08f66ca9da79ef94fe4.png

注意:

  1. MySQL 建议我们关键字使用大写,但是不是必须的
  2. 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  3. /*!40100 default…. */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

(五)修改数据库

alter database + 数据库名 + [alter_spacification] [alter_spacification]…;

https://i-blog.csdnimg.cn/img_convert/28872107c308cfe822a0233e9c4a39fb.png

注意:

这里的修改数据库信息,一般修改的是它对应的字符集和校验规则

(六)数据库删除

drop database + 数据库名;

https://i-blog.csdnimg.cn/img_convert/03d536b3db4a30464ab4e2674531e119.png

注意:

删除之后,数据库内部看不到对应的数据库,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

所以,不要随意删除数据库

(七)查看mysql连接情况

  • show processlist;

https://i-blog.csdnimg.cn/img_convert/716fe25b96e880e7d5153566f3304e68.png

可以知道当前有哪些用户连接到我们的MySQL,如果查出某个用户不是自己正常登陆的,很有可能数据库被人入侵了

2. 备份和恢复

(一)备份

mysqldump -P + 端口号 + -u + 主机名 + -p + 密码 + -B + 数据库名 > 新创建的文件名

https://i-blog.csdnimg.cn/img_convert/6a03471edbce36071464377114f996ee.png

注意:

test.sql 文件里的内容,其实把我们 整个创建数据库,建表,导入数据的语句都装载这个文件中

(二)还原

  • source + 还原文件的路径名

https://i-blog.csdnimg.cn/img_convert/67fcd981cd62bd79c9a387c253b2300e.png

https://i-blog.csdnimg.cn/img_convert/652e9721dc31afa3c3191e25de755183.png

注意:

如果备份的不是整个数据库,而是其中的一张表(即备份文件的时候不带 -B 选项),还原过程就不一样了

  1. mysqldump -u root -p 数据库名 表名1 表名2 > 指定路径下的文件

同时备份多个数据库中的表

在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原(该文件内并没有创建数据库的语句)

  1. mysqldump -u root -p -B 数据库名1 数据库名2 > 指定路径下的文件

同时备份多个数据库

3. 表的操作

(一)创建表

create table + 表名 (

field1 datatype,

field2 datatype,

field3 datatype

) character set 字符集 collate 校验规则 engine 存储引擎;

注意:

field 表示列名

datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

(二)创建表案例

https://i-blog.csdnimg.cn/img_convert/e9fb2a2b365cadad3d7f6cca1d09cb95.png

注意:

不同的存储引擎,创建表的文件不一样

如: 存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

users.frm:表结构

users.MYD:表数据

users.MYI:表索引

(三)查看表结构

  • desc + 库名

https://i-blog.csdnimg.cn/img_convert/a08a0099ce0adf819fd8e247c69d60b0.png

(四)修改表的结构

  • alter table + 表名 + add (column datatype [DEFAULT expr][,column datatype]…);

添加表结构

https://i-blog.csdnimg.cn/img_convert/a4a913778e2fb4c233a5fec2cf8018e0.png

  • 修改表结构字段类型

alter table + 表名 + modify (column datatype [DEFAULT expr][,column datatype]…);

https://i-blog.csdnimg.cn/img_convert/34a05b755f52199d0b17ea48375bd866.png

  • 删除表结构

alter table + 表名 + drop (column);

https://i-blog.csdnimg.cn/img_convert/b65367b2936869aff394165e2582e59f.png

  • 修改表名

alter table + 表名 + rename to + 修改后的名字

https://i-blog.csdnimg.cn/img_convert/71a51f996dde6013423247fa7234d976.png

注意:

to 可以省略

(五)删除表

  • drop table + 表名

https://i-blog.csdnimg.cn/img_convert/3eaa34fe62d2803cd83561d3b5e5f0dd.png

https://i-blog.csdnimg.cn/direct/69fd9fa37b3e4ed79b09be9296944158.png