Sql简介 专题
专题目录
您的位置:database > Sql简介专题 > SQL Create Table
SQL Create Table
作者:--    发布时间:2019-11-20

在本教程中,将学习如何使用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语句在数据库中创建新表。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册