sql create table[创建表]

2018年02月13日 14:38 | 2952次浏览

表是数据库中储存数据的基本架构。在绝大部份的情况下,数据库厂商不可能知道您需要如何储存您的数据资料,所以通常您会需要自己在数据库中建立表格。虽然许多数据库工具可以让您在不需用到 SQL 的情况下建立表格,不过由于表格是一个最基本的架构,我们决定包括 CREATE TABLE 的语法在这个网站中。


在我们跳入 CREATE TABLE 的语法之前,我们最好先对表格这个东西有些多一点的了解。表格被分为列 (column)行 (row)。每一列代表一笔资料,而每一代表一笔资料的一部份。举例来说,如果我们有一个记载顾客资料的表格,那就有可能包括姓、名、地址、城市、国家、生日...等等。当我们对表格下定义时,我们需要注明的标题,以及那个的资料种类。


那,数据类型是什么呢?数据类型可能是以许多不同的形式存在的。它可能是一个整数 (例如 1),、一个实数(例如 0.55)、一个字串 (例如 'sql')、一个日期/时间 (例如 '2000-JAN-25 03:22:22')、或甚至是 以二进法 (binary) 的状态存在。当我们在对一个表格下定义时,我们需要对每一个的数据类型下定义。(例如 '姓' 这个的数据类型是 char(50)━━代表这是一个 50 个字符的字串)。我们需要注意的一点是不同的数据库有不同的数据类型,所以在对表格做出定义之前最好先参考一下数据库本身的说明。

CREATE TABLE 的语法是:

CREATE TABLE "表格名"
("列 1" "列 1 数据类型",
"列 2" "列 2 数据类型",

或者这样定义更能使读者明白

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

示例:

下面是一个例子,它使用ID作为主键并且为NOT NULL来创建一个客户表的约束,这些字段不能为NULL在创建该表的记录时:

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

把上述sql语句复制到sql客户端执行,您可以验证,如果你的表已成功创建,可通过查看SQL服务器显示的消息,也可以使用DESC命令,如下所示:

SQL> DESC CUSTOMERS;
+---------+---------------+------+-----+---------+-------+
| Field   | Type          | Null | Key | Default | Extra |
+---------+---------------+------+-----+---------+-------+
| ID      | int(11)       | NO   | PRI |         |       |
| NAME    | varchar(20)   | NO   |     |         |       |
| AGE     | int(11)       | NO   |     |         |       |
| ADDRESS | char(25)      | YES  |     | NULL    |       |
| SALARY  | decimal(18,2) | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

现在数据库,可以用它来存储用户所需的信息在CUSTOMERS表。



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程