# 创建数据库,库名较长可用下划线间隔
create database [if not exists] db_name
# 指定字符集,不写则默认utf8
[default] character set utf8
# 指定校对规则,默认utf8_general_ci
[default] collate utf8_general_ci;
注释
if not exits: 如果不存在则创建
db_name: 数据库名
[] 注解,表示可写可不写
``:反引号,规避关键字;
character set:指定数据库采用的字符集
默认utf-8
MySQL8.0 开始默认字符集为 utf8mb4
utf8mb4 是 utf8 的超集、支持 Emoji 表情
utf8:只使用 1~3 个字节表示字符
utf8mb4:使用 1~4 个字节表示字符
mysql8.0 版本不要使用 char 类型,统一使用 varchar
collate:指定数据库字符集的校对规则
utf8_general_ci:忽略大小写,默认使用utf8_bin:区分大小写sql 语句不区分大小写,数据内容区分大小写show databases; # 显示所有数据库
select database(); # 查看当前使用数据库
select version(); # 查看 myslq 版本号
show create database db_name; # 显示数据库创建语句
# 查看数据库字符集
show variables like 'character%';
show variables like '%char%';
# 修改数据库字符集
alter database db_name character set 'utf8mb4';
# 查看数据库支持的字符集类型
SHOW CHARACTER SET;
select * from information_schema.CHARACTER_SETS;
# 删除数据库
drop database [if exists] db_name;
四个级别:server级、database级、table级、column级
character_set_server :服务器级别的字符集
启动服务器程序时通过启动选项,或服务器程序运行过程中,使用 SET 语句修改
在配置文件中修改
[server]
character_set_server=gbk
collation_server=gbk_chinese_ci
# 服务器启动时读取配置文件,两个系统变量的值修改完成
character_set_database:当前数据库的字符集
character set 字符集名称:指定表的字符集和比较规则
CHARACTER SET 字符集名称:指定列的字符集和比较规则
六个关键位置使用字符集概念:client 、connection、database、results、server、system
client:客户端使用的字符集,相当于网页中的字符集
connection:连接数据库的 MySQL 字符集设置类型
database:某个库使用的字符集设定
results:数据库给客户端返回时使用的 MySQL 字符集设定
server:服务器安装时指定的默认字符集设定
system:数据库系统使用的字符集设定
默认
创建或修改列 没有显式指定字符集和比较规则,则该列 默认用表的 字符集和比较规则创建表 没有显式指定字符集和比较规则,则该表 默认用数据库的 字符集和比较规则创建数据库时 没有显式指定字符集和比较规则,则该数据库 默认用服务器的 字符集和比较规则大小写规范
Linux 下大小写规则
Windows 的环境下全部不区分大小写
utf-8
utf8mb4
utf8mb4 是 utf8 的超集、支持 Emoji 表情
utf8:只使用 1~3 个字节表示字符utf8mb4:使用 1~4 个字节表示字符mysql8.0 版本不要使用 char 类型,统一使用 varcharmy.ini 文件中 [mysql] 项下添加参数
default-character-set=utf8character-set-server=utf8default-character-set=utf8# dos命令备份,文件名可以带路径
mysqldump -u 用户名 -p密码 -B 数据库1 数据库2 数据库n > 文件名.sql
# 备份数据库中具体的表,不写-B(B:表示数据库)
mysqldump -u 用户名 -p密码 - 数据库 表1 表2 表n > 文件名.sql
-- 恢复数据库
# 进入 MySQL 命令行执行,先在 dos 窗口登录 MySQL
Source 文件名.sql
# navicat 中右键数据库转储 SQL 文件可以备份数据库
# 右键运行 SQL 文件可以恢复数据