国庆节10月1日
--


DDL数据定义语言:数据库与表结构的创建、查询、修改、删除操作
DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库、表)。
| 分类 | 全称 | 说明 |
|---|---|---|
| DDL | Data Definition Language | 数据定义语言,定义数据库/表 |
| DML | Data Manipulation Language | 数据操作语言,增删改数据 |
| DQL | Data Query Language | 数据查询语言,查询数据 |
| DCL | Data Control Language | 数据控制语言,权限管理 |
1-- 查询所有数据库2SHOW DATABASES;3
4-- 查询当前数据库5SELECT DATABASE();6
7-- 创建数据库(不存在则创建,指定字符集)8CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET utf8mb4];9
10-- 使用/切换数据库11USE 数据库名;12
13-- 删除数据库(存在则删除)14DROP DATABASE [IF EXISTS] 数据库名;
DATABASE可替换为SCHEMA,如CREATE SCHEMA db01;、SHOW SCHEMAS;
1CREATE TABLE 表名(2 字段1 字段1类型 [约束] [COMMENT '注释'],3 字段2 字段2类型 [约束] [COMMENT '注释'],4 ...5 字段n 字段n类型 [约束] [COMMENT '注释']6) [COMMENT '表注释'];示例:
1CREATE TABLE tb_user (2 id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID,唯一标识',3 username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',4 name VARCHAR(10) NOT NULL COMMENT '姓名',5 age INT COMMENT '年龄',6 gender CHAR(1) DEFAULT '男' COMMENT '性别'7) COMMENT '用户表';| 约束 | 关键字 | 描述 |
|---|---|---|
| 非空 | NOT NULL | 字段值不能为 NULL |
| 唯一 | UNIQUE | 字段值不能重复 |
| 主键 | PRIMARY KEY | 唯一标识一行记录(非空且唯一) |
| 默认值 | DEFAULT | 未指定值时使用默认值 |
| 外键 | FOREIGN KEY | 关联其他表的主键 |
主键自增:AUTO_INCREMENT,插入时自动生成递增的 ID 值,从 1 开始。
数值类型:
| 类型 | 大小 | 用途 |
|---|---|---|
| TINYINT | 1 byte | 小整数值 |
| INT / INTEGER | 4 bytes | 大整数值 |
| BIGINT | 8 bytes | 极大整数值 |
| FLOAT | 4 bytes | 单精度浮点 |
| DOUBLE | 8 bytes | 双精度浮点 |
示例:age TINYINT UNSIGNED、score DOUBLE(4,1)
字符串类型:
| 类型 | 说明 |
|---|---|
| CHAR(N) | 定长字符串,性能高 |
| VARCHAR(N) | 变长字符串,按实际长度存储 |
示例:username VARCHAR(50)、phone CHAR(11)
日期时间类型:
| 类型 | 格式 | 说明 |
|---|---|---|
| DATE | YYYY-MM-DD | 日期 |
| TIME | HH:MM | 时间 |
| DATETIME | YYYY-MM-DD HH:MM | 日期时间 |
| TIMESTAMP | 时间戳 | 自动记录时间 |
示例:birthday DATE、create_time DATETIME
1-- 查询当前数据库所有表2SHOW TABLES;3
4-- 查看表结构5DESC 表名;6
7-- 查看建表语句8SHOW CREATE TABLE 表名;9
10-- 添加字段11ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT '注释'] [约束];12
13-- 修改字段类型14ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);15
16-- 修改字段名+类型17ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT '注释'] [约束];18
19-- 删除字段20ALTER TABLE 表名 DROP 字段名;21
22-- 修改表名23RENAME TABLE 表名 TO 新表名;24
25-- 删除表(含数据)26DROP TABLE [IF EXISTS] 表名;id(主键自增)、create_time、update_time1CREATE TABLE emp(2 id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT 'ID,主键',3 username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',4 password VARCHAR(32) NOT NULL COMMENT '密码',5 name VARCHAR(10) NOT NULL COMMENT '姓名',6 gender TINYINT UNSIGNED NOT NULL COMMENT '性别, 1:男, 2:女',7 phone CHAR(11) NOT NULL UNIQUE COMMENT '手机号',8 job TINYINT UNSIGNED COMMENT '职位, 1:班主任,2:讲师,3:学工主管,4:教研主管,5:咨询师',9 salary INT UNSIGNED COMMENT '薪资',10 image VARCHAR(255) COMMENT '头像',11 entry_date DATE COMMENT '入职日期',12 create_time DATETIME COMMENT '创建时间',13 update_time DATETIME COMMENT '修改时间'14) COMMENT '员工表';utf8mb4,创建数据库时可不额外指定。id 字段应使用 PRIMARY KEY AUTO_INCREMENT 保证唯一性,避免手动维护。DROP TABLE 会同时删除表中所有数据,不可恢复。如果你喜欢,那么欢迎来到我的世界!
了解更多暂未播放



"所有的相遇都是久别重逢。"—— 未知


