MySQL主键的标识方法大揭秘如何设置主键

MySQL主键的标识方法有多种,可以通过设置字段属性为PRIMARY KEY、AUTO_INCREMENT等方式来设置主键。

MySQL主键的标识方法有多种,常见的有以下几种:

1、自动增长(AUTO_INCREMENT)

MySQL主键的标识方法大揭秘如何设置主键

2、指定值(NOT NULL UNIQUE)

3、组合键(多列组成)

4、UUID(通用唯一标识符)

下面分别介绍这几种方法的设置方式。

1. 自动增长(AUTO_INCREMENT)

使用AUTO_INCREMENT属性,可以使得主键的值在插入数据时自动递增,这种方式适用于自增的整数作为主键的场景。

创建表时设置主键为自动增长:

MySQL主键的标识方法大揭秘如何设置主键

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

插入数据时,不需要指定主键的值,数据库会自动为其分配一个递增的值:

INSERT INTO users (username, password) VALUES ('张三', '123456');
INSERT INTO users (username, password) VALUES ('李四', 'abcdef');

查询表中的数据,可以看到主键的值已经自动递增:

SELECT * FROM users;

2. 指定值(NOT NULL UNIQUE)

如果主键的值需要手动指定,可以使用NOT NULLUNIQUE约束,这种方式适用于主键的值已知且不重复的场景。

创建表时设置主键为指定值:

CREATE TABLE orders (
    order_id INT NOT NULL UNIQUE,
    user_id INT NOT NULL,
    product_name VARCHAR(50) NOT NULL,
    quantity INT NOT NULL,
    PRIMARY KEY (order_id)
);

插入数据时,需要指定主键的值:

INSERT INTO orders (order_id, user_id, product_name, quantity) VALUES (1, 1, '产品A', 2);
INSERT INTO orders (order_id, user_id, product_name, quantity) VALUES (2, 2, '产品B', 1);

查询表中的数据,可以看到主键的值已经按照指定的值插入:

MySQL主键的标识方法大揭秘如何设置主键

SELECT * FROM orders;

3. 组合键(多列组成)

如果主键由多个列组成,可以使用组合键作为主键,这种方式适用于主键的值由多个列共同决定的场景。

创建表时设置主键为组合键:

CREATE TABLE employees (
    department_id INT NOT NULL,
    employee_id INT NOT NULL,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    PRIMARY KEY (department_id, employee_id)
);

插入数据时,需要指定主键的所有列的值:

INSERT INTO employees (department_id, employee_id, first_name, last_name) VALUES (1, 1001, '张', '三');
INSERT INTO employees (department_id, employee_id, first_name, last_name) VALUES (2, 1002, '李', '四');

查询表中的数据,可以看到主键的值已经按照指定的列插入:

SELECT * FROM employees;

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/503080.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-04-22 20:20
下一篇 2024-04-22 20:22

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入