美文网首页
MySQL数据库的约束

MySQL数据库的约束

作者: 大龙10 | 来源:发表于2023-05-07 12:42 被阅读0次

一、 MySQL数据类型

常用的数据类型有:

  • 整型(xxxint)
  • 位类型(bit)
  • 浮点型(float和double、real)
  • 定点数(decimal,numeric)
  • 日期时间类型(date,time,datetime,year)
  • 字符串(char,varchar,xxxtext)
  • 二进制数据(xxxBlob、xxbinary)
  • 枚举(enum)
  • 集合(set)

二、约束

1、为什么需要约束

  • 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。
    它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。
  • 为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。
  • 从以下四个方面考虑:
    实体完整性(Entity Integrity) :例如,同一个表中,不能存在两条完全相同无法区分的记录
    域完整性(Domain Integrity) :例如:年龄范围0-120,性别范围“男/女”
    引用完整性(Referential Integrity) :例如:员工所在部门,在部门表中要能找到这个部门
    用户自定义完整性(User-defined Integrity) :例如:用户名唯一、密码不能为空等

2、什么是约束

  • 约束是表级的强制规定。
    可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后通过 ALTER TABLE 语句规定约束。
  • 根据约束数据列的限制,约束可分为:
    单列约束:每个约束只约束一列
    多列约束:每个约束可约束多列数据
  • 根据约束的作用范围,约束可分为:
    列级约束:只能作用在一个列上,跟在列的定义后面
    表级约束:可以作用在多个列上,不与列一起,而是单独定义
  • 根据约束起的作用,约束可分为:
    NOT NULL 非空约束,规定某个字段不能为空
    UNIQUE 唯一约束,规定某个字段在整个表中是唯一的
    PRIMARY KEY 主键(非空且唯一)约束
    FOREIGN KEY 外键约束
    CHECK 检查约束
    DEFAULT 默认值约束

3、如何指定自增约束

  • 特点和要求
    (1)一个表最多只能有一个自增长列
    (2)当需要产生唯一标识符或顺序值时,可设置自增长
    (3)自增长列约束的列必须是键列(主键列,唯一键列)
    (4)自增约束的列的数据类型必须是整数类型
    (5)如果自增列指定了 0 和 null,会在当前最大值的基础上自增;如果自增列手动指定了具体值,直接赋值为具体值。

create table test
(
id int(10) not null auto_increment, -- 表示自增列
name varchar(20) not null,
primary key(id)
)
auto_increment = 1; -- 表示自增起始大小-- 这样就可以创建一个表test,id为自增列
-- 执行语句 insert into test (name) values ('名字');
-- 就可以插入一行数据为: 1 '名字'

相关文章

  • MySql 中的约束

    MySql 中的约束 作用:给表添加约束值,从而约束用户操作数据库的行为 数据库常见的约束值如下: 默认值约束(d...

  • MySql笔记

    Mac安装并运行MySql MySql数据库、数据表的操作 MySql数据类型及常见约束 MySql表操作 MyS...

  • MYSQL数据库约束类型

    MYSQL数据库约束类型 一.主键约束(primary key) 主键约束要求主键列的数据唯一,并且不能为空。主键...

  • MySQL — 创建数据库

    来自MySQL的学习笔记,写的不对的地方大家多多指教哦 一、创建数据库 创建数据库的语法 二、约束 1.主键约束 ...

  • springboot支持tk.mybatis 28

    本文将介绍在springboot中支持tkmybatis。 1、前提约束 在mysql数据库中的test数据库实例...

  • MySQL约束

    mysql约束 1. 约束简介 关系型数据库系统和文件系统的一个不同点是,关系型数据库本身能保证存储数据的完整性,...

  • MySQL常见的建表约束(Create Table Constr

    MySQL约束是一系列规则,用来约束(允许/限制)存储在列中的数据。施加约束的目的是为了保证数据库的一致性。MyS...

  • MySQL基础02

    目标1)数据约束2)数据库设计(表约束)3)存储过程4)触发器5)mysql权限问题 1.SQL语句分类: DDL...

  • MySQL数据库操作

    数据库 MySQL 基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建...

  • 2019-4-30

    一、mysql删除外键约束 1、查看创建数据库的sql语句 show create table emp 2、查看外...

网友评论

      本文标题:MySQL数据库的约束

      本文链接:https://www.haomeiwen.com/subject/apthsdtx.html