MySQL 创建表带主键

在 MySQL 数据库中,创建表时可以为表添加主键(Primary Key)。主键是用来唯一标识表中的每一行数据的,它可以保证数据的完整性和一致性。本文将介绍如何在 MySQL 中创建带主键的表,并提供一些示例代码。

创建表

在 MySQL 中,可以使用 CREATE TABLE 语句来创建表。下面是一个简单的示例,创建了一个名为 users 的表,并设置了三个字段:idnameage

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT
);

在上述代码中,我们使用 INT 类型定义了 idage 字段,这表示它们是整数类型。VARCHAR(50) 表示 name 字段是一个最大长度为 50 的字符串。

添加主键

要为表添加主键,可以在字段定义后使用 PRIMARY KEY 关键字来指定。主键必须是唯一的,并且不能包含空值。

下面是一个示例,为上述的 users 表添加了主键:

CREATE TABLE users (
  id INT,
  name VARCHAR(50),
  age INT,
  PRIMARY KEY (id)
);

在上述示例中,我们将 id 字段指定为主键。

主键约束

主键约束是用来约束主键的一组规则。在 MySQL 中,主键约束具有以下特性:

  • 主键是唯一的,不能重复。
  • 主键不能为空值,每一行数据都必须有主键值。
  • 表中只能有一个主键。

当试图插入重复的主键值或空值时,MySQL 将会引发错误。为了提高查询性能,主键字段通常还会创建索引。

示例

下面是一个更完整的示例,展示了如何使用 MySQL 创建一个带有主键的表,并插入一些数据。

-- 创建表
CREATE TABLE students (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT
);

-- 插入数据
INSERT INTO students (id, name, age)
VALUES (1, 'Alice', 20),
       (2, 'Bob', 22),
       (3, 'Charlie', 21);

-- 查询数据
SELECT * FROM students;

在上述示例中,我们首先创建了一个名为 students 的表,并指定了 id 字段为主键。然后,我们使用 INSERT INTO 语句插入了三条数据。最后,使用 SELECT 语句查询了整个表的数据。

类图

下面是一个示例类图,展示了 users 表的类结构。

classDiagram
    class User {
        -id: int
        -name: string
        -age: int
    }

在上述类图中,我们定义了一个名为 User 的类,它具有 idnameage 三个私有属性。

关系图

下面是一个示例关系图,展示了 students 表中字段之间的关系。

erDiagram
          STUDENTS }|..|| ID : is
          STUDENTS }|..|| NAME : string
          STUDENTS }|..|| AGE : int

在上述关系图中,我们可以看到 students 表中的 idnameage 字段之间的关系。

总结

通过本文,我们了解了在 MySQL 中创建带有主键的表的方法,并提供了一些示例代码。主键是用来唯一标识表中数据的重要特性,它可以提高数据的完整性和一致性。希望本文对你在 MySQL 数据库开发中的工作有所帮助。