SQL Create Table

在本教程中,将学习如何使用SQL CREATE TABLE语句来创建新表。

1. SQL CREATE TABLE语句简介

到目前为止,我们已经了解了数据库中的表是什么。现在,是时候学习如何创建表了。

表是存储在数据库中的数据集合。 表由列和行组成。 要创建新表,请使用具有以下语法的CREATE TABLE语句:

CREATE TABLE table_name(
     column_name_1 data_type default value column_constraint,
     column_name_2 data_type default value column_constraint,
     ...,
     table_constraint
);

创建新表所需的最低信息是表名和列名。
table_name指定的表名在数据库中必须是唯一的。 如果创建的表的名称与已存在的表相同,则数据库系统将发出错误。
CREATE TABLE语句中,指定以逗号分隔的列定义列表。每个列定义由列名,列的数据类型,默认值和一个或多个列约束组成。
列的数据类型指定列可以存储的数据类型。 列的数据类型可以是数字,字符,日期等。
列约束控制可以存储在列中的值的类型。 例如,NOT NULL约束确保列不包含NULL值。

列可能有多个列约束。 例如,users表的username列可以同时具有NOT NULLUNIQUE约束。
如果约束包含多个列,则使用表约束。 例如,如果表的主键包含两列,则在这种情况下,必须使用PRIMARY KEY表约束。

SQL CREATE TABLE示例

假设需要将员工的培训数据存储在数据库中,并要求每个员工可以接受零或多个培训课程,并且每个培训课程可以由零个或多个员工进行。

在查看了当前数据库后,发现没有地方存储此信息,因此创建一个新的表。

以下语句创建课程表:

CREATE TABLE courses (
    course_id INT AUTO_INCREMENT PRIMARY KEY,
    course_name VARCHAR(50) NOT NULL
);

courses表有两列:course_idcourse_name
course_id是课程表的主键列。 每个表都有一个且只有一个主键,用于唯一标识表中的每一行。

注:为每个表定义主键是一个好习惯。

course_id的数据类型是整数,由INT关键字表示。 此外,course_id列的值为AUTO_INCREMENT。表示当在courses表中插入新行而不提供course_id列的值时,数据库系统将为该列生成一个整数值。
course_name存储课程名称。 其数据类型是最大长度为50的字符串(VARCHAR)。NOT NULL约束确保course_name列中不存储NULL值。

现在有了存储课程数据的表。 要存储训练数据,请按如下方式创建名为training的新表。

CREATE TABLE trainings (
    employee_id INT,
    course_id INT,
    taken_date DATE,
    PRIMARY KEY (employee_id , course_id)
);

trainings表包含三列:

  • employee_id列存储参加课程的员工的ID。
  • course_id列存储员工所采用的课程。
  • taken_date列存储员工参加课程的日期。

因为trainings表的主键由两列组成:employee_idcourse_id,所以必须使用PRIMARY KEY表约束。

在本教程中,您学习了如何使用SQL CREATE TABLE语句在数据库中创建新表。


猿狮妹
2022-11-26
SQLCreateTable 在线教程
热门教程
1 SQL复制表 如果要将SQL表复制到同一数据库中的另一个表中,可以使用select语句。从一个表复制到另一个表的语法如下:SELECT * INTO FROM 例如,可以使用以下语句将hr_employee表的记录复制到employee表中。SELECT * INTO employee FROM hr_employee;注意:SELECT INTO与INSERT INTO语句完全不同...
2 SQL Max()函数 在本教程中,您将学习如何使用SQL Max函数查找组中的最大值。1. SQL MAX函数简介SQL提供MAX()函数,用于在一组值中查找最大值。 以下是MAX函数的语法。MAX(expression)MAX函数忽略NULL值。与SUM,COUNT和AVG函数不同,DISTINCT选项不适用于MAX函数。2. SQL MAX函数示例...
3 SQL Sum()函数 在本教程中,我们将演示如何使用SQL SUM函数,此函数计算所有值或不同值的总和。1. SQL SUM函数简介SQL SUM函数是一个聚合函数,它返回所有或不同值的总和。需要注意的是,只能将SUM函数应用于数字列。以下说明了SUM函数的语法。SUM([ALL|DISTINCT] expression)ALL运算符用于将聚合应用于所有值。 SUM函数默认使用ALL运算符。例如,如果有一组集合值:(1,2,3,3,NULL)。 使用SUM函数将返回9,请注意,SUM函...
4 SQL Insert语句 在本教程中,我们将学习如何使用SQL INSERT语句来将数据插入表中。1. SQL INSERT语句简介SQL提供了INSERT语句,用于将一行或多行插入表中。 INSERT语句用于:向表中插入一行向表中插入多行将行从一个表复制到另一个表中。...
5 SQL Count()函数 本教程将向您展示如何使用SQL COUNT函数来获取组中的项目数。1. SQL COUNT函数简介SQL COUNT函数是一个聚合函数,它返回符合条件行数。 可以使用SELECT语句中的COUNT函数来获取员工数量,每个部门的员工数量,指定工作岗位的员工数量等。以下是SQL COUNT函数的语法:COUNTC ([ALL | DISTINCT] expression);COUNT函数的结果取决于传递给它的参数。默认情况下,COUNT函数使用ALL关键字,无论是否...
6 SQL Update语句 在本教程中,您将学习如何使用SQL UPDATE语句来修改表中现有行的数据。
7 SQL Order By排序 本教程将演示如何使用SQL ORDER BY子句根据指定的标准按升序或降序对结果集进行排序。1. SQL ORDER BY子句简介当使用SELECT语句查询表中的数据时,结果集中显示的行的顺序可能与您的预期不符。在某些情况下,结果集中显示的行按其物理存储在表中的顺序排列。 但是,如果查询优化器使用索引来处理查询,则行记录将显示为它们以索引键顺序存储。 因此,结果集中的行顺序未确定或不可预测。查询优化器是数据库系统中的内置软件组件,用于确定SQL语句查询请求数据的最有效方...
8 SQL自连接 本教程将向您展示如何使用SQL自连接技术将表连接到自身。1. SQL自连接简介有时,将表连接到自身是很有用的。 这种类型的连接称为自连接。我们将一张表连接到自身来评估同一个表中其他行的行。 要执行自联接,我们使用内连接或左连接子句。因为同一个表在单个查询中出现两次,所以必须使用表别名。 以下语句说明了如何将表连接到自身。...
9 SQL检查约束 在本教程中,将学习如何使用SQL CHECK约束来验证基于布尔表达式的列或一组列中的数据。1. SQL CHECK约束简介CHECK约束是SQL中的完整性约束,它允许您指定列或列集中的值必须满足布尔表达式。您可以在单个列或整个表上定义CHECK约束。 如果在单个列上定义CHECK约束,则CHECK约束仅检查此列的值。 但是,如果在表上定义CHECK约束,则会根据同一行的其他列中的值限制列中的值。...
10 SQL Delete语句 在本教程中,您将学习如何使用SQL DELETE语句删除表中的一行或多行。1. SQL DELETE语句简介要从表中删除一行或多行,请使用DELETE语句。 DELETE语句的一般语法如下:
  • Copyright © 2021 猿狮院, All rights reserved.