🌅 DDL数据定义语言
## DDL什么意思?
DDL是数据定义语言,用来定义数据库对象(数据库、表、字段)
# DDL-数据库操作
## 查询数据库
`SHOW DATABASES;` 查询所有数据库
`SELECT DATABASE();` 查询当前数据库
## 创建数据库
`CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];`
> `[IF NOT EXISTS]` 不存在则创建 存在则不创建
>例:`CREATE DATABASE IF NOT EXISTS mysqlName;`
>`[DEFAULT CHARSET 字符集]` 设置字符集
>例:`CREATE DATABASE mysqlName DEFAULT CHARSET utf8mb4;`
## 删除数据库
`DROP DATABASE [IF EXISTS] 数据库名;`
> [IF EXLSTS] 存在则删除 :不存在时不会报错了
## 使用数据库
`USE 数据库名;`
# DDL-表操作
## 查询表
`SHOW TABLES;` 查询当前数据库所有表
`DESC 表名;` 查询表结构
`SHOW CREATE TABLE 表名;` 查询指定表的建表语句
## 创建表
```
CREATE TABLE 表名(
字段1 字段1类型 [COMMENT 字段注释],
字段2 字段2类型 [COMMENT 字段注释],
字段3 字段3类型 [COMMENT 字段注释],
·······
字段n 字段n类型 [COMMENT 字段注释]
)[COMMENT 表注释];
```
[⛄ 数据类型](doc:M4jlHL5c)
## 修改表
添加字段
`ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];`
修改数据类型
`ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);`
修改字段名和字段类型
`ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];`
删除字段
`ALTER TABLE 表名 DROP 字段名;`
修改表名
`ALTER TABLE 表名 RENAME TO 新表名;`
## 删除表
`DROP TABLE [IF EXLSTS] 表名;` 删除表
`TRUNCATE TABLE 表名;` 删除指定表,并重新创建该表