约束条件

1约束条件

约束是一种限制,通过对表中的数据做出限制,来确保表中数据的完整性,唯一性

默认约束

CREATE TABLE tb(

id INT DEFAULT 'a' ,

name VARCHAR(20)

);

插入数据的时候,如果没有明确为字段赋值,

则自动赋予默认值

在没有设置默认值的情况下,默认值为NULL

非空约束

CREATE TABLE tb(

id INT NOT NULL,

name VARCHAR(20)

);

限制一个字段的值不能为空,空着报错;

Insert的时候必须为该字段赋值

主键一个表里只有一个,主键非空且唯一,你必须插入数据,否则就报错;

主键约束

这里重复插入1,就会因为有了主键约束而报错;

自增长约束(auto_increment)

CREATE TABLE tb(

id INT auto_increment,

name VARCHAR(20),PRIMARY KEY (id)

);

自动编号,和主键组合使用,

一个表里面只能有一个自增长

CREATE TABLE tb(id INT auto_increment,name VARCHAR(20) ,PRIMARY KEY (id)) auto_increment=1000;

外键约束(foreign key)

CREATE TABLE a(

id_a INT PRIMARY KEY,

name VARCHAR(20)

);

CREATE TABLE b(

id_b INT PRIMARY KEY,

name VARCHAR(20),

foreign key (id_b) references a(id_a)

);

我有的你一定有, 你没有的, 我绝对没有

1. B表中的id_b字段,只能添加 id_a中已有的数据。

2. A表中id_a 被参照的数据, 不能被修改和删除

上面三个图我们就能看出,a表中没有的,b表中也不能插入

mysql约束_Mysql约束条件相关推荐

  1. 使用mysql创建外键约束_Mysql创建外键约束的两种方式

    通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...

  2. mysql怎么约束_MySQL 约束详解

    MySQL 约束详解 MySQL 中的约束是用来保证数据的完整性的机制.数据完整性一般有以下三种形式: 实体完整性:保证表中有一个主键. 域完整性:保证数据每列的值满足特定条件. 引用完整性:保证两张 ...

  3. mysql添加构成组合约束_mysql约束汇总

    先从博客:http://blog.csdn.net/kqygww/article/details/8882990#comments中拷贝一些,然后会根据自己不断的实践与学习,补充新的知识和心得体会上来 ...

  4. mysql 删除一个约束条件_MySQL 字段增删改查 和 约束条件

    一.字段操作 1.添加字段 (add) alter table add 字段名 数据类型; desc ; 2.修改字段数据类型 (modify) alter table modify ; 3.字段重命 ...

  5. MySQL 约束类型

    # MySQL 约束类型 约束实际上就是表中数据的限制条件,它通过对表的行或列的数据做出限制,来确保表的数据的完整性.唯一性.比如name字段中要让其用户名不重复,这就需要添加约束.或者必须注册的时候 ...

  6. 常见的6种MySQL约束

    摘要:一篇文章带你彻底了解MySQL各种约束 MySQL约束 <1> 概念 是一种限制,它是对表的行和列的数据做出约束,确保表中数据的完整性和唯一性. <2> 使用场景 创建表 ...

  7. 【MySQL基础】什么是MySQL约束?什么是主键约束?

    目录 一.什么是MySQL约束? 二.MySQL约束有什么作用? 三.MySQL约束常见七大类? 主键约束(primary key) PK 1.概念 2.主键约束的相关操作 添加单列主键 添加多列主键 ...

  8. MySql约束和隔离性问题练习

    MySql约束和隔离性问题练习 创建一张表,要求包含:主键约束,非空约束,唯一约束:然后插入数据测试3种约束的特点 create table users(uid int primary key,una ...

  9. mysql 约束0怎么设计_java mysql约束与设计

    回忆上周知识 mysql约束与设计 DDL:操作数据库和表 drop alter create DML:增删改数据库表的记录 insert update delete DQL:查询表中记录 selec ...

最新文章

  1. 3.网络通信协议分类
  2. BGP管理必须知道的BGP基础知识——Vecloud
  3. 软件工程的实践项目课程的自我目标
  4. android studio .so混淆配置,Android Studio 下混淆 文件配置 有关问题 初探(一)
  5. [20160813]12c开启附加日志问题.txt
  6. 20211006 线性变换
  7. AI+AR如何提升花椒直播的体验?
  8. 我用自己创造的深度学习框架进入腾讯,爽!
  9. python 修改图片尺寸_python 批量修改图片大小
  10. 国科大提出FreeAnchor,新一代通用目标检测方法,代码已开源
  11. kaike的FLAGs
  12. zoj 3228 覆盖及非覆盖串的多次匹配
  13. [转]苦逼男和女神之间的经典对话,亲身经历过的有木有啊,必须转。。。
  14. Axure RP9授权码(亲测有效)
  15. 菜鸟html代码在线,html菜鸟教程,HTML新手如何快速入门
  16. 《深度卷积神经网络原理与实践》笔记 第二、三章 卷积神经网络原理及典型结构
  17. 原生JS实现记忆翻牌小游戏
  18. 个人公众号: AI科技时讯
  19. 时间复杂度 O(1),O(n),O(n^2),O(logn),O(nlogn) 详解
  20. 提供推荐--集体智慧编程

热门文章

  1. Matlab画图技巧之保存超大体积图
  2. python输出子列表_python利用递归函数输出嵌套列表的每个元素
  3. 学习opencv 英文版_B站上适合程序员的学习资源【赶紧收藏!】
  4. python根据矩阵数值大小涂上不同深浅颜色
  5. Spring Data JPA 从入门到精通~自定义实现Repository
  6. Replace Parameter with Methods(以函数取代参数)
  7. C++学习之路 | PTA乙级—— 1033 旧键盘打字 (20 分)(精简)
  8. map集合的常用方法和遍历
  9. React Native开发指南-在原生和React Native间通信
  10. 现代软件工程系列 学生的精彩文章 (3) 如何在Bug 不断的情况下还能保持平常心...