Coursera 笔记

Module 02 · Introduction to Relational Databases and Tables

CREATE TABLE StatementCREATE TABLE 语句详解

Coursera ↗

欢迎学习 CREATE TABLE 语句。

学习目标

完成本视频的学习后,您将能够解释如何使用实体名称和属性来创建关系数据库表。


CREATE语句:数据定义语言 (DDL)

CREATE 是最常用的 数据定义语言 (DDL) 语句 之一,用于在数据库中创建实体或表。

CREATE TABLE** 语法结构**

CREATE TABLE 的基本语法如下所示:

SQL

CREATE TABLE table_name (
    column1_name DATATYPE [optional_values],
    column2_name DATATYPE [optional_values],
    ...
);
  • 起始: 使用 CREATE TABLE,后跟您想要创建的表名。
  • 主体: 语句的其余部分包含在一对圆括号 () 内。
  • 列定义: 圆括号内的每一行指定一个列名,后跟其数据类型,以及一些可选的附加值(例如约束)。
  • 分隔符: 每个属性或列定义之间使用逗号 , 分隔。

简单示例:加拿大省份表

假设我们要创建一个用于存储加拿大省份信息的表:

SQL

CREATE TABLE provinces (
    id CHAR(2) PRIMARY KEY NOT NULL, 
    name VARCHAR(24)
);

列名 数据类型 长度/约束 描述
id CHAR(2) PRIMARY KEY NOT NULL 存储 2 个字母的省份缩写代码,如 AB、BC 等。
name VARCHAR(24) - 存储省份的全名,如 ALBERTA、BRITISH COLUMBIA 等。

数据类型说明:

  • CHAR** (n):** 固定长度的字符字符串,本例中长度为 2。
  • VARCHAR** (n):** 可变长度的字符字符串,本例中最大长度可达 24 个字符。

执行此语句后,将在数据库中创建一个包含 2 个列的表。


复杂示例:图书馆数据库 AUTHOR 表

我们基于图书馆数据库的 AUTHOR** 实体**来创建一个更复杂的表。

  • 表名: AUTHOR
  • 属性 (列): AUTHOR_ID, FIRSTNAME, LASTNAME 等。

我们将 AUTHOR_ID** 属性指定为主键 (Primary Key)**,以确保不会出现重复值。

💡 回顾: 关系表的主键唯一标识表中的每个元组(行)。

创建AUTHOR表的命令

SQL

CREATE TABLE author (
    author_id CHAR(2) PRIMARY KEY NOT NULL, 
    lastname VARCHAR(15) NOT NULL,
    firstname VARCHAR(15) NOT NULL, 
    email VARCHAR(40), 
    city VARCHAR(15),
    country CHAR(2)
);
列名 数据类型 约束 作用
author_id CHAR(2) PRIMARY KEY NOT NULL 确保该值唯一且非空,防止重复值。
lastname VARCHAR(15) NOT NULL 确保该字段不能为空(作者必须有姓氏)。
firstname VARCHAR(15) NOT NULL 确保该字段不能为空(作者必须有名字)。
email VARCHAR(40) - 存储电子邮件(可选)。
city VARCHAR(15) - 存储城市(可选)。
country CHAR(2) - 存储国家/地区代码(可选)。

总结要点

  • CREATE 是用于在数据库中创建实体或表的 DDL 语句。
  • CREATE TABLE 语句包含表中属性(列)的定义,包括:
    • 列的名称
    • 列的数据类型
    • 所需的其他可选值,例如 PRIMARY KEY 约束。