目录
数据库的增加
字符集和校验规则
显示的指明字符集和校验规则
校验规则对数据库的影响
数据库的删除
数据库的查看
显示创建语句
数据库的修改
数据库的备份与恢复
备份
恢复
注意事项
查看连接情况
数据库的增加
CREATE DATABASE [IF NOT EXISTS] db_name
[create_specification [create_specification] ...];create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
大写的表示关键字[] 是可选项CHARACTER SET: 指定数据库采用的字符集COLLATE: 指定数据库字符集的校验规则
IF NOT EXISTS
是一个可选的子句,如果指定了这个子句,那么在尝试创建数据库时,如果数据库已经存在,SQL操作将不会执行,也不会返回错误。这个子句可以避免因为数据库已经存在而导致的错误。db_name
是你想要创建的数据库的名称。这个名称必须是唯一的,并且在你的数据库系统中还没有被使用。create_specification
是一系列可选的规范,用于定义数据库的特性。这些规范可能包括字符集、排序规则、数据文件的初始大小、自动增长的大小、文件组等
增加、删除与查看
字符集和校验规则
字符集就是要求数据以什么格式写进去,而校验集就是要求数据以什么格式读出来,就像编程语言一样,一个int类型的数据,以int类型的方式存入内存,那么就应该要用int类型的方式再读取出来,否则就会造成数据的错误读取
查看系统默认字符集以及校验规则
字符集
show variables like 'character_set_database' ;
show variables like 'collation_database' ;
查看数据库支持的字符集
show charset;
show collation;
当我们知道了 字符集和校验规则 之后我们就可以创建一个指定 字符集和校验规则 的库了,不过通常我们是使用默认配置好的规则使用,所以我们一般也不会去显示的去指定 字符集和校验规则
显示的指明字符集和校验规则
校验规则对数据库的影响
数据库的删除
DROP DATABASE [IF EXISTS] db_ name;
需要明白的是一旦数据库被删除了,里面的数据也就随之被删除了,所以我们一般在执行删除命令的时候都需要进行数据的备份操作
执行删除之后的结果 :数据库内部看不到对应的数据库对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
数据库的查看
查看数据库
show databases;
查看当前在哪个库
select database();
显示创建语句
select create database 数据库名;
MySQL 建议我们关键字使用大写,但是不是必须的。数据库名字的反引号 ``, 是为了防止使用的数据库名刚好是关键字/*!40100 default.... */ 这个不是注释,表示当前 mysql 版本大于 4.01 版本,就执行这句话
数据库的修改
对数据库的修改主要指的是修改数据库的字符集,校验规则
ALTER DATABASE db_name[alter_spacification [,alter_spacification]...]alter_spacification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name
修改数据库test1的字符集和校验规则
alter database test1 charset=gbk collate gbk_chinese_ci;
至此数据库的增删查改解决,这里指的是对数据库本身的修改,下一篇则是对数据库中表的增删查改
数据库的备份与恢复
备份
当然你也可以选择直接到数据库存储的路径下,把整个文件目录全部拷贝下来,但是不推荐这样做,因此我们可以借助下面这个工具来对数据库进行备份操作,这个工具在你安装MySQL的时候就会自动安装的
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
恢复
直接使用source + 路径就行了
source /home/qinfeng/MySQL/test1.sql;
注意事项
备份数据库中的某一个或者几个表
mysqldump -u root -p 数据库名 表名1 表名2 > 存放路径
同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原
即假如不带-B选项就会在备份文件中缺失这一句,这么一来就需要自己建库再执行,就相当于你要先创建一个库,然后再用备份文件进行数据的恢复,这样就类似于数据库重命名了,因为数据库是不支持重命名的,这也是防止在他人正在使用的时候对数据库进行的重命名,从而导致他人无法正常访问
查看连接情况
查看当前数据库有多少人正在使用
show processlist;