时间:2023-10-27来源:系统城装机大师作者:佚名
1 2 3 4 5 |
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [ DEFAULT ] CHARACTER SET charset_name [ DEFAULT ] COLLATE collation_name |
创建数据库的时候,有两个编码集:
1.数据库编码集——数据库未来存储数据
2.数据库校验集——支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式
数据库无论对数据做任何操作,都必须保证操作和编码必须是匹配的的,防止乱码
1 2 |
show variables like 'character_set_database' ;//查看默认字符集 show variables like 'collation_database' ;//查看默认校验规则 |
show charset; 查看数据库支持的字符集
show collation; 查看数据库支持的字符集校验规则
if not exists:如果不存在就创建,存在就返回waring
关键语句
1 | charset=utf8/设置字符集*/ collate utf8_general_ci/*设置校验规则*/ |
上篇文章中说道数据库的本质就是一个目录,那么直接在指定文件夹下建立一个目录通过show databases
也是可以查到的,但是不建议这么做
前面提到了show databases
显示mysql下的所有数据库
1 | show create database 数据库名; |
/…/不是注释,他表示如果mysql版本大于4.01,d2创建语句就变成了
CREATE DATABASE
d2 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
1 | select database (); |
1 2 3 4 5 |
ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [ DEFAULT ] CHARACTER SET charset_name [ DEFAULT ] COLLATE collation_name |
对数据库的修改主要指的是修改数据库的字符集,校验规则
如下图,数据库d2原本校验编码是utf8_bin,通过ALTER修改其校验码为utf8
如果存在数据库,就删除
1 | DROP DATABASE [IF EXISTS] db_ name ; |
执行删除之后的结果:
数据库内部看不到对应的数据库对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
注意:不要随意删除数据库,否则你就会成为3个月获得60万的男人
前面提到的编码集在数据库中有什么作用呢?通过一个案例观察一下
创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
区分大小写的查询以及结果[utf8_ bin]
前面说道,数据库的本质就是linux下一个文件目录,最简单的方法就是直接复制那个目录,但是这种方式可移植性不太好,下面来介绍一下常用的备份方式
1 | mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径 |
第一步:备份数据库
sql文件里不仅仅备份了数据库内的数据,之前的有效操作也一并备份了
第二步:删除数据库
第三步:恢复数据库
1 | mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql |
1 | mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径 |
如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库,然后使用(use db_name)数据库,再使用source来还原
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30