Mysql入门学习笔记(2)----外键约束
来源:互联网 发布:国产零食 知乎 编辑:程序博客网 时间:2024/06/05 11:17
空与非空
CREATE TABLE tb2(
username VARCHAR(20) NOT NULL,//不为空
age TINYINT USIGNED NULL//默认为允许为空,此处的NULL可以不写;TINYINT是范围在三位数之内的整数
);
描述列有关知识:
Mysql自动编号(自增)
AUTO_INCREMENT
字段必须是数值型,小数位数必须为0
自动编号,且必须与主键(PRIMARY KEY)结合使用。
默认情况下,起始值为1,每次的增量为1。
PRIMARY KEY
主键约束,每张数据表只能存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL。
当为PRIMARY KEY加上AUTO_INCREMENT自动增长时,可以不为PRIMARY KEY赋值。
PRIMARY KEY允许赋值,但不允许有重复的值。
UNIQUE KEY
唯一约束,唯一约束可以保证记录的唯一性,字段可以为NULL(只能有一个),每张数据表可以存在多个唯一约束。
(PRIMARY KEY是NOT NULL,且一张数据表只能有一个)
DEFAULT
默认值,当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。后接默认的值,DEFAULT 默认值。
(类似无参构造器)
外键约束
例如数据表provinces的id为主键,
那么数据表users添加外键
pid 与id 的类型(包括有无符号位)相同,就可以添加外键
foreign key (pid) references provinces (id)
provinces为父表,users为子表,
参照列为id,外键列为pid
显示索引show indexes from provinces
外键约束的参数操作
变化:foreign key (pid) references provinces (id) on delete cascade
cascade:从父表删除或更新且自动删除或更新子表中匹配的行
附上建表语句:
父表:省份表
create table provinces(id smallint unsigned primary key auto_increment,pname varchar(20),);
子表:
create table users(id smallint unsigned primary key auto_increment,usename varchar(10) not null,pid smallint unsigned,foreign key (pid) references provinces (id) on delete cascade;//添加外键);
cascade的作用:
例如我在父表中插入一条记录(其id自动等于1)
insert provinces (pname) value('A')
在子表也插入一条对应的记录
insert users (username,pid) value('Rose',1)
当删除父表中id为1的记录时,外键列种对应id=1的记录将会全部删除
其他的关键字的作用
实际开发中,我们很少使用物理的外键约束,而是使用逻辑约束;无理的外键约束只有innoDB这种存储引擎才会支持,MYISAM这种引擎就不支持物理的外键约束。反过来说,当我们使用到的引擎为MYISAM时,只能使用逻辑外键(即两个表的设计的逻辑关系)。
- Mysql入门学习笔记(2)----外键约束
- MYSQL的学习笔记-----MYSQL的约束
- mysql学习2—外键约束的参照操作
- MySQL学习笔记(四)修改数据表约束
- mysql学习笔记之二(表约束)
- mysql学习笔记六(数据定义表约束,分页)
- mysql学习笔记(二)SQL的约束
- MySQL学习笔记4:完整性约束
- mysql学习笔记----数据类型,属性,约束
- MySQL学习笔记4:完整性约束
- mysql学习笔记02之约束
- MYSQL学习笔记-常见表约束
- MySQL学习笔记-约束以及修改数据表
- MySQL约束:非空约束、主键约束、唯一约束、默认约束、外键约束
- MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束、添加外键约束
- MySQL学习9:详解MySQL中的外键约束
- MYSQL外键约束
- MySQL .外键约束
- PLSQL Package Initialize Block
- removeEventListener('2016');
- 模型评估与选择
- 37-2-3
- pip安装使用详解
- Mysql入门学习笔记(2)----外键约束
- 【2月1日】并发(五):Thread和Runable
- Salesforce使用truncate清空数据库
- Windows环境配置xdebug调试PHP
- 数据挖掘-Iris数据集分析-决策边界_根据花瓣数据绘制(七)
- Spring mail 发送邮件
- 利用layer前端组件1.8版本和3.0版本去做显示图片效果的不同
- pip作用
- RSA host key has changed(SSH 远程无法使用)