一、创建表
创建表的语句
create table name (
name type default 约束 comment ,
name type default 约束 comment ,
…
…
…
)
1、name:字段名
一般情况下,如果有多个单词构成,用下划线间隔
2、type:类型
(1)int :整数类型
(2)double(5,2) :长度为5位保留2位小数
(3)char :长度不变 UUID 手机号 身份证号
(4)varchar :长度不确定 姓名
(5)blob :电影,图片
(6)clob :小说
3、default:默认值
添加数据的时候如果不指定值,则使用默认值
4、comment :设置注释
为字段设置相关的注释,用于解释说明字段作用
例子如下:
得到表
二、约束
1、主键约束(primary key)
特点:约束唯一标识数据库表中的每条记录,主键必须包含唯一的值,且不能为 NULL ,每个表都应该有一个主键,并且每个表只能有一个主键。
插入数据(向test表中的插入三条数据,id不为null且不重复)
#向test表中插入三条数据
insert into test (id,user_name,password) values (1,'admin','123')
insert into test (id,user_name,password) values (2,'zhangsan','abc')
insert into test (id,user_name,password) values (3,'lisi','123456')
插入成功
主键约束字段插入重复数据(向表中插入重复的id)
#表中已经存在一个id=2的数据
insert into test (id,user_name,password) values (2,'wangwu','111')
报错
insert into test (id,user_name,password) values (2,'wangwu','111')
> 1062 - Duplicate entry '2' for key 'PRIMARY'
> 时间: 0.001s
主键约束字段插入null
#向表中插入id=null的数据
insert into test (id,user_name,password) values (null,'zhaoliu','2222')
报错
insert into test (id,user_name,password) values (null,'zhaoliu','2222')
> 1048 - Column 'id' cannot be null
> 时间: 0.001s
数据库中没有成功插入数据
2、unique
特点:不重复,但可以插入多个null
由于user_name的约束位unique,所以如果这里如果插入的数据的user_name相同,则只能插入第一条数据。
insert into test (id,user_name,password) values (4444,'admin','admin')
报错
insert into test (id,user_name,password) values (4444,'admin','admin')
> 1062 - Duplicate entry 'admin' for key 'user_name'
> 时间: 0.022s
这里可以插入多个user_name为null的数据
insert into test (id,user_name,password) values (555,null,'123456')
insert into test (id,user_name,password) values (666,null,'123456')
insert into test (id,user_name,password) values (777,null,'123456')
结果
3、not null
特点:数据不能为null,使用前面创建的test表
插入数据
insert into test (id,user_name,password) values (999,'Jim',null)
报错
insert into test (id,user_name,password) values (999,'Jim',null)
> 1048 - Column 'password' cannot be null
> 时间: 0.001s
4、外键约束
foreign key(name) references table_name(name)——保证数据完整性,不会产生无用的垃圾数据。
————————————————
原文链接:https://blog.csdn.net/zzxv587/article/details/89922877