SQL命令-DDL
- DDL(数据定义语言)是用来定义数据结构,完成数据库对象的创建(CREATE)、修改(ALTER)、删除(DROP)
- 创建数据库语法:
CREATE DATABASE 数据库名称 - 查看已有的数据库:
SHOW DATABASES - 使用已创建的数据库:
USE 数据库名称
数据库命名规范
- 在使用CREATE语句创建数据库实例时,要求满足数据库命名规范:
- 数据库名称不能重复
- 数据库命名可以使用字母、数字和下划线,不能出现其他字符
- 数据库命名不能超过30个字符
- 数据库命名不能与系统关键字冲突
- 数据库命名尽量有意义,比如体现数据库属于哪个系统使用
指定字符集
- 创建数据库时,有时为了避免乱码,需要指定字符集
- 语法:
CREATE DATABASE 数据库名 DEFAULT CHARACTER SET 字符集 COLLATE 校对集 - 例子:
CREATE DATABASE test_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci - 查看MySQL支持的字符集命令:
SHOW CHARACTER SET - 查看MySQL字符集支持的校对集命令:
SHOW COLLATION
image.png
创建数据表
-
创建数据表语法:
CREATE TABLE 表名(属性名称数据类型,......)
image.png 查看已有的数据表命令:
SHOW TABLES查看已创建的数据表属性命令:
DESC 表名
MySQL数据库支持的数据类型
- 整型INT,在MySQL数据库支持存储最大10位整数
- 浮点型FLOAT(m,d),m表示数据总长度,d表示小数位数
- 字符串CHAR(m),VARCHAR(m),m表示字符串数据的总长度
- 时间日期
- DATE,日期,格式:2019-01-01
- TIME,时间,格式:09:30:30
- DATETIME,日期和时间,格式:2019-01-01 09:30:30
- TIMESTAMP,自动存储当前系统日期和时间
- enum数据类型、set数据类型
-
当数据表中的属性定义为这两种类型时,代表只能从指定的集合中取值
image.png -
它们之间的区别是:
- enum类型只能取一个值,set类型可以取多个值
- enum数据类型定义的集合最多允许有65535个成员值
- set数据类型定义的集合最多允许有64个成员值
修改数据库
-
alter命令来完成数据库的修改,一般是修改数据库的字符集和校对集 - 语法:
ALTER DATABASE 数据库名称 DEFAULT CHARACTER SET 字符集 COLLATE 校对集
修改数据表
- 新增属性语法:
ALTER TABLE 表名 ADD 属性名称 数据类型
- 例子:
ALTER TABLE test_table ADD name VARCHAR(20);
- 修改属性
- 语法:
ALTER TABLE 表名 MODIFY 属性名称 数据类型 - 语法:
ALTER TABLE 表名 CHANGE 属性名称 属性名称 数据类型 - 例子:
ALTER TABLE test_tableMODIFY name VARCHAR(20);ALTER TABLE test_tableCHANGE name name2 VARCHAR(20);
删除数据表属性
- 语法:
ALTER TABLE 表名 DROP 属性名称 - 例子:
ALTER TABLE test_table DROP name; - 如果表中只有一个属性,不允许删除
修改表名
- 语法:
ALTER TABLE 表名 RENAME TO 新表名 - 语法:
RENAME TABLE 原表名 TO 新表名 - 例子:
ALTER TABLE test_tableRENAME TO test_table_new;RENAME TABLE test_tableTO test_table_new;
删除数据库/表
- 删除数据库语法:
DROP DATABASE 数据库名称 - 例子:
DROP DATABASE test_db; - 删除数据表语法:
DROP TABLE 表名 - 例子:
DROP TABLE test_table;


