数据库基本操作(进阶)

一、数据库约束

约束类型:
NOT NULL:指示某列不能存储NULL值(必填项
UNIQUE:保证某列的每行必须有唯一的值(不能与其它记录重复,如果重复,则报错!
DEFAULT: 规定没有给列赋值时的默认值
PRIMARY KEYNOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。(一条记录的唯一身份标识
FOREIGN KEY : 保证一个表中的数据匹配另一个表中的值的参照完整性。(两张表之间的关联关系
CHECK :保证列中的值符合指定的条件。对于MySQL数据,对CHECK子句进行分析,但是忽略CHECK子句。(MySQL 5中,写check不会报错,但是不会生效
例子:学生表结构

--指定id为自增主键,name为空时,默认值为null
create table if not exists student(
	id int primary key auto_increment,
	sn int unique,
	name varchar(20) default 'unknow',
	qq_mail varchar(20),
);

对于整数类型的主键,常搭配自增长auto_increment来使用。插入数据对应字段不给值时,使用最大值+1。
☆foreign key:外键约束
外键用于关联其他表的主键唯一键,基本语法:
foreign key (当前表指定的列) references 需关联表名(列);

--班级表
CREATE TABLE classes (
id INT PRIMARY KEY auto_increment,
name VARCHAR(20),
`desc` VARCHAR(100)
);

--一个学生对应一个班级,一个班级对应多个学生, 
--id为主键,class_id为外键,关联班级表
--重设学生表结构
create table if not exists student(
	id int primary key auto_increment,
	sn int unique,
	name <
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值