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

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.dtcms.com/a/73990.html

相关文章:

  • 使用Dependency Walker和Beyond Compare快速排查dll动态库损坏或被篡改的问题
  • JavaScript如何做类型转换
  • Python文字识别OCR
  • 麒麟服务器操作系统QT系列软件工具手册
  • 双指针算法-day11(双序列双指针)
  • 用hexo初始化博客执行hexo init时碰到的问题
  • 【即插即用涨点模块】EGA边缘引导注意力:有效保留高频边缘信息,提升分割精度,助力高效涨点【附源码+注释】
  • 告别硬编码:优雅管理状态常量与响应码
  • Ansible Facts变量
  • 相对论之光速
  • IP地址分配
  • Python 中用T = TypeVar(“T“)这个语法定义一个“类型变量”,属于类型提示系统的一部分
  • Java学习打卡-Day18-ArrayList、Vector、LinkedList
  • Ajax原理笔记
  • JDBC数据库连接池技术详解——从传统连接方式到高效连接管理
  • 零拷贝分析
  • LeetCode热题100JS(49/100)第九天|199|114|105|437|236
  • undo log ,redo log 和binlog的区别?
  • 使用 yum 命令安装 MariaDB 指南
  • 安卓edge://inspect 和 chrome://inspect调试移动设备上的网页
  • 瑞幸需要宇树科技
  • UNION,UNION ALL 的详细用法
  • 【leetcode hot 100 437】路径总和Ⅲ
  • Typora 使用教程(标题,段落,字体,列表,区块,代码,脚注,插入图片,表格,目录)
  • 什么是广播系统语言传输指数 STIPA
  • CCF CSP 第30次(2023.05)(1_仓库规划_C++)
  • 关于运行 npm run serve/dev 运行不起来,node_modules Git忽略不了等(问题)
  • 冰羚杂谈(四)上下游对齐工作节奏
  • 基于SpringBoot+Vue3实现的宠物领养管理平台功能一
  • 算法竞赛-基础算法-位运算