【MySQL篇】MySQL操作库

发布于:2025-02-26 ⋅ 阅读:(16) ⋅ 点赞:(0)

目录

1,创建数据库

 2,字符集和校验规则

2.1,查看系统默认字符集和校验规则 

2.2,查看数据库支持的字符集 

2.3,查看数据库支持的字符集校验规则而

 2.4,校验规则对数据库的影响 

3,操作数据库 

3.1,查看数据库

3.2,显示创建语句 

3.3,修改数据库 

 3.4,删除数据库

3.5,备份和恢复 

3.6,注意事项

3.7,查看连接情况 


1,创建数据库

语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation

说明:

  • 大写的表示关键字
  • [ ]是可选项
  • CHARACTER SET:指定数据库采用的字符集
  • COLLATE:指定数据库字符集的校验规则 

案例:

  • 创建名为db1的数据库

create database db1;

create database if not exits db2;

//不区分大小写,与校验规则有关

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

  • 创建一个字符集为utf8的数据库

create database db2 charset=utf8; 

  •  创建一个字符集为utf8,并带校验规则的数据库

create database db3 charset=utf8  collate=utf8_general_ci;

创建数据库,在lunix层面就是在 /var/lib/mysql路径下创建一个目录。 

 2,字符集和校验规则

创建数据库的时候,有两个编码集:

  • 字符集(Character Set)数据库中用来存储数据的字符编码方式,比如UTF-8、GBK、Latin1等。不同的字符集支持不同的字符范围和存储方式。例如,UTF-8可以支持多语言字符,而Latin1主要支持西欧语言。选择合适的字符集对于确保数据正确存储和显示非常重要。
  • 校验规则(Collation):它决定了字符比较和排序的方式校验规则通常与字符集相关联,不同的校验规则会影响字符串比较的结果,比如是否区分大小写、是否区分重音符号等。例如,在utf8_general_ci校验规则下,字符串比较时不区分大小写,而在utf8_bin下则会区分大小写,因为后者是基于二进制值进行比较的。
  • 数据库无论对数据做任何操作,都必须保证字符集和校验规则编码一致。

在我们创建一个数据库后,在linux下,就是在var/lib/mysql路径下创建一个目录,在该目录下,有一个文件db.opt,该文件有该数据库采用的字符集和校验规则。

2.1,查看系统默认字符集和校验规则 

show variables like 'character_set_database';

show variables like 'collation_database';

 

 

2.2,查看数据库支持的字符集 

show charset;

2.3,查看数据库支持的字符集校验规则而

show collation;

 2.4,校验规则对数据库的影响 

  • 不区分大小写

创建一个数据库,使用utf8_general_ci校验规则不区分大小写

create database test1 collate utf8_general_ci;

  • 区分大小写 

创建一个数据库,使用utf8_bin校验规则不区分大小写

create database test2 collate utf8_bin;

3,操作数据库 

3.1,查看数据库

show databases;

3.2,显示创建语句 

show create database 数据库名; 

示例:

show create database test1; 

说明:

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

3.3,修改数据库 

语法:

ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

说明:

对数据库的修改主要 指的是修改数据库的字符集和校验规则

示例:

将test1数据库的字符集改成gbk

alter database test1 charset=gbk  collate  gbk_chinese_ci;

 

 3.4,删除数据库

 drop database if exits 数据库名;

3.5,备份和恢复 

备份

语法:

mysqldump -p3306 -u root -p  密码  -B 数据库名 > 数据库备份存储的路径

示例: 

 

这里我们对数据库进行备份,备份文件test.sql中,其实会把 整个创建数据库,建表,导入数据的语句都装载到这个文件。


恢复

语法:

source 数据库备份存储的路径

示例:

将数据库test1删除后,开始还原:

3.6,注意事项

  • 如果备份的不是数据库,而是数据库中的表:

mysqldump -p3306 -u root -p  密码   数据库名  表名1  表明2 > 数据库备份存储的路径

  •  同时备份多个数据库

mysqldump -p3306 -u root -p  密码  -B 数据库名1  数据库名2  > 数据库备份存储的路径

  • 如果备份数据库时没有带上-B选项,再恢复的时候,就需要先创建数据库,再sourse恢复。

3.7,查看连接情况 

语法:

show processlist;

 

 可以查看当前那些用户连接到我们的MySQL。