MySQL学习笔记——创建与约束

时间:2022-09-21 13:03:49

在新建一张数据库表时,需要对表的结构进行设定,其中包括定义表字段名、定义字段的数据类型、定义字段数据的约束。

创建表一般使用create语句:

create table 表名(

字段名1 数据类型 [约束]

字段名2 数据类型 [约束]

...

[其它约束条件]

[其它约束条件]

...

)engine=存储引擎 charset=存储字符集;

其中字段名后的约束一般为针对该字段数据的约束;其它约束目前接触到了外键约束。

定义自增型字段:

字段名 int auto_increment primary key

数据类型

字符串:

定长字符串char(n);变长字符串varchar;小文本tinyint(100字左右);长字符串text;mediumtext;longtext;

日期类型:

日期 date YYYY-MM-DD; 时间 time HH-ii-ss;datetime&timestamp YYYY-MM-DD HH-ii-ss;

二进制类型;

整数类型:

int

小数类型

float;double

约束条件

定义字段数据的约束:

主键约束 primary key

非空约束 not null

默认值约束 default      如 student_no int default 60;

唯一性约束 unique

其它约束:

外键约束,如 constraint 约束名 foreign key(字段名) references 表名(字段名)

主键约束 constraint 约束名 primary key (字段名)

唯一性约束 constraint 约束名 unique (字段名)

表的修改

主要是利用alter table 语句。

一、修改表的字段:alter table 表名 drop/add/change/modify/

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

添加字段:alter table 表名 add 字段名 数据类型 [字段约束]

修改字段名和数据类型:alter table 表名 change 旧字段名 新字段名 数据类型

仅修改字段名:alter table 表明 modify 字段名 数据类型

二、修改表字段的约束

alter table 表名 add constraint 约束名 约束类型 (字段名)

alter table 表名 add index 索引名 (字段名)