SQL创建表(CREATE TABLE)
提示
- 基本用途:SQL中的
CREATE TABLE
语句用于创建存储数据的数据库表。 - 语法要求:创建表时,必须指定表名、列名以及每列的数据类型(如
int
,varchar
,text
等)。 - 高级选项:可以使用
IF NOT EXISTS
来避免创建重复的表名,或者使用CREATE TABLE AS
从现有表中复制数据创建新表。
数据库表用于存储记录(数据)。要创建数据库表,我们使用 SQL 的 CREATE TABLE
语句。
示例
CREATE TABLE Companies (
id int,
name varchar(50),
address text,
email varchar(50),
phone varchar(10)
);
这里,SQL 命令创建了一个名为 Companies
的表,包含列:id
、name
、address
、email
和 phone
。
CREATE TABLE 语法
SQL CREATE TABLE
语句的语法是:
CREATE TABLE table_name(
column1 data type, column2 data type, ...
);
这里,
table_name
是表的名称column1, column2, ...
是表中列的名称data type
是列的数据类型(可以是整数、字符串、日期等)
示例:创建 SQL 表
CREATE TABLE Students(
id int,
name varchar(50),
address text,
grades varchar(50),
phone varchar(10)
);
这里,int
、varchar(50)
和 text
是数据类型,说明可以在该字段中存储什么数据。一些常用的数据类型如下:
数据类型 | 描述 | 示例 |
---|---|---|
int | 可以存储数字 | 400 , -300 |
varchar(x) | 可以存储最大长度为 x 的可变字符 | John Doe , United States of America |
text | 可以存储最多 65535 个字符的文本 | 这是一个可以超过多行的非常长的段落。 |
注意: 在创建表时,我们必须为每个列提供数据类型。了解更多关于 SQL 数据类型。
CREATE TABLE IF NOT EXISTS
如果您创建与现有表同名的表,将收到错误消息。为解决此问题,我们可以在创建表时添加可选的 IF NOT EXISTS
命令。
例如,
CREATE TABLE IF NOT EXISTS Companies (
id int,
name varchar(50),
address text,
email varchar(50),
phone varchar(10)
);
这里,SQL 命令只在不存 在同名表时创建 Companies
表。
CREATE TABLE AS
我们还可以使用 CREATE TABLE AS
命令,利用任何其他现有表的记录来创建表。例如,
-- 通过复制 Customers 表中国家为 USA 的记录来创建表
CREATE TABLE USACustomers
AS (
SELECT *
FROM Customers
WHERE country = 'USA'
);
这里,SQL 命令创建了一个名为 USACustomers
的表,并将嵌套查询的记录复制到新表中。
推荐阅读