MySQL【知识改变命运】01

库的基本操作语法

1:SQL的简介

SQL的全称是:Structured Query Language

是一种结构化语言,

2:SQL的基本分类

DDL【Data Definition Language】 数据定义语⾔,⽤来维护存储数据的结构(库和表级别的)

代表指令: create(创建), drop(删除), alter(改变,改动)

• DML【Data Manipulation Language】 数据操纵语⾔,⽤来对数据进⾏操作

代表指令: insert(插入),delete(删除),update(更新),select(选择)

DCL【Data Control Language】 数据控制语⾔,主要负责权限管理和事务

代表指令: grant(授予),revoke(撤销),commit(委托)

3:库的基本操作

1:查看库

语法: show databases;

注意:databases是复数 大小写不敏感

注意分号结尾

2:创建数据库

sql 复制代码
> 语法:CREATE {DATABASE |SCHEMA } [IF NOT EXISTS] db_name [create_option] ...
> create_option:[DEFAULT] {
>	 CHAEACTER SET [=] charset_name
> 	| COLLATE [=] collation_name 
> 	|ENCRYPTION [=] {'Y' | 'N' }
> }
> ⼤写部分表⽰关键字
• db_name:表⽰⾃定义的数据库名
• {}⼤插号表⽰必须选
• | 表⽰任选其中⼀个
• []中括号表⽰是可选项
CHARACTER SET:指定数据库采⽤的字符集编码
• COLLATE:指定数据库字符集的校验规则
• ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项

1:创建一个diayang库

我们再次创建就会出错,因为苦库中已经有一个代名为daiyang的库了

2: ⾃定义⼀个数据库名,如果数据库不存则创建,

这种写法如果没有daiyang这个库就创建一个,如果有,就不创建,报一个警告,这样写的好处是为了方式,sql语句中断

3:查看警告信息

sql 复制代码
show warnings

提示名为daiyang的库已经存在了

数据库创建成功后,会在数据⽬录下⽣成⼀个与数据库同名的⽬录,⽤于保存数据库中所有的数据

4:字符集编码和校验(排序)规则

4.1:查看数据库⽀持的字符集编码
sql 复制代码
show charset;

MySQL8.0默认的字符集编码是 utf8mb4 ,MySQL5.7默认的字符集是 latin1

4.2:查看数据库⽀持的排序规则
sql 复制代码
show collation;

MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci , MySQL5.7默认排序规则是

utf8mb4_general_ci

4.3不同的字串集与排序规则对数据库的影响

• utf8mb4_0900_ai_ci 是MySQL8.0引⼊的新规则,在⽼版本中不能识别; • utf8mb4 编码是对 Unicode

字符集的⼀种实现,⽤1到4个字节表⽰⼀个字符,可以表⽰世界上 ⼏乎所有的字符,⽽且更节少空间 • 0900 是基于 UCA

9.0.0算法,UCA是Unicode Collation Algorithm的缩写 • ai是Accent-insensitive的缩写,表⽰⼝声不敏感 • ci是Case-insensitive的缩写表⽰⼤⼩写不敏感 •

as是Accent-sensitive的缩写,表⽰⼝声敏感 • cs是Case-sensitive的缩写,表⽰⼤⼩写敏感 •

bin表⽰⼆进制 在学习完排序之后,可以通过⽰例观察不同排序规则对于⼤⼩写的影响

4.4 查看系统默认字符集和排序规则

4.4: 查看系统默认字符集和系统默认排序规则
sql 复制代码
show variables like '%character%';
sql 复制代码
show variables like '%collation%';
4.5:创建数据库时指定字符集和检验规则

创建⼀个库名为班级名one,字符编码集为 utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据

库,数据库不存在时则创建

sql 复制代码
create database if not exists one character set utf8mb4 collate utf8mb4_0900_ai_ci;

3: 查看创建语句

sql 复制代码
show create database db_name;
sql 复制代码
mysql> show create database one;
+----------+-------------------------------------------------------------------
---------------------------------------------------------------+
| Database | Create Database 
 |
+----------+-------------------------------------------------------------------
------------
| one | CREATE DATABASE `one` /*!40100 DEFAULT CHARACTER SET utf8mb4 
COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+-------------------------------------------------------------------
-------------
1 row in set (0.01 sec)
1

/!40100 default... / 和/!80016 DEFAULT... / 这个不是注释,表⽰当前mysql版本⼤于4.01和

8.0.16时,分别执⾏对应的语句

创建一个名为database的数据库怎么创建呢?
数据库名字的反引号``,是为了防⽌使⽤的数据库名刚好是关键字

反引号在TAB健的上面1健的左边;

4:修改数据库

sql 复制代码
ALTER {DATABASE | SCHEMA} [db_name]
 alter_option ...
alter_option: {
 [DEFAULT] CHARACTER SET [=] charset_name
 | [DEFAULT] COLLATE [=] collation_name
 | [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
 | READ ONLY [=] {DEFAULT | 0 | 1}
}

对数据库的修改主要是修改数据库的字符集,校验规则
将one的数据库字符集改成gbk

5:删除数据库

sql 复制代码
DROP {DATABASE | SCHEMA } [IF EXISTE] db_name


注意事项
• 删除数据库是⼀个危险操作,不要随意删除数据库
• 删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除

相关推荐
佩亚诺余项.几秒前
SQL Server 系统视图深度应用:批量检索含关键字的存储过程与数据表字段
数据库
小尔¥13 分钟前
MySQL故障排查与优化
运维·数据库·mysql
rrrjqy18 分钟前
Redis常见问题(一)
数据库·redis·缓存
Humbunklung19 分钟前
WMO 天气代码(Code Table 4677)深度解析与应用报告
开发语言·数据库·python
道清茗29 分钟前
【MySQL知识点问答题】锁机制、索引优化与数据库恢复方法
数据库·mysql
hero.fei41 分钟前
排查redis出现报错ERR redis temporary failure
数据库·redis·缓存
野犬寒鸦1 小时前
MySQL复习记录Day01
数据库·后端
ward RINL1 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
RisunJan1 小时前
Linux命令-mysqldump(MySQL数据库中备份工具)
linux·数据库·mysql
DolphinDB智臾科技1 小时前
直播回顾 | 物联网时序数据库如何驱动电力场景智能调度?
数据库·物联网·时序数据库