本部分内容是mysql系列的第四部分 ,若想查看前面的系列的内容,请见:SQL语言分类有哪几种?分别都对应着哪些关键字?都整理在这里了

这一部分主要介绍创建表时所填写的每一部分信息 。

创建表

创建表完整语法:

create table 表名( 字段名称1 数据类型[(长度) 约束条件 注释], 字段名称2 数据类型[(长度) 约束条件 注释] ) [编码 注释] # 1. 必选项 : 表名 字段名称 数据类型 # 2. 可选项 : 长度 约束条件 注释 编码 # 3.示例: create table students( id int(20) primary key auto_increment COMMENT '学生编号', name varchar(20) not null comment '学生姓名', grade varchar(5) not null comment '学生年级', sex enum('男','女') default '男' comment '性别' ) charset='utf-8' comment '学生表'

数据类型

在上面创建表时,给每个字段指定了具体的数据类型 ,但实际数据类型要包含的多,我们可以将其进行简单的分类,比如 :

字符文本类型

类型

说明

大小

char

定长字符串

0-255 bytes

varchar

变长字符串

0-65535 bytes

tinytext

短文本字符串

0-255 bytes

text

文本字符串

0-65535 bytes

longtext

长文本字符串

0-4 294967295 bytes

数字类型

类型

说明

范围(有符号)

范围(无符号)

TINYINT

微整数

(-128,127)

(0,255)

SMALLINT

小整数

(-32 768,32 767)

(0,65 535)

MEDIUMINT

中整数

(-8 388 608,8 388 607)

(0,16 777 215)

INT或INTEGER

整数

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

BIGINT

大整数

(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

FLOAT

单精度 浮点数值

(-3.402 823 466 E 38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E 38)

0,(1.175 494 351 E-38,3.402 823 466 E 38)

DOUBLE

双精度 浮点数值

(-1.797 693 134 862 315 7 E 308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E 308)

0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E 308)

DECIMAL

小数值

依赖于M和D的值

依赖于M和D的值

日期类型

类型

说明

范围

格式

DATE

日期

1000-01-01/9999-12-31

YYYY-MM-DD

TIME

时间

'-838:59:59'/'838:59:59'

HH:MM:SS

YEAR

1901/2155

YYYY

DATETIME

日期和时间

1000-01-01 00:00:00/9999-12-31 23:59:59

YYYY-MM-DD HH:MM:SS

选项类型

类型

说明

举例

enum

枚举,多个值中选择一个

enum('男','女')

set

集合 - 多个值中选择一个或多个值

SET('值1','值2','值3'...,'值n')

字段约束

格式: create table 表名( 字段名 数据类型 约束, 字段名 数据类型 约束 ... )

其中约束主要包括:

mysql增加字段及注释(mysql创建表时如何给字段添加注释)(1)

这里需要区分几个约束,

其中主键约束 = 唯一约束 为空约束

注释

有时候我们看到表的后面都有注释 ,通过注释我们能快速地找到对应表 ,比如下面表的注释 。

mysql增加字段及注释(mysql创建表时如何给字段添加注释)(2)

当然,此注释有两种设置方式,一种就是通过客户端工具创建/修改表时添加注释信息 ,具体操作可参考:mysql系列之一文详解Navicat工具的使用(二)

初次之外,也可以SQL语句添加注释 。具体如下 :

create table students( id int(20) primary key auto_increment comment '学生编号', name varchar(20) not null comment '学生姓名', grade varchar(5) not null comment '学生年级', sex enum('男','女') default '男' comment '性别' ) comment '学生表'

这里使用的comment就是添加的注释信息,添加的注释不仅可以在字段上进行备注 ,也可以在表名上进行备注 。

,