现在我们希望创建一个名为 "my_db" 的数据库。
我们使用下面的 CREATE DATABASE 语句:
CREATE DATABASE my_db
可以通过 CREATE TABLE 来添加数据库表
演示如何创建名为 "Person" 的表。
该表包含 5 个列,列名分别是:"Id_P"、"LastName"、"FirstName"、"Address" 以及 "City":
CREATE TABLE Persons ( Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) )
最常用的数据类型:
数据类型 | 描述 |
---|---|
| 仅容纳整数。在括号内规定数字的最大位数。 |
| 容纳带有小数的数字。 "size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。 |
varchar(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 在括号中规定字符串的最大长度。 |
date(yyyymmdd) | 容纳日期。 |
可使用 INSERT INTO 语句向空表写入数据。
SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:
CREATE TABLE Persons ( Id_P intNOT NULL
, LastName varchar(255)NOT NULL
, FirstName varchar(255), Address varchar(255), City varchar(255) )
几种约束:
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
- DEFAULT
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
CHECK 约束用于限制列中的值的范围
CHECK (Id_P>0)
,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255))
DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新纪录
CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, OrderDate date DEFAULT GETDATE() )