【MySQL篇】MySQL操作库

目录

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。

相关推荐
茂茂在长安15 分钟前
JAVA面试常见题_基础部分_Mysql调优
java·mysql·面试
enyp8025 分钟前
qt QTreeWidget`总结
开发语言·数据库·qt
神仙别闹1 小时前
基于C#+SQL Server设计与实现的教学管理信息系统
java·数据库·c#
帅维维1 小时前
SQL*PLUS命令
数据库·sql
m0_748245521 小时前
简易图书管理系统——MYsql+Javase+JDBC
数据库·mysql
帅的飞起来2 小时前
MySQL索引失效
数据库·mysql
Joshuahgk2 小时前
MySQL 入门“鸡”础
数据库·python·mysql
_GR2 小时前
Redis存储⑫哨兵Sentinel_高可用实现方案
数据库·redis·缓存
计算机毕设指导62 小时前
基于Springboot的游戏分享网站【附源码】
java·spring boot·后端·mysql·spring·游戏·maven
羊小猪~~2 小时前
基于C++“简单且有效”的“数据库连接池”
java·开发语言·前端·数据库·c++·后端·adb