📜  mysql 创建表 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:06.085000             🧑  作者: Mango

MySQL 创建表 - SQL

在 MySQL 中,创建表是数据库管理系统的核心任务之一。表是存储数据的一种结构,每个表包含多个列(字段),每个列包含一个特定的数据类型。本文将介绍如何使用 SQL 语句创建 MySQL 表。

基本语法

以下是 MySQL 创建表的基本语法:

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

其中,CREATE TABLE是创建表的关键字,table_name是新表的名称,括号中的内容是表中的各个列及其数据类型。每个列需要按照“列名 数据类型”(column_name datatype)的格式来定义,并用逗号分隔。数据类型用于限制每个列所能包含的数据类型。例如:

CREATE TABLE employees (
    id INT,
    name VARCHAR(255),
    age INT,
    salary FLOAT
);
列属性

除数据类型之外,每个列还可以具有其他属性,如下所示:

  • PRIMARY KEY - 指示列为主键,用于唯一标识每个行。
  • AUTO_INCREMENT - 指示列应自动递增,用于每次插入新行时生成唯一值。
  • NOT NULL - 指示列不允许为空值。
  • UNIQUE - 指示该列中的每个值都是唯一的。
  • DEFAULT - 指示在插入新行时未提供该值时要使用的默认值。

例如:

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) UNIQUE,
    password VARCHAR(50) NOT NULL,
    email VARCHAR(255) DEFAULT 'example@example.com'
);

在此示例中,id 列是一个指定为主键的 INT 值,username 列具有唯一约束,因此该列中的每个值都必须是唯一的。password 列必须包含非空值,否则将无法插入新行。email 列具有默认值,因此如果插入新行时未提供该值,则使用 example@example.com 作为默认值。

添加约束

除了列属性之外,可以向表添加各种约束。常见的约束类型包括:

  • PRIMARY KEY - 用于指定表中的主键列
  • FOREIGN KEY - 用于指定与其他表的关联列。它指定该列是其他表中列的外键,因此,如果它的值在其他表中不存在,则无法插入新行。
  • UNIQUE - 用于确保列中的每个值都是唯一的。
  • CHECK - 用于检查列中的值是否符合特定的条件。

例如:

CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    customer_id INT,
    order_date DATE,
    amount FLOAT,
    FOREIGN KEY (customer_id) REFERENCES customers(id)
);

在此示例中,orders 表包含一个外键 customer_id,该外键指向另一个表中的 id 列。这样,只有具有匹配值的行才可以插入到 orders 表中。由于 id 列已指定为 PRIMARY KEY,因此每个行都具有唯一的 id 值。

总结

MySQL 创建表是管理数据库的基本任务之一。创建表需要使用 SQL 语句,您可以使用基本语法来定义每个表的列和数据类型。除了基本语法之外,还可以添加约束来确保数据的完整性和一致性。以上是 MySQL 创建表的一些基本信息,您可以使用此信息来创建自己的 MySQL 表。

参考资料: