约束是基于字段的,可以给一个字段添加多个约束
约束不是 越多越好、约束越多,数据库的开销越多,会让数据库的性能降低
在表中 对主要的、关键性的数据添加约束即可
主键约束 primary key
特点: 值是唯一的、且不允许为空。 一张表最多只能设置一个主键
MySQL的主键一般 还可以设置为 自动增长, 在新增数据的时候,就不需要再设置主键的值,而该值有系统自动产生
再定义主键的时候,使用 auto_increment 关键字即可
唯一约束 unique
特点: 值是唯一的、 可以为空
非空约束 not null
特点: 值不允许为空
默认约束 default
特点: 可以给某一个字段的值 设置默认值
外键约束 foreign key
特点: 维护数据与数据之间的关系 或者 表与表之间的关系
检查约束 check
特点: 可以对值进行检查, MySQL 不支持该约束数据库范式
范式: 数据库建表的规范, 一般 企业中要求 表需要满足 数据库的 三范式 要求
一范式
表中所有的字段 不可再分、数据库 都是满足 一范式 的
二范式
表中 所有字段 都必须 和 主字段 有关系
三范式
表中 所有字段 都必须 和 主字段 有直接关系、且 每一张表 都必须有自己的主键、且字段在多张表中 不能有冗余 新建表
create table [if not exists] (修改表结构 alter table 表名[约束] [注释] , .... ) ; CREATE TABLE `t_book` ( `id` bigint COMMENT '图书编号', `book_name` varchar(50) COMMENT '图书名', `price` decimal(11,1) COMMENT '图书价格', `author` varchar(20) COMMENT '作者', `create_time` datetime COMMENT '录入时间', `update_time` datetime COMMENT '修改时间', `status` enum('0','1') COMMENT '0代表下架' );
添加一个字段 add column
alter table add [column] 字段名 字段类型 [约束] [注释] ; alter table t_book add is_borrow boolean comment '是否被借' ;
修改字段名 change
alter table change oldName newName 字段类型 [约束] [注释] ; alter table t_book change name book_name varchar(50) comment '图书名';
修改字段类型 modify
alter table modify要修改的类型 [约束] [注释] ; alter table t_book modify status enum('0', '1') comment '0代表下架'‘;
删除一个字段 drop column
alter table drop [column]; alter table t_book drop is_borrow ;
修改表名称 rename
alter table rename to查看表结构; alter table t_book rename to book ; rename table to ; rename table book to t_book ;
desc 表名 ; describe 表名 ;查看当前库下所有的表
show tables [like 值] ; -- 支持 模糊查询查看建表语句
show create table ;删除表
drop table [if exists] ;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)