数据库--表的约束

本文介绍了数据库中表的约束,包括null、not null、default、comment、primary key、auto_increment和unique key。强调了null字段在实际开发中的问题,解释了主键和唯一键的概念及使用,以及如何通过alter命令添加和删除主键。还讨论了外键在定义主从表关系中的作用。

   之前我们介绍了数据的类型,今天我们主要介绍数据库中表的约束,虽然数据类型对我们的数据进行了一定程度的约束,但是那些约束很单一,很多情况还是难以处理,所以就有了表的约束。对于表的约束主要有:null、not null、default、comment、primary key、auto_increment、uniqu key。

  这里我们一一进行介绍,首先是null和not null,通过字面意思就可以明白这两个属性是对数据是否可以为空的,数据库中的默认字段基本都是字段为空,但是在实际开发过程中, 要减少空字段的数量,因为空字段是没办法参与运算的。

   

首先我们创建一个名字叫做myclass的表,这个表里我们在设置列的时候将两个列班级名称和班级教室都设置了not null。

当我们在插入数据的时候

### 数据库创建及常用约束定义 #### 数据库创建 在 MySQL 中,数据库的创建通过 `CREATE DATABASE` 语句完成。执行此操作后,可以使用 `SHOW DATABASES;` 查看当前 MySQL 实例中存在的所有数据库列表[^2]。 以下是创建数据库的一个简单示例: ```sql CREATE DATABASE example_db; ``` #### 表创建与约束定义 当创建表时,可以在列定义的同时指定各种约束条件来确保数据的一致性和完整性。通常情况下,这些约束会在 `CREATE TABLE` 语句中一并声明[^3]。 下面是一个完整的例子,展示如何在一个新表中应用多种常见约束: ```sql CREATE TABLE employees ( id INT AUTO_INCREMENT PRIMARY KEY, -- 主键约束和自增约束 name VARCHAR(100) NOT NULL, -- 非空约束 age INT CHECK (age > 18 AND age < 65), -- 检查约束 email VARCHAR(100) UNIQUE, -- 唯一性约束 department_id INT, salary DECIMAL(10, 2) DEFAULT 0.00 CHECK (salary >= 0), -- 默认值约束和非负约束 FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE CASCADE -- 外键约束 ); ``` 在此示例中: - **主键约束 (`PRIMARY KEY`)**:用于唯一标识每一条记录。 - **非空约束 (`NOT NULL`)**:强制字段不能为空。 - **检查约束 (`CHECK`)**:限定字段取值范围。 - **唯一性约束 (`UNIQUE`)**:保证某列或多列组合不重复。 - **默认值约束 (`DEFAULT`)**:设置字段如果没有提供值时使用的默认值。 - **外键约束 (`FOREIGN KEY`)**:建立与其他表之间的关系,并可附加删除级联选项。 - **自增约束 (`AUTO_INCREMENT`)** 和 **非负约束** 是特定于某些类型的额外特性。 以上就是关于数据库创建及其常用约束定义的核心内容[^1]。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值