DDL
定义数据库、表、列 关键字:create、 drop、 alter
数据库
- 内容:
- 登录——>>
- 创建数据库
直接创建 CREATE DATABASE 数据库名;
[见名之意]
例:创建数据库 CREATE DATABASE Person;[数据库名无法重复]
判断是否存在并创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名;
此语句后续语句会继续运行,可还原
创建数据库并指定字符集[编码表]
CREATE DATABASE 数据库名 CHARACTER SET 字符集[默认UTF-8[GBK] - 查看数据库
查看所有数据库 SHOW DATABASES;[单个删去s——错误]
除了自己建立的数据库其他不能删除!
查看数据库的定义信息 SHOW CREATE DATABASE 数据库名;
]; - 修改数据库
修改数据库字符集格式 ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集; - 删除数据库 DROP DATABASE 数据库名;
- 使用数据库
查看正在使用的数据库 SELECT DATABASE();
使用/切换数据库 USE 数据库名;
[先使用要更改的数据库,之后再使用其他数据库的操作,即切换数据库]
表
- 内容:
- 先使用数据库——>>
- 创建表
直接创建 CREATE TABLE 表名(字段1,字段类型1;…,字段n,字段类型n);[最好分行]
[如果是字符串类型后需加括号]
[数据类型:
int = 整形
double = 浮点型
varchar() = 字符串型
char() = 字符型
data = 日期类型[yyyy-xx-dd]
]
快速创建一个表结构相同的表 CREATE TABLE 新表名 LIKE 旧表名; - 查看表
查看所有表 SHOW TABLE;
查看表结构 DESC 表名;
运行结果
mysql> DESC student1;
±------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------±------------±-----±----±--------±------+
| id | int | YES | | NULL | |
| name | varchar(10) | YES | | NULL | |
| sex | char(1) | YES | | NULL | |
| age | int | YES | | NULL | |
±------±------------±-----±----±--------±------+
4 rows in set (0.00 sec)
- 接上~
查看创建表的sql语句 SHOW CREATE TABLE 表名;
运行结果
mysql> SHOW CREATE TABLE student1;
±---------±----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
±---------±----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| student1 | CREATE TABLEstudent1
(
id
int DEFAULT NULL,
name
varchar(10) DEFAULT NULL,
sex
char(1) DEFAULT NULL,
age
int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
±---------±----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
- 接上~
- 删除表
直接删除 DROP TABLE 表名;
判断是否存在并删除表 DROP TABLE IF EXISTS 表名; - 修改表结构
[即用即查]
添加表列 ALTER TABLE 表名 ADD 列名 类型;
修改列类型 ALTER TABLE 表名 MODIF 列名 新类型;
修改列名 ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
删除列 ALTER TABLE 表名 DROP 列名;
修改表名 RENAME TABLE 旧表名 TO 新表名;
修改字符集 ALTER TABLE 表名 CHARACTER SET 字符集;
- 删除表