MySQL——数据库操作攻略

目录

一:本节⽬标

二:查看数据库

2.1语法

[三: 创建数据库](#三: 创建数据库)

3.1语法

3.2实例

[3.2.1 创建⼀个名为java116的数据库](#3.2.1 创建⼀个名为java116的数据库)

[3.2.2 重新运⾏上⾯的语句观察现象](#3.2.2 重新运⾏上⾯的语句观察现象)

3.2.3使用if语句

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

[4.1 查看数据库⽀持的字符集编码](#4.1 查看数据库⽀持的字符集编码)

[4.2 查看数据库⽀持的排序规则](#4.2 查看数据库⽀持的排序规则)

[4.3 不同的字串集与排序规则对数据库的影响](#4.3 不同的字串集与排序规则对数据库的影响)

4.4创建数据库时指定字符集和检验规则

五:查看创建语句

[5.1 语法](#5.1 语法)

[5.2 ⽰例](#5.2 ⽰例)

六:修改数据库

[6.1 语法](#6.1 语法)

6.2实例

七:删除数据库

7.1语法

7.2实例

[7.3 注意事项](#7.3 注意事项)


一:本节⽬标

掌握创建、查看、修改和删除数据库

了解字符集编码和排序规则

二:查看数据库

2.1语法

show databases;

查看当前已有的数据库。

注意:

databases是复数形式

⼤⼩写不敏感,不区分大小写

在MySQL中每条语句以分号结尾。
information_schema
mysql
performance_schema

sys

以上四个是系统库,记录的是MySQL自身的一些信息和配置项。注意:如果出现问题数据库可能无法启动

三: 创建数据库

3.1语法

sql 复制代码
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}

DATABASE | SCHEMA 任选其一 但我们常用database

⼤写部分表⽰关键字

db_name:表⽰⾃定义的数据库名(英文别用中文)

{}⼤插号表⽰必须选

| 表⽰任选其中⼀个

\]中括号表⽰是可选项(可有可无) CHARACTER SET:指定数据库采⽤的字符集编码 COLLATE:指定数据库字符集的校验规则 ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项

3.2实例

3.2.1 创建⼀个名为java116的数据库

出现Query Ok就是数据库创建成功

然后我们查看一下:

我们查看当前数据库就出现了java116;

3.2.2 重新运⾏上⾯的语句观察现象

错误信息:不能创建java116库,库存在

3.2.3使用if语句

如果不存在java116库则创建,这个语句是对的,但是出现了一个警告信息 warning,然后我们来查看一下这个警告:

打印警告信息:还是不能创建java116库,因为库存在

所以我们每次创建数据库都要加上。

小技巧:如果我们要结束当前的输入,另起新行 ctrl+c。

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

4.1 查看数据库⽀持的字符集编码

sql 复制代码
show charset;

MySQL8.0默认的字符集编码是 utf8mb4 (最长用4个字节来表示一个字符) ,MySQL5.7默认的字符集是 latin1

如果以后中文字符报错,就要看看字符集编码设置utf8mb4。
通常中文占3个字节

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创建数据库时指定字符集和检验规则

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

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

数据库创建成功之后,在数据⽬录下会⽣成⼀个与数据库同名的⽬录,数据库中的所有数据都保存在这个⽬录下
注意注意:以后创建数据库都要按照这个标准创建。

五:查看创建语句

5.1 语法

sql 复制代码
show create database db_name;

5.2 ⽰例


出现test_db 的属性 编码方式 排序方式。

六:修改数据库

6.1 语法

sql 复制代码
ALTER {DATABASE | SCHEMA} [db_name];

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

不建议修改,还不如重新创建一个数据库。

6.2实例

把test_db的编码方式修改为jbk

然后我们重新查看一下test_db的属性

数据库的编码方式就被修改为gbk。
小技巧:按住上下键,得到上一句命令行

七:删除数据库

7.1语法

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

7.2实例

删除数据库语句,我们也可以做一个判断,如果存在就删除。

我们重新查看一下数据库,就没有test_db库。

7.3 注意事项

删除数据库是⼀个危险操作,不要随意删除数据库

删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除

删除数据库之后,使⽤show databases; 语句查看不到对应的数据库
删除后能找回吗?

1:定期对数据进行备份 全量备份,增量备份

2:通过日志进行恢复(对数据的增删改都会被记录)

3:对磁盘进行物理恢复(对数据进行覆盖,下标向前)

相关推荐
krielwus4 小时前
Oracle ORA-01653 错误检查以及解决笔记
数据库·oracle
Wadli4 小时前
csdn| MySQL
数据库·mysql
程序员水自流4 小时前
MySQL InnoDB存储引擎关键核心特性详细介绍
java·数据库·mysql
-雷阵雨-4 小时前
MySQL——表的操作
数据库·mysql
阿巴~阿巴~4 小时前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
想睡hhh5 小时前
mysql表的操作——mysql表的约束
数据库·mysql
shaohaoyongchuang5 小时前
9-mysql编程
数据库
m0”-“0m5 小时前
MySQL、Nignx和Docker在Linux上的安装详解
linux·数据库·mysql
野犬寒鸦5 小时前
从零起步学习Redis || 第十章:主从复制的实现流程与常见问题处理方案深层解析
java·服务器·数据库·redis·后端·缓存