mysql之字段约束-第五篇
数据库的完整性约束是为了在数据库应用中保证数据的一致性和正确性。所以在创建数据表时定义其字段的约束是非常有必要的。
主键约束
主键(primary key)是一个列或者列的组合,其值能唯一地标识表中的每一行。且一张表只能定义一个主键。主键是通过PRIMARY KEY 关键字来指定的。
create table employee (
empId INT(11) primary key,
emp_name VARCHAR(25),
orgId INT(11),
salary DECIMAL
);
外键约束
外键用来在两个表的数据之间简历连接,对应着另一张表的主键。
新建一张dept表:
create table dept
(
id int(11) primary key,
dept_name varchar(22) not null,
location varchar(50)
);
删除之前创建的employee表
drop table if exists employee;
再创建deptId为外键的employee表:
create table employee (
empId INT(11) primary key,
emp_name VARCHAR(25),
orgId INT(11),
salary DECIMAL,
CONSTRAINT emp_dept
FOREIGN key(orgId) REFERENCES dept(id)
);
唯一约束
唯一约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。新建dept1表,指定部门名称唯一:
create table dept1
(
id int(11) primary key,
dept_name varchar(22) UNIQUE,
location varchar(50)
);
默认值约束
默认值约束指定某列的默认值,创建dept3,指定部门位置为深圳;
create table dept2
(
id int(11) primary key,
dept_name varchar(22) UNIQUE,
location varchar(50) DEFAULT '深圳'
);
非空约束
非空约束在表中,某个列的定义后加上关键字NOT NULL 作为限定词,来约束该列的取值不能为空:
create table dept3
(
id int(11) primary key,
dept_name varchar(22) not null,
location varchar(50)
);
mysql之字段约束-第五篇的更多相关文章
- MySQL:字段约束与索引
字段约束 MySQL的字段约束共四种: 约束名 关键字 描述 主键约束 PRIMARY KEY 字段值唯一,且不能为NULL 非空约束 NOT NULL 字段值不能为NULL 唯一约束 UNIQUE ...
- 总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法
1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show ...
- mysql第五篇 : MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
第五篇 : MySQL 之 视图.触发器.存储过程.函数.事物与数据库锁 一.视图 视图是一个虚拟表(非真实存在的),其本质是‘根据SQL语句获取动态的数据集,并为其命名‘ ,用户使用时只需使用“名称 ...
- 2-16 MySQL字段约束-索引-外键
一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) ...
- mysql字段约束-索引-外键---3
本节所讲内容: 字段修饰符 清空表记录 索引 外键 视图 一:字段修饰符 (约束) 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table wo ...
- 一、TCL事务控制语言 二、MySQL中的约束 三、多表查询(重点) 四、用户的创建和授权 五、MySQL中的索引
一.TCL事务控制语言###<1>事务的概念 事务是访问并可能更新数据库中各种数据项的执行单元. 事务是一条SQL语句,一组SQL语句,或者整个程序. 事务是恢复和并发控制的基本单位. 事 ...
- Mysql优化(出自官方文档) - 第五篇
目录 Mysql优化(出自官方文档) - 第五篇 1 GROUP BY Optimization 2 DISTINCT Optimization 3 LIMIT Query Optimization ...
- mysql 在已存在的表中添加/删除字段约束AUTO_INCREMENT遇到的问题
1. 在已存在的表中添加字段约束AUTO_INCREMENT修饰符 mysql> alter table user modify uid int auto_increment primary k ...
- 我的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 别人的的MYSQL学习心得(十五) 日志
我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
随机推荐
- springmvc的Interceptor拦截器和servlet的filter过滤器
springmvc的Interceptor拦截器和servlet的filter过滤器 1.springmvc的Interceptor拦截器和servlet的filter过滤器springboot实现方 ...
- python37
Python 循环嵌套 Python 语言允许在一个循环体里面嵌入另一个循环. Python for 循环嵌套语法: for iterating_var in sequence: for iterat ...
- python中的KeyError报错
from util import str_util #业务逻辑:兼容不同的结构体:resCode转化数据 #检查字典中是否存在键 if 'resCode' not in resultJson if ' ...
- java使用MVC编程模型实现1+到100图形界面
MVC概念 MVC编程模型是可以说从提出到现在经久不败,是一种先进的设计结构.能很好的体现个人分工,从而实现前后端分离. M(Model):模型:存储数据的对象.后端操作数据库的. V(View):视 ...
- NOI 1.7编程基础之字符串
11:潜伏者 1.描述 R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动. 历经艰险后,潜伏于S国的R国间谍小C终于摸清了S国军用密码的编码规则: 1. S国军方内部欲发送的原信 ...
- Hibernate的工作流程
- 配置Centos8网络绑定
配置Centos8网络绑定 原理: 在物理网卡两块之上创建一块虚拟主卡, 逻辑上是一主双从, 按不同的模式负载运行,常用模式如主备或并行提供双倍带宽等.模式: 可选参数"mode=act ...
- wpf TreeView 数据绑定
<Window x:Class="TsyCreateProjectContent.Window1" xmlns="http://schemas.microsoft. ...
- Maven使用相关
#Maven使用 [1] [2] mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking ...
- win11装wsl ubuntu操作记录
应用商店安装Windows Subsystem for Linux Preview ubuntu 查看已经安装的WSL版本,以及分发版对应的VERSION wsl -l -v 看到Ubuntu版本是1 ...