MySQL-数据库的操作

1. 创建数据库

创建数据库的语法

create database [if not exists] db_name [create_specification [,
create_specification] ...]

create_specification中:
 [DEFAULT] CHARACTER SET + charset_name
 [DEFAULT] COLLATE + collation_name
# 说明:
# [] 是可选项
# if not exists表示数据库不存在就创建
# CHARACTER SET: 指定数据库采用的字符集
# COLLATE: 指定数据库字符集的校验规则
  • 创建名为 d1 的数据库
create database d1;

注意:

  • 创建数据库的本质是在Linux文件系统var/lib/mysql下创建一个目录,当然我们是可以以root用户的身份直接在var/lib/mysql下创建一个目录的,但是非常不建议自己直接去操作!
  • 当我们创建数据库没有指定字符集和校验规则时,系统使用配置文件中默认的字符集:utf8,校验规则是:utf8_ general_ ci。
  • 创建一个使用utf8字符集的 d2 数据库
create database d2 charset=utf8;
create database d2 character set utf8; # 另一种写法
  • 创建一个使用utf8字符集,并带校对规则的 d3 数据库。
create database d3 charset=utf8 collate utf8_general_ci;
  • 不是用系统默认的,创建自定义字符集和校对规则的数据库
create database d4 charset=gbk collate gbk_chinese_ci;

查看该数据库的编码格式和校验规则:
在这里插入图片描述

2. 字符集和校验规则

创建数据库的时候有两个编码集:
1,数据库编码集:数据库存储数据使用的编码集
2,数据库校验集:以正确的格式读取数据库中的数据,并对数据库进行字段比较的编码,本质也是一种读取数据库中的数据采用的编码格式。

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

show variables like 'character_set_database'; # 查看系统默认字符集
show variables like 'collation_database'; # 查看系统默认校验规则

查看系统默认字符集:
在这里插入图片描述
查看系统默认校验规则:
在这里插入图片描述

2.2 查看数据库支持的字符集and字符集校验规则

show charset; # 查看数据库支持的字符集
show collation; # 查看数据库支持的字符集校验规则

2.3 校验规则对数据库的影响

下面用两个样例说明校验规则对数据库的影响:

第一个样例:使用校验规则为utf8_general_ci(不区分大小写)

# 创建test1数据库
create database test1 collate utf8_general_ci;

# 创建表之前要use
use test1;

# 创建表, 表里的成员是name, 类型是varchar, 字符个数是20, []是可选项
create table [if not exists] person(name varchar(20)); 

# 查看表项
show tables;

# 向表中插入数据, 向person表的name列插入数据
insert into person (name) values('a');
insert into person (name) values('A');
insert into person (name) values('b');
insert into person (name) values('B');
insert into person (name) values('c');
insert into person (name) values('C');

# 查询表中的所有数据
select * from person;

# 给select设置限制条件: 只查询出字符'a'的数据
select * from person where name='a'

# 给person表的name列数据进行排序
select * from person order by name;

如下,由于校验规则utf8_general_ci是不区分大小写的
在这里插入图片描述
因此比较读取表中的字符’a’会连同’A’一起显示出来
在这里插入图片描述
如果是对表中的数据进行排序,'a’和’A’大小不做区分
在这里插入图片描述

第二个样例:使用校验规则为utf8_ bin(区分大小写)

具体的操作步骤和上面的一样,实验结果如下:
取出字符’a’
在这里插入图片描述
对name进行排序:
在这里插入图片描述

3. 查看数据库

show databases;

4. 删除数据库

drop database [IF EXISTS] db_ name;

执行删除之后的结果:
database内部看不到对应的数据库;对应的数据库文件夹被删除,级联删除,里面的数据表全部被删,所以不要随意删除数据库!

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值