欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > MySQL库的操作

MySQL库的操作

2024/12/28 5:57:54 来源:https://blog.csdn.net/qq_44121078/article/details/140088170  浏览:    关键词:MySQL库的操作

文章目录

  • MySQL库的操作
    • 1、创建数据库
    • 2、创建数据库案例
    • 3、字符集和校验规则
      • 3.1、查看系统默认字符集以及校验规则
      • 3.2、查看数据库支持的字符集
      • 3.3、查看数据库支持的字符集校验规则
      • 3.4、校验规则对数据库的影响
    • 4、操纵数据库
      • 4.1、查看数据库
      • 4.2、显示创建语句
      • 4.3、修改数据库
      • 4.4、数据库删除
      • 4.5、数据库的备份和恢复
        • 4.5.1、数据库备份
        • 4.5.2、数据库恢复
    • 5、查看数据库连接情况

img

MySQL库的操作

1、创建数据库

语法:[]是可以省略的。

create database [if not exists] 数据库名 [字符集] [校验规则] ;

其中字符集默认是character-set-server=utf8

校验规则是默认是default-storage-engine=innodb

如果自己想要指定字符集和校验规则,则使用语法:

[字符集]:

character set 字符集名

字符集种类查看:

show character set;
-- 或者 show charset;
-- 指定字符集,一般校验规则也指定了,一一对应

[校验规则]:

collate 校验规则名

校验规则种类查看:

show collation;
-- 指定校验规则,一般字符集也指定了,一一对应

当然,自己也可以默认设置这个字符集和校验规则。

/etc/mysql/mysql.conf.d文件可以设置,如下图:


2、创建数据库案例

  1. 创建一个数据库名为test1的数据库:
create database test1;

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_general_ci

当我们创建了一个数据库,此时/var/lib/mysql文件夹就会新增一个名为test1的文件夹,里面存了字符集和校验规则的db.opt文件,还有其他的关于数据的文件(创建表结构才有,后面再讲)。

  1. 创建一个使用gbk字符集的test2数据库:
create database test2 character set=gbk;
  1. 创建一个使用gbk字符集,并带校对规则的 gbk_chinese_ci 数据库。
create database test3 character set=gbk collate gbk_chinese_ci;

3、字符集和校验规则

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

show variables like 'character_set_database';
show variables like 'collation_database';


3.2、查看数据库支持的字符集

前面有谈到:

show charset;
-- 或者show charater set;

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

前面有谈到:

show collation;

3.4、校验规则对数据库的影响

  • 举例:utf8_general_ciutf8_bin

  • 区分大小:utf8_bin一般来说,带bin后缀的校验规则都区分大小写!

区分大小在查询大小字母的时候,会准确搜索到所需的字母。

比如:当前表中有(‘a’,‘A’,‘b’),查询a的时候,搜索结果是’a’。

排序结果就是按照ASCII码排序。

  • 区分大小:utf8_general_ci

不区分大小在查询大小字母的时候,会准确搜索到所需的字母。

比如:当前表中有(‘a’,‘A’,‘b’),查询a的时候,搜索结果是’a’和’A’。

排序结果就是按照(先把所有小写字母转大写字母,或者把所有大写字母转小写字母)ASCII码排序。


4、操纵数据库

4.1、查看数据库

show databases;

4.2、显示创建语句

show create database 数据库名;

如:

show create database test1;

说明:

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

4.3、修改数据库

语法:

alter database 数据库名 [字符集] [校验规则] ;

说明:对数据库的修改主要指的是修改数据库的字符集,校验规则。

案例:将test1数据库字符集改为gbk,校验规则改为gbk_chinese_ci

alter database test1 character set=gbk collate gbk_chinese_ci;


4.4、数据库删除

语法:

drop database [if exists] 数据库名;

执行删除之后的结果:

  • 数据库内部看不到对应的数据库

  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删

注意:不要随意删除数据库!


4.5、数据库的备份和恢复

4.5.1、数据库备份

语法:

在**命令行(不是数据库里面)**输入:

mysqldump -P 默认端口号 -u 用户名 -p 密码 -B 数据库名 > 文件路径/自定义文件名(.sql后缀)

如:我这数据库服务是没有密码的,直接回车就行,上面密码不指定的话,可以在回车后,自行输入。

mysqldump -P3306 -u root -p -B test1 > /root/MySQL/test1.sql;

我们可以看看这个sql文件内容,其实就是我们创建数据库、建表、导入数据的语句都在这个文件中。


如果备份的不是数据库,而是数据库其中的一张表,那么使用语句:

mysqldump -u root -p [-B] 数据库名 表名1 表名2 > 文件路径/自定义文件名(.sql后缀)

备份多个数据库:

mysqldump -u root -p -B 数据库名1 数据库名2 ... > 文件路径/自定义文件名(.sql后缀)

注意:如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。


4.5.2、数据库恢复
sourse 文件路径/.sql后缀文件

5、查看数据库连接情况

show processlist;

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


OKOK,MySQL哭的操作就到这里,如果你对Linux和C++也感兴趣的话,可以看看我的主页哦。下面是我的github主页,里面记录了我的学习代码和leetcode的一些题的题解,有兴趣的可以看看。

Xpccccc的github主页

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com