SQL语句 - CREATE 创建表

CREATE TABLE 语句创建新的数据库表

1
2
3
4
5
6
# 创建带有可选表约束和默认值的表语句
CREATE TABLE IF NOT EXISTS mytable (
column DataType TableConstraint DEFAULT default_value,
another_column DataType TableConstraint DEFAULT default_value,

);

如果已经存在一个具有相同名称的表,则SQL实现通常会引发错误,因此可以使用该IF NOT EXISTS子句来抑制该错误并跳过创建表的操作(如果存在)。

表数据类型

数据类型 描述
INTEGER , BOOLEAN INTEGER类型可以存储整个整数值,例如数字或年龄。在某些实现中,BOOLEAN仅表示为仅0或1的整数值。
FLOATDOUBLEREAL 浮点数据 类型可以存储更精确的数字数据,例如测量值或分数值。根据该值所需的浮点精度,可以使用不同的类型。
CHARACTER(num_chars)
VARCHAR(num_chars)
TEXT
基于文本的数据类型可以在各种语言环境中存储字符串和文本。在使用这些列时,各种类型之间的区别通常等于底层数据库的效率。

CHARACTERVARCHAR(可变字符)类型均指定了它们可以存储的最大字符数(较长的值可能会被截断),因此可以更有效地存储和查询大表。
DATEDATETIME SQL还可以存储日期和时间戳,以跟踪时间序列和事件数据。它们可能很难处理,尤其是在跨时区处理数据时。
BLOB 最后,SQL可以将二进制数据直接存储在数据库中的blob中。这些值对于数据库通常是不透明的,因此通常必须将它们与正确的元数据一起存储才能重新查询它们

文件: MySQLPostgresSQLiteMicrosoft SQL Server

表约束

约束 描述
PRIMARY KEY 主键,这意味着该列中的值是唯一的,并且每个值都可用于标识该表中的单个行。
AUTOINCREMENT 对于整数值,这意味着该值将自动填充,并随 每次行插入而增加。并非所有数据库都支持。
UNIQUE 这意味着此列中的值必须是唯一的,因此您不能在此列中插入与表中的另一行具有相同值的另一行。与“ PRIMARY KEY”不同的是,它不必是表中一行的键。
NOT NULL 这意味着插入的值不能为“ NULL”
CHECK (expression) 这使您可以运行更复杂的表达式来测试插入的值是否有效。例如,您可以检查值是正数还是大于特定大小,或者以特定前缀开头等等。
FOREIGN KEY 外键,这是一个一致性检查,可确保此列中的每个值都与另一个表中列中的另一个值相对应。

例子

1
2
3
4
5
6
7
8
# 电影表架构
CREATE TABLE movies (
id INTEGER PRIMARY KEY,
title TEXT,
director TEXT,
year INTEGER,
length_minutes INTEGER
);

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :