当前位置: 首页 > article >正文

Mysql中创建表时的约束条件

约束条件说明示例用法
主键约束
(PRIMARY KEY)
唯一标识表中的每一行记录,一个表只能有一个主键,主键列的值不能为NULL且不能重复CREATE TABLE students (
  student_id INT PRIMARY KEY
  name VARCHAR(50)
);
创建表时直接指定某一列为主键,或用PRIMARY KEY定义多列组合为主键
外键约束
(FOREIGN KEY)
建立表与表之间的关联关系,确保一个表中的数据引用另一个表中存在的数据,外键指向的列通常是另一个表的主键CREATE TABLE enrollments (
    enrollment_id INT PRIMARY KEY,
    student_id INT,
    course_id INT,
    FOREIGN KEY (course_id) 其他表名 courses(字段名)
);
创建表时用FOREIGN KEY指定外键列,用REFERENCES指定引用的表和列
唯一约束
(UNIQUE)
确保列中的值是唯一的,允许列中有一个NULL值CREATE TABLE users (
    user_id INT PRIMARY KEY,
    email VARCHAR(100) UNIQUE
);
创建表时用UNIQUE指定列具有唯一约束
非空约束
(NOT NULL)
确保列中的值不能为空,插入或更新数据时该列必须有值CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    salary DECIMAL(10, 2)
);
创建表时用NOT NULL指定列不允许为空
默认约束
(DEFAULT)
为列指定默认值,插入数据时若未为该列提供值,则使用默认值CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    order_date DATE DEFAULT CURDATE(),
    status VARCHAR(20) DEFAULT 'Pending'
);
创建表时用DEFAULT指定列的默认值
检查约束
(CHECK)
确保列中的值满足特定的条件,但 MySQL 从 8.0.16 版本开始支持CHECK约束语法,实际不强制执行检查CREATE TABLE products (
    product_id INT PRIMARY KEY,
    price DECIMAL(10, 2) CHECK (price > 0)
);
创建表时用CHECK指定列需要满足的条件
自增约束
(AUTO_INCREMENT)
为整数类型的列自动生成唯一的递增数值,通常与主键一起使用CREATE TABLE customers (
    customer_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50)
);
创建表时用AUTO_INCREMENT指定列具有自增属性

http://www.kler.cn/a/589714.html

相关文章:

  • 力扣刷题——2181.合并零之间的节点
  • Java中的GC是什么?
  • STM32U575RIT6单片机(四)
  • 基于WebRTC与P2P技术,嵌入式视频通话EasyRTC实现智能硬件音视频交互,适配Linux、ARM、RTOS、LiteOS
  • 深度学习处理时间序列(1)
  • 嵌入式学习笔记-C语言知识点:栈的作用,C语言函数参数的入栈顺序,C++ 拷贝构造函数,数组名和指针的区别与联系,指针运算,指针和引用
  • Apache Spark_解决生产环境数据倾斜问题方案及思路
  • Tomcat新手入门指南:从零开始安装与基本配置
  • Python驱动CATIA自动化建模:科赫雪花算法实现与工程应用
  • 《解锁华为黑科技:MindSpore+鸿蒙深度集成奥秘》
  • 咪咕MG101_晨星MSO9380芯片_安卓5.1.1_免拆卡刷固件包
  • Bash语言的手动测试
  • Keepalived 多主模型与 LVS 高可用
  • 基于System V的共享内存函数使用指南
  • Flume详解——介绍、部署与使用
  • 2025深圳国际数字能源展全球招商启动,9月18日盛大开启
  • XGPT x DeepSeek:微步AI安全助手满血升级
  • 蓝桥杯备考-----》差分数组+二分答案 借教室
  • python局部变量和全局变量
  • nodejs 使用 puppeteer 打印PDF 有元素没有打印出来