文章目录
- 一. 创建数据库
- 1.1 基础语句
- 1.2 字符集和校验规则
- 1.3 校验规则对读取数据的影响
- 二. 查看数据库
- 三. 修改数据库
- 四. 删除数据库及备份
- 4.1 删除
- 4.2 备份和还原
- 结束语
一. 创建数据库
1.1 基础语句
最简洁的创建数据库的SQL语句是:
create database db_name;
db_name是数据库的名称
创建一个数据库,本质是在MySQL配置文件中默认的存放资源的文件中创建目录
/etc/my.cnf
是MySQL的配置文件
默认存放资源的路径是/var/lib/mysql
所以,如果我们使用MySQL创建一个database1的数据库,那么相应的,在/var/lib/mysql/中就会创建一个database1的目录
接下来,介绍创建数据库的选项
create database
if not exists
db_name;
使用create database db_name重复创建数据库,结果如下:
使用create database if not exists db_name,结果如下:
如果使用第一种SQL语句重复创建,结果是报错
如果使用第二种SQL语句重复创建,则会忽略创建语句,不会报错
实际工作中,建议使用create database if not exists db_name 创建数据库
创建数据库时,还可以指明使用的字符集
和校验规则
create database db_name
charset=utf8
collate=utf8_general_ci
character-set
,即charset
,是数据存放入数据库时使用的字符集
collation
,是数据取出时使用的校验规则
同样可以在配置文件/etc/my.cnf
中配置默认使用的字符集和检验规则
1.2 字符集和校验规则
- 字符集
字符集是一套用于表示和处理文本数据的编码规则。在MySQL中,字符集用于定义存储,传输和处理数据时所使用的字符集合。常见的字符集包括UTF8,GBK等。字符集主要是控制使用什么语言,比如UTF8可以使用中文 - 检验规则
校验规则用于定义字符集中每个字符的排序规则,决定了字符比较,排序和匹配方式。例如,在排序时是按照字母的先后顺序进行排序,还是按照字母的笔画数进行排序
查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database;'
注意单引号
查看数据库支持的字符集或校验规则
show charset;
show collation;
1.3 校验规则对读取数据的影响
UTF8_general_ci【不区分大小写】
UTF8_bin【区分大小写】
分别使用这两种校验规则创建两个数据库test1和test2,并建立一样的表,插入一样的数据
以下是test1的操作,test2操作相同
是否区分大小写,会导致不同的查询结果和排序结果
-
查询
-
排序
二. 查看数据库
show databases;
查看所有数据库
show create database db_name
显示创建语句
- MySQL建议关键字使用大写,但是不是必须的
- 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字
- /*!40100 default … */ 不是注释,其含义是,如果当前MySQl版本大于4.01版本,则会执行这句语句
select database();
查看当前使用的数据库
表面当前正常使用test1这个数据库
三. 修改数据库
alter database db_name
其后跟修改的字符集或者校验规则
比如将test1数据库的字符集和校验规则修改为gbk
PS:十分不建议rename数据库,重命名数据库。原先可以rename,但之后删除了这个语句。
因为可能还有用户在使用该数据库,一旦重命名,将无法使用,上层调用接口等也将失效
四. 删除数据库及备份
4.1 删除
删除数据库的操作很简单
drop database if exists db_name
但是一旦删除数据库
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部都被删除
建议先备份
,再删除
4.2 备份和还原
备份
备份的工具是在安装MySQL的同时安装的——mysqldump
使用命名:
mysqldump -P 3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
-P 3306选项是连接的mysqld服务器的端口号
-u root 选项是登录的用户
-p 密码 选项是输入密码
-B 数据库 选项是指定数据库
这个文件内部是对该数据库使用的所有SQL语句,包括创建数据库,使用,创建表,插入数据等
还原
还原是在mysql中执行的
source 文件路径;
如果只想要备份数据库中的一个表
mysqldump -P 3306 -u root -p 密码 -B 数据库名 表 > 备份的文件路径
同时备份多个数据库
mysqldump -P 3306 -u root -p 密码 -B 数据库1 数据库2 > 存储路径(文件)
PS:如果备份时没有带上-B选项,那么在恢复数据库时,要先建立空的数据库,然后使用数据库,再source还原
show processlist
查看连接情况
可以告诉我们当前有哪些用户用户连接到我们的MySQL,如果查出某个用户不是正常登录的,很有可能你的数据库被人入侵了,如果自己的数据库比较慢时,可以使用这个指令查看数据库的连接情况
结束语
感谢你的阅读
如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。