正能量网站入口,网站服务器租用选择,o2o网站建设方案,做移动网站优化首#x1f496;作者#xff1a;小树苗渴望变成参天大树#x1f388; #x1f389;作者宣言#xff1a;认真写好每一篇博客#x1f4a4; #x1f38a;作者gitee:gitee✨ #x1f49e;作者专栏#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法#x1f384; 如 果 你 … 作者小树苗渴望变成参天大树 作者宣言认真写好每一篇博客 作者gitee:gitee✨ 作者专栏C语言,数据结构初阶,Linux,C 动态规划算法 如 果 你 喜 欢 作 者 的 文 章 就 给 作 者 点 点 关 注 吧 文章目录 前言一、创建数据库增二、字符集和校验规则2.1 查看系统默认字符集以及校验规则2.2 校验规则对数据库的影响 三 操作数据库查3.1查看数据库3.2 显示创建语句 四、修改数据库改五、删除数据库删六、备份和恢复6.1 备份6.2 恢复6.3注意事项6.4 查看连接情况 七、总结 前言
今天这篇就开始介绍数据库的具体操作和我们当初学习语言时候一样从语法开始学起对于数据库的层级关系大家应该知道了我们需要创建一个数据库然后再这个数据库里面进行创建表去操作今天这节就是介绍库的操作话不多说我们来看正文。 本章重点 库的增删查改 库的操作演示中会使用到表的操作以及其他的语句因为需要使用这些语句的操作让数据库完整些才可以更好的演示库的操作一会遇到我们不给大家做具体的语法介绍了。 一、创建数据库增
语法
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: 指定数据库字符集的校验规则 我们通过语句创建数据库本质就是再/var/lib/mysql创建一个目录。但是我们自己再此目录下创建一个目录作为数据库的目录不要有这样的做法使用数据库语句创建会有一个默认文件但是自己创建就是一个普通目录里面什么也没有。 二、字符集和校验规则
我们再上一节里面的说明中最少两点我们再创建数据库的时候没有使用到我想一起拿到这节去讲以及创建一个数据库里面默认形成的文件到底是什么这一节讲解清楚。
因为数据库的产生不是给一个地方或者一个国家去使用的他是要面向全球的由于世界上语言很多所以再存储和读取数据的时候必然存在差异所以就需要字符集和检验规则1. 字符集就是未来存储数据的方式像中文必须按照可以存储中文的字符集存储进去才不会乱码不使用数据库就看不懂存储进去的中文2. 校验规则就是对未来读取存取的数据的校验但我们想要读取存储的数据也需要按照相同的方式去读取进行一个验证看看读取的方式和当初存储的时候是不是一样的
我们来看看我们mysql有多少字符集和校验规则
show charset;//查看所以的字符集show collation;//查看所有的校验规则演示一部分这个表格很好字符集和校验规则都有对应关系。 2.1 查看系统默认字符集以及校验规则
大家如果看到博主的第一篇关于mysql博主会看到我们的表进行插入的时候有中文而且读取的时候没有出错但是我们再创建数据库的时候是没有指定字符集和校验规则所以肯定是有系统默认的注意一点我们的字符集和校验规则是在创建数据库的时候就已经定好了不是创建表的时候在定。
现在可以介绍我们创建数据库时形成一个数据库的工作目录里面有一个自动姓曾的文件db.opt,我们来看看里面是什么 就是我们默认的字符集和校验规则大家还记得在安装mysql那篇博客中后面我带大家配置了my.cnf文件里面就有默认的。他在配置文件里面不是具体写了但是确实是通过配置文件来确定默认的。 我们来看看系统默认的字符集和检验规则
show variables like character_set_database;show variables like collation_database;大家如果一直安装博主的操作安装的大概率看到的和博主是一样的效果。 2.2 校验规则对数据库的影响
我们来使用不同的校验规则看看对数据读取的影响。大家看效果就可以不要管操作。顺便给大家在创建数据库的时候使用指定的字符集和校验规则。
创建一个数据库校验规则使用utf8_ general_ ci[不区分大小写] create database test1 charsetutf8 collate utf8_general_ci;在这个数据库里面创建一张表person,插入数据
use test1;
create table person(name varchar(20));
insert into person values(a);
insert into person values(A);
insert into person values(b);
insert into person values(B);创建一个数据库校验规则使用utf8_ bin[区分大小写] 两个数据库里面有相同的表相同的数据唯一不同的就是校验规则不一样。 进行查询 进行排序 通过两种方式验证不同的校验规则对于读取数据确实存在差异说明字符集和校验规则对数据库影响还是很大的。并且通过这一节从创建数据库开始指定字符集和校验规则如果我们创建的时候指定了就使用指定的不使用默认的。 三 操作数据库查
3.1查看数据库
show databases;3.2 显示创建语句
如果大家想要看创建数据库的时候做了哪些操作可以使用下面语句
show create database 数据库名;数据库名字的反引号,是为了防止使用的数据库名刚好是关键字 /*!40100 default… */ 这个不是注释表示当前mysql版本大于4.01版本就执行这句话 有的时候我们在数据库中来回切换操作不同的表但是此时忘记自己在哪个数据库中可以使用下面语句定位
select database();四、修改数据库改
语法
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name说明
对数据库的修改主要指的是修改数据库的字符集校验规则 因为对于项目数据库就是操作数据的标识所以在开发之前这个数据库名定好了如果在中途修改就会造成其他模块的问题如果这个问题是后面运行的时候出现了那损失就大了所以名字不要随意修改对于表也是一样的。 alter database test1 charsetgbk;//修改字符集修改校验规则也是一样的
alter database test1 collation utf*_bin;在博主这个版本下没有办法修改数据库名称但是在MySQL5.1.7这个版本可以使用RENAME DATABASE db_name TO new_db_name这个语句去修改在5.1.23版本之后就去掉了原因是此语句会造成数据丢失。
五、删除数据库删
语法
DROP DATABASE [IF EXISTS] db_ name;执行删除之后的结果:
数据库内部看不到对应的数据库对应的数据库文件夹被删除级联删除里面的数据表全部被删
注意 不要随意删除数据库
这个很简单就不给大家演示了。
六、备份和恢复
在互联网里面最重要的就是对数据进行操作所以数据是很重要的而数据库又是存储数据的介质所以他的删除是一个非必要不要去做的操作为了避免出现问题我们在删除之前最好先备份一下方便下次恢复出来。
6.1 备份
语法
# mysqldump -P3306 -u root -p 密码 -B 数据库名 数据库备份存储的文件路径mysqldump -P 3306 -u root -p -B test1 MYSQL/test1.sql这个备份文件里面有许多信息都是为了后来的恢复用的。 6.2 恢复
mysql source D:/mysql-5.7.22/mytest.sql;source /root/MYSQL/test1.sql;恢复很简单这个需要指定绝对路径大家如果不清楚自己备份的文件在哪个路径下使用pwd就可以了。 6.3注意事项
如果备份的不是整个数据库而是其中的一张表怎么做
# mysqldump -u root -p 数据库名 表名1 表名2 D:/mytest.sql同时备份多个数据库
# mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据库再使用source来还原,大家看清楚执行备份和恢复的时候在哪个窗口下执行并且恢复的操作都是一样的这个就不给大家演示了。 6.4 查看连接情况
show processlist可以告诉我们当前有哪些用户连接到我们的MySQL如果查出某个用户不是你正常登陆的很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时可以用这个指令来查看数据库连接情况。 七、总结
讲解到这里了我们对于库的操作终于讲解完毕了还是希望大家下来可以自己去多练习一下新东西要多练习才能掌握。大家有不理解的评论区在问博主吧。