首页 > 数据库 >MySQL--约束

MySQL--约束

时间:2024-01-26 19:45:14浏览次数:36  
标签:-- FOREIGN 外键 约束 KEY MySQL 主表 字段名

概述

  1. 概念:约束作用于表中字段上的规则,用于限制存储再表中的数据。

  2. 作用:保证数据库中的数据的正确、有效性和完整性。

  3. 分类:

约束 描述 关键字
非空约束 限制该字段的数据不能为null NOT NULL
唯一约束 保证该字段的所有数据都是唯一 UNIQUE
主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY
默认约束 保存数据时,如果未指定该字段的值,则采用默认值 DEFAULT
检查约束 保证字段值满足某一条件 CHECK
外键约束 用来让两张表的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY

注意:约束时作用于表中字段的,可以创建表、修改表的时候添加约束。


案例:根据需求,完成表结构的创建

字段名 字段含义 字段类型 约束条件 约束关键字
id ID唯一标识符 int unsigned 主键,自动增长 PRIMARY KEY,AUTO_INCREMENT
name 姓名 varchar(10) 不为空,且唯一 NOT NULL, UNIQUE
age 年龄 TINYINT UNSIGNED 大于0,且小于150 CHECK
status 状态 char(1) 默认值1 DEFAULT
gender 性别 char(1)

外键约束

  • 语法

      CREATE TABLE 表名(
                 字段名 数据类型
                 ...
                 [CONSTRAINT][外键名称] FOREIGN KEY(外键字段名) REFERENCES             
                 主表(主表列名)
      );
    

    ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名) REFERENCES 主表(主表列名);

  • 删除外键
    ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

标签:--,FOREIGN,外键,约束,KEY,MySQL,主表,字段名
From: https://www.cnblogs.com/nakjima/p/17987065

相关文章

  • 寒假生活指导18
    fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC#设置Edge浏览器选项option=webdriver.EdgeOptions()option.......
  • Oracle 数据库常用操作语句
    一、Oracle数据库操作1、创建数据库   createdatabase databasename2、删除数据库    dropdatabase dbname3、备份数据库完全备份    exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=y   demo:用户名、密码   buffer: 缓存大......
  • 超出你想象的地球故事 | 老高與小茉 Mr & Mrs Gao
    https://youtu.be/5AseSLCG7wI?si=Y6Ayb5zrViMEDnaL今日は、「地球の一生」を話しましょう地球生まれたから、今まで、更に地球死亡まで全て経るべきこと→死亡まででも知ってるそうよ実は、地球の死期はもう決めたのですよ最後には、太陽に飲み込まれてしまう。寿命はもう決めた......
  • esp8266 no matching function for call to 'Ticker::Ticker()'
    这个错误表明在尝试创建一个Ticker对象时,编译器找不到适合当前调用的构造函数。Ticker可能是Arduino框架中的一个类,用于处理定时事件。解决方法:确认你已经包含了正确的头文件。例如,对于ArduinoESP8266核心库,你需要包含Ticker.h#include<Ticker.h> 确认......
  • 通达信金拐杖选股指标公式源码大智慧通用
    VAR2:=CLOSE*VOL;VAR3:=EMA((EMA(VAR2,3)/EMA(VOL,3)+EMA(VAR2,6)/EMA(VOL,6)   +EMA(VAR2,12)/EMA(VOL,12)+EMA(VAR2,24)/EMA(VOL,24))/4,13);白线:=1.06*VAR3;XG1:=C>白线;D:=72;VAR1:=(HHV(HIGH,8)-CLOSE)/(HHV(HIGH,20)-LLV(LOW,20))*100;VARK2:=(CLOSE-L......
  • 寒假学习笔记17
    代码时间(包括上课):5h 代码量(行): 博客数(篇):2 今天计划搭建项目,原本打算搭建普通的Javaweb项目(毕竟这个用得最久)但是因为本学期体会到了在.xml直接进行配置的甜,于是打开IDEA后又临时更改决定开始搭建以maven为基础的javaweb项目因为曾经在maven的基础上进行过JFinal项目的......
  • 软件验收测试报告模板
    ......
  • 软件验收测试计划模板
    ......
  • iMessage群发软件开发源代码段分享
    随着科技的飞速发展,人们对于信息传递的需求越来越高,而iMessage作为苹果公司推出的即时通讯工具,因其便捷、安全和高效而备受用户喜爱。然而,对于一些开发者和企业来说,如何实现iMessage群发功能成为了他们面临的一大难题,为此,本文将分享一些iMessage群发软件开发的源代码段,帮助大家快速......
  • 测试管理| 从零到一:我的测试开发工程师之路
    霍格沃兹的测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供1v1私教指导,BAT级别的测试管理大咖量身打造职业规划。在我成为测试开......