mysql主键,外键,非空,唯一,默认约束及创建表的方法

详解MySQL中的主键、外键、非空、唯一、默认约束及其在创建表中的应用

晋州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

MySQL作为一种广泛使用的关系型数据库管理系统,其强大的数据管理功能依赖于各种约束和索引,本文将详细介绍MySQL中的主键、外键、非空、唯一和默认约束,以及如何在创建表时应用这些约束。

主键约束

主键(Primary Key)是表中每一行数据的唯一标识,在MySQL中,主键具有以下特点:

1、唯一性:表中任意两行数据的主键值不能相同。

2、非空性:主键不能为空。

3、不可更改性:一旦创建,主键值不能被修改。

创建表时,可以使用以下方法定义主键:

CREATE TABLE table_name (
    column1 datatype PRIMARY KEY,
    column2 datatype,
    ...
);

也可以在定义完所有列之后指定主键:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    PRIMARY KEY (column1)
);

外键约束

外键(Foreign Key)用于建立表与表之间的关联关系,外键约束要求外键列的值必须在关联表的主键列中存在,外键具有以下特点:

1、引用完整性:外键列的值必须在关联表的主键列中有对应的值。

2、可空性:外键可以为空,但若设置为非空,则必须引用关联表的主键值。

3、删除和更新行为:当删除或更新关联表的主键值时,外键约束会影响与之关联的外键值。

创建表时,可以使用以下方法定义外键:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    FOREIGN KEY (column1) REFERENCES other_table(other_column)
);

非空约束

非空(NOT NULL)约束要求列的值不能为空,这意味着在插入或更新数据时,该列必须有具体的值,创建表时,可以在列定义后添加NOT NULL关键字来设置非空约束:

CREATE TABLE table_name (
    column1 datatype NOT NULL,
    column2 datatype,
    ...
);

唯一约束

唯一(UNIQUE)约束要求列的值在表中唯一,但允许有空值,创建表时,可以在列定义后添加UNIQUE关键字来设置唯一约束:

CREATE TABLE table_name (
    column1 datatype UNIQUE,
    column2 datatype,
    ...
);

也可以在定义完所有列之后指定唯一约束:

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    UNIQUE (column1)
);

默认约束

默认(DEFAULT)约束用于为列设置默认值,当插入数据时,如果没有为该列指定值,则会使用默认值,创建表时,可以在列定义后添加DEFAULT关键字来设置默认约束:

CREATE TABLE table_name (
    column1 datatype DEFAULT 'default_value',
    column2 datatype,
    ...
);

综合应用示例

以下是一个创建学生表和成绩表的示例,展示了主键、外键、非空、唯一和默认约束的应用:

-- 创建学生表
CREATE TABLE students (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    gender ENUM('男', '女') DEFAULT '男'
);
-- 创建成绩表
CREATE TABLE scores (
    id INT PRIMARY KEY,
    student_id INT NOT NULL,
    subject VARCHAR(50) NOT NULL,
    score INT NOT NULL,
    UNIQUE (student_id, subject),
    FOREIGN KEY (student_id) REFERENCES students(id)
);

MySQL中的主键、外键、非空、唯一和默认约束是保证数据完整性和一致性的重要手段,在实际开发中,合理使用这些约束可以避免数据冗余、错误和异常,提高数据库性能。

网站标题:mysql主键,外键,非空,唯一,默认约束及创建表的方法
转载来于:http://www.csdahua.cn/qtweb/news28/481628.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网