网站设计推广方案,购物商城网站功能设计,跨国网站浏览器,wordpress jason数据MySQL操作库 一.创建数据库1. 创建数据库的方式2. 创建数据库时的编码问题3. 指定编码创建数据库4. 验证校验规则对数据库的影响 二.数据库与文件系统的关系三.操纵数据库1. 查看数据库2. 删除数据库3. 修改数据库 四.数据库的备份和恢复1.数据库的备份2.数据库的恢复 五.查看连… MySQL操作库 一.创建数据库1. 创建数据库的方式2. 创建数据库时的编码问题3. 指定编码创建数据库4. 验证校验规则对数据库的影响 二.数据库与文件系统的关系三.操纵数据库1. 查看数据库2. 删除数据库3. 修改数据库 四.数据库的备份和恢复1.数据库的备份2.数据库的恢复 五.查看连接情况 一.创建数据库
1. 创建数据库的方式
create database database1;带选项的创建
create database if not exists database1;如果不存在if not exists)才创建数据库database1。 2. 创建数据库时的编码问题
与数据打交道的数据库的创建一定与编码有关系。创建数据库的时候有两个编码集
数据库编码集数据库未来存储数据的编码集。数据库校验集支持数据库进行字段比较使用的编码本质也是一种读取数据库中数据的采用的编码格式。
因此数据库无论对数据做任何操作都需要保证数据库的操作和编码必须是编码一致的。 查看系统默认支持的字符集和校验集 show variables like character_set_database;show variables like collation_database;查看connection、database、server的校验集
show variables like collation_%;大部分情况下数据库的连接数据库本身、数据库的服务器都是utf8的。在最开始的my.cnf配置中我们把默认字符集全部配成了utf8进行统一如果不配置可能就会因为编码的不同导致无法正确解析数据。 查看数据库全部的字符集 show charset;查看对照表数据库选择的就是其中的utf8的字符集。
查看数据库支持的字符集校验规则
show collation;3. 指定编码创建数据库
当我们创建数据库没有指定字符集和校验规则时系统使用默认字符集utf8校验规则是utf8_general_ci。
两种方式
create database d2 charsetutf8; #指定编码格式utf8create database d3 set utf8; #指定编码格式utf8、
编码集字符集同时设置
create database d4 charsetutf8 collate utf8_general_ci; #既指明编码又指明校验规则根据字符集表以及校验表创建不同编码和校验规则的数据库 4. 验证校验规则对数据库的影响 不区分大小写 创建一个数据库校验规则使用utf8_ general_ ci[不区分大小写]
create database test1 collate utf8_general_ci;use test1;create table person(name varchar(20));由于是不区分大小写的所以在指定查’a’的时候utf8_ general_ ci校验规则会将’A’和’a’一并查出 区分大小写 创建一个数据库校验规则使用utf8_ bin[区分大小写]
create database test2 collate utf8_bin;use test2;create table if not exists person(name varchar(20));因此校验规则的不同我们查出的结果也有可能不同。
校验规则的不同排序的顺序也会不同从小到大 故忽略大小写时大小写的排序不做区分。
二.数据库与文件系统的关系
创建数据库:create database db_name; 本质就是在/var/lib/mysql创建一个目录。
删除数据库:drop database db_name; 本质就是在/var/lib/mysql删除目录。 因此我们可以在/var/lib/mysql上创建目录那么数据库层面也一定会产生相应的数据库。 同理在mysql目录中删掉一个目录数据库层面的对应数据库也会被删掉。
当然绝对不应该在文件系统层面创建目录从而生成对应数据库这样是不合理的。因此mysql8.0就禁掉了这个功能而mysql5.6支持。
三.操纵数据库
1. 查看数据库
show databases;如果想要确定是在哪个数据库里可以执行
select database();2. 删除数据库
drop database db_name;执行删除之后的结果:
数据库内部看不到对应的数据库对应的数据库文件夹被删除级联删除里面的数据表全部被删
注意不要随意删除数据库
3. 修改数据库
对数据库的修改主要指的是修改数据库的字符集校验规则
alter database test2 charsetgbk collate gbk_Chinese_ci;四.数据库的备份和恢复
1.数据库的备份 mysqldump -P3306 -u root -p 密码 -B 数据库名 数据库备份存储的文件路径-B代表选择数据库的选项。 test1.sql中存储的不仅仅是test1数据库中的数据还有历史上创建过的命令 至此就完成了对数据库test1的备份操作。
2.数据库的恢复
现在将test1数据库删掉 这样在/var/lib/mysql的路径下一定也不存在test1目录。
通过pwd命令我们知道test1.sql所在的路径 然后通过以下恢复命令
mysql source /root/MySQL/test1.sql;此时就可以查看到对应test1的数据库及其内容 注意事项 如果备份的不是整个数据库而是其中的一张表怎么做
mysqldump -u root -p 数据库名 表名1 表名2 路径/mytest.sql同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据库再使用source来还原。
五.查看连接情况
如果在使用数据库时出现卡顿那么有可能访问数据库的不止你一个所以通过如下命令我们可以看到User的数量及名称Id。
show processlist;这可以告诉我们当前有哪些用户连接到我们的MySQL如果查出某个用户不是你正常登陆的很有可能你的数据库被人入侵了。