SQL 创建数据库、表以及索引

创建数据库

这样做就可以创建一个数据库:

CREATE DATABASE 数据库名称

创建一个表

这样做就可以创建一个数据库中的表:

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
.......
)

实例

本例演示如何创建名为 "Person" 的表,有四个列。列名是:"LastName"、"FirstName"、"Address" 以及 "Age":

CREATE TABLE Person 
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
) 

这个例子演示如何为某些列定义长度的最大值:

CREATE TABLE Person 
(
LastName varchar(30),
FirstName varchar,
Address varchar,
Age int(3)
)

数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:

数据类型 描述
  • integer(size)
  • int(size)
  • smallint(size)
  • tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。
  • decimal(size,d)
  • numeric(size,d)

容纳带有小数的数字。

"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

char(size)

容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。

在括号中规定字符串的长度。

varchar(size)

容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。

在括号中规定字符串的最大长度。

date(yyyymmdd) 容纳日期。

创建索引

索引被创建于已有的表中,它可使对行的定位更快速更有效。可以在表格的一个或者多个列上创建索引,每个索引都会被起个名字。用户无法看到索引,它们只能被用来加速查询。

注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常用于搜索的列上面创建索引。

唯一的索引 (Unique Index)

在表格上面创建某个一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。

CREATE UNIQUE INDEX 索引名称
ON 表名称 (列名称) 

"列名称" 规定你需要索引的列。

简单的索引

在表上创建一个简单的索引。当我们省略关键词 UNIQUE 时,就可以使用重复的值。

CREATE INDEX 索引名称
ON 表名称 (列名称)

"列名称" 规定你需要索引的列。

实例

本例会创建一个简单的索引,名为 "PersonIndex",在 Person 表的 LastName 字段:

CREATE INDEX PersonIndex
ON Person (LastName) 

如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC

CREATE INDEX PersonIndex
ON Person (LastName DESC) 

假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:

CREATE INDEX PersonIndex
ON Person (LastName, FirstName)