MySQL数据库DDL回顾

目录

什么是DDL

数据库操作

查询

使用

创建

删除

表操作

创建

字段约束

数据类型

数值类型

字符串类型

日期时间类型

查询

修改

删除


什么是DDL

DDL英文全称是Data Definition Language,数据定义语言,用来定义数据库对象(数据库、表)。

数据库操作

查询

查询所有数据库:show databases;

查询当前数据库:select database();

使用

使用数据库:use 数据库名;

创建

创建数据库:create database if not exists 数据库名;

删除

删除数据库:drop database if exists 数据库名;

上述语法中的database,也可以替换成schema。例如:show schemas;

表操作

创建

create table 表名(

        字段1 字段类型 约束 comment 字段1注释,

        ······

        字段n 字段类型 约束 comment 字段n注释

) comment 表注释;

字段约束
约束 描述 关键字
非空约束 限制该字段值不能为null not null
唯一约束 保证字段的所有数据都是唯一、不重复的 unique
主键约束 主键是一行数据的唯一标识,要求非空且唯一 primary key
默认约束 保存数据时,如果未指定该字段值,则采用默认值 default
外键约束 让两张表的数据建立连接,保证数据的一致性和完整性 foreign key
数据类型
数值类型

其中bigintint最常用,可以不用太刻意地去考虑数值类型的范围。例如,表示年龄可以用int类型,不用刻意地用tinyint类型。主键一般使用自动增加生成,类型使用bigint类型。

类型 大小(byte) 描述
tinyint 1 小整数值
smallint 2 大整数值
mediumint 3 大整数值
int 4 大整数值
bigint 8 极大整数值
float 4 单精度浮点数值
double 8 双精度浮点数值
decimal 小数值(精度更高)
字符串类型

char(n),最多存储n个字符,不足n个字符,占用n个字符空间。性能高,浪费空间。

varchar(n),最多存储n个字符,不足n个字符,占用实际长度字符空间。性能低,节省空间。

类型 大小(bytes) 描述
char 0 - 255 bytes 定长字符串
varchar 0 - 65535 bytes 变长字符串
tinyblob 0 - 255 bytes 不超过255个字符的二进制数据
tinytext 0 - 255 bytes 短文本字符串
blob 0 - 65535 bytes 二进制形式的长文本数据
text 0 - 65535 bytes 长文本数据
mediumblob 0 - 16777215 bytes 二进制形式的中等长度文本数据
mediumtext 0 - 16777215 bytes 中等长度文本数据
longblob 0 - 4294967295 bytes 二进制形式的极大文本数据
longtext 0 - 4294967295 bytes 极大文本数据
日期时间类型

字段create_time创建时间,字段update_time更新时间,都用datetime类型。

类型 格式 描述
date YYYY - MM - DD 日期值
time HH : MM : SS 时间值或持续时间
year YYYY 年份值
datetime YYYY - MM - DD HH : MM : SS 混合日期和时间值
timestamp YYYY - MM - DD HH : MM : SS 混合日期和时间值,时间戳

查询

查询当前数据库所有表:show tables;

查询表结构:desc 表名;

查询建表语句:show create table 表名;

修改

添加字段:alter table 表名 add 字段名 类型 comment 注释 约束;

修改字段类型:alter table 表名 modify 字段名 新数据类型;

修改字段名和字段类型:alter table 表名 change 旧字段名 新字段名 类型 comment 注释 约束;

删除字段:alter table 表名 drop column 字段名;

修改表名:rename table 表名 to 新表名;

删除

删除表:drop table if exists 表名;

你可能感兴趣的:(基本概念,数据库,mysql,ddl)