3-1约束

1、约束保证数据的完整性和一致性;
2、约束分表级约束(两个或两个个以上字段的约束)和列级约束(一个字段约束);
3、NOT NULL       非空;
PRIMARY KEY       主键约束;
UNIQUE KEY         唯一约束;
DEFAULT               默认约束;
FOREIGN KEY        外键约束。

空值与非空值:
NULL 与 NOT NULL 
自动编号:
AUTO_INCREMENT 自动编号,必须与主键组合使用,默认情况下起始值为1,每次增量为1;
主键:
PRIMARY KEY  主键约束,每张鼠标只存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL;
#CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,       #设置主键 和自动编号
username VACHAR(20) NOT NULL);
唯一约束:
UNIQUE KEY 唯一约束,可以保证记录的唯一性,可以为空值(只有一个NULL值),每张数据表可以存在多个唯一约束
#CREATE TABLE tb4(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VACHAR(20) NOT NULL UNIQUE KEY,     #设置姓名唯一约束 
age TINYINT UNSIGNED);
默认约束:
DEFAULT  当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
#CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VACHAR(20) NOT NULL UNIQUE KEY,
sex EMUI('1','2','3') DEFAULT '3');       #设置默认性别字段为3
外键约束:
要求:父表和子表必须使用相同的存储引擎,只能为InnoDB,且禁止使用临时表;外键列和参照列必须具有相似的数据类型,其中数字的长度或者是否有符号位必须相同;而字符的长度则可以不同;外键列和参照列必须创建索引。如外键列不存在索引,mysql将自动创建索引。
#默认存储引擎:bin目录下 my.ini文件中  修改成INNODB;
针对外键约束的参照操作:
1、CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行;
2、SET NULL:从父表删除或更新行,并设置子表中的外键列;
3、RESTRICT:拒绝父表的删除或更新操作;
4、NO ACTION:标准SQL的关键字,再mysql中与RESTRICT相同。
表级约束和列级约束:对一个数据列建立的约束 为列级约束;对多个数据列建立的约束称为表级约束。
表级约束只能再列定义后声明,列级约束可以再列定义时声明,也可以再列定义后声明。

转载于:https://www.cnblogs.com/wyf-349/p/5434422.html

菜鸟的MySQL学习笔记(二)相关推荐

  1. Mysql学习笔记(二)——表格及数据的插入

    Mysql学习笔记(二)--表格及数据的插入 文章目录 Mysql学习笔记(二)--表格及数据的插入 1.Mysql常用指令 2.创建表格 A.数据类型 B.完整性约束条件 3.查看表格 4.修改表格 ...

  2. 菜鸟的MySQL学习笔记(一)

    本学习笔记是照搬慕课网<与MySQL的零距离接触>内容,特此感谢! 1-1 mysql的安装与配置 Windows环境下的MSI安装: 1.安装: 双击MSI文件->用户协议-> ...

  3. sql分类及基本sql操作,校对规则(mysql学习笔记二)

    sql针对操作对象分为不同语言 数据操作(管理)语言 DML或者将其细分为 ( 查询  DQL 管理(增,删,改)  DML) 数据定义语言(对保存数据的格式进行定义) DDL 数据库控制语言(针对数 ...

  4. MySQL 学习笔记 二

    Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...

  5. MySQL学习笔记(二):MyISAM 存储引擎

    MyISAM 存储引擎 MyISAM 基于旧的 (不再可用) ISAM 存储引擎, 但有许多有用的扩展. 每个 MyISAM 表都存储在三个文件中的磁盘上.这些文件具有以表名开头的名称, 并具有用于指 ...

  6. 菜鸟的MySQL学习笔记(三)

    4-1插入记录INSERT INSERT [INTO] tbl_name [(col_name)] {VALUES|VALUE} ({expr|DEFAULT},...), (...), ...   ...

  7. MySQL学习笔记(三)查询

    写在前面:本篇为作者自学总结,学习内容为课堂所学和网络学习笔记汇总,对于内容引用部分在文中和文末注明. 文章仅供参考,如需深入了解,请查阅MySQL参考手册.附上下载链接: 链接:https://pa ...

  8. MySql入门笔记二~悲催的用户

    这些是当年小弟的MySql学习笔记,木有多么复杂的结构操作,木有多炫丽的语句开发,木有...总之就是木有什么技术含量... 日复一日,彪悍的人生伴随着彪悍的健忘,运维操作为王,好记性不如烂笔头,山水有 ...

  9. 实用篇 | MySQL 学习笔记

    实用篇 | MySQL 学习笔记 MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management S ...

  10. 【mysql学习笔记整理】

    /*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作 #创建 #数据库的创建 USE mysql; CREATE DATABASE db_x; #删除 #删除数据库 DROP DA ...

最新文章

  1. QQ超时不能刷新好友接收发送信息
  2. 如何搭建高可用redis架构?
  3. 机器学习中的偏差和方差是什么?
  4. 做算法题时的一些小技巧
  5. asp.net 中的错误处理
  6. linux opencv cmake,OpenCV基础篇之使用CMake管理工程
  7. 让同步函数同步执行,异步函数异步执行,并且让它们具有统一的 API
  8. 【转】软件工程能力漫谈:比质量更重要的,是项目管理能力
  9. java io流读取txt文件_Java使用IO流读取TXT文件
  10. Tomcat下中文乱码的解决方法
  11. webconfig.xml文件golbalization节的作用
  12. 游戏设计的艺术pdf
  13. 积分图的SSE和AVX2优化
  14. 3ds max 2020 材质编辑器
  15. 性能服务器e5,英特尔至强E5服务器到底有多强?
  16. 宴会及会议座位排版软件
  17. 厚物科技定制三屏加固便携机HW-8700TS
  18. 【app测试】adb常用指令及华为卸载预置软件
  19. foobar2000隐藏桌面悬浮窗头像_如何解锁华为手机隐藏的超能力?
  20. 有不用网线不用电源的家用监控摄像头吗

热门文章

  1. ERROR: libass not found using pkg-config2
  2. 不要张口别人有问题,先看自己是否做错
  3. 学习记录:由技术而产品,由产品而商务
  4. python余弦定理求角_余弦定理计算文章相似度
  5. oracle 判断最后一笔_美股道琼斯日线杀跌一笔结束,向上一笔的反弹顺理成章。又到金秋弯腰拾金时...
  6. Spring启动过程——源码分析(finishBeanFactoryInitialization(beanFactory))
  7. web页面渲染(二) 1
  8. 码农跳槽指南:如何在新公司建立自己的“支配地位”?
  9. 安全服务,从“被动应对”到“主动防范”
  10. VR安全很重要:Magic Leap低调收购安全公司