MySQL之约束条件,表关系,表字段操作

本文详细介绍了MySQL中的约束条件,包括not null、default、unique、primary key、auto_increment和foreign key,以及如何利用这些约束确保数据的完整性和一致性。此外,还探讨了表关系的分类、判断以及级联操作,如级联更新和级联删除。
摘要由CSDN通过智能技术生成


一、 约束条件介绍

约束条件与数据类型的宽度一样,都是可选参数

作用:用于保证数据的完整性和一致性
主要分为:

primary key       标识该字段为该表的主键,可以唯一的标识记录
foreign key       标识该字段为该表的外键
unique            标识该字段的值是唯一的
not null          标识该字段不能为空
auto_increment    标识该字段的值自动增长(整数类型,而且为主键)
default           为该字段设置默认值
unsigned          无符号(正负号)
zerofill 		  使用0填充

二、 添加数据的两种方式

常用第二种
insert into t1 values(...);  # 按照字段顺序一一传值

insert into t1(name) values(...);  # 指名道姓的传值

三、 not null(非空)

create table t2(
   	id int,
    name varchar(32) not null
);

insert into t2(name) values('');  # ''也是非空

图

四、default (默认值)

create table t3(
   	id int,
    name char(32),
    gender enum('male','female','others') default 'male'
);

五、 unique(唯一)

# 单列唯一
create table t4(
   	id int,
    name varchar(32) unique
);
# 多列唯一
create table t5(
   	id int,
    host varchar(32),
    port int,
    unique(host,port)
);

多列唯一
多列唯一

六、 primary key(主键)

1.单从限制角度上来看 主键相当于是非空且唯一

	id int primary key == id int not null unique
	
	create table t6(
		id int primary key
	);
   	
2.InnoDB存储引擎规定了在创建表的时候必须有且只有一个主键
 	1.为什么之前创建表的时候没有主键也可以呢?
   		当表中没有任何的约束条件字段,为了能够顺利的创建出表,InnoDB存储引擎会采用内部隐藏的字段作为主键
   		隐藏意味着我们无法使用到,主键其实可以帮助我们加快数据的查询速度
   	2.没有主键但是有非空且唯一的字段 那么会自动将该字段升级为主键
   		create table t7(
   			id int,
   			age int not null unique,
   			pwd int not null unique
   		);
结论:我们在创建表的时候一般都会创建一个id字段(序号\编号)
 并且我们会将该字段设置为主键
  	id int primar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值