1 Fork me on GitHub

10. SQL--create table:创建表

1. 前言

表(table)是以行和列形式组织的数据的集合,表被创建以后,列数是固定的,但是行数可以改变。创建表时,需要给表命名,并定义它的列以及每一列的类型。

sql create table 语句用于创建新的表。

2. 语法

create table 语句的基本语法如下:

create table table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnn datatype,
   primary key( one or more columns )
);

create table 是 sql 命令,告诉数据库你想创建一个新的表,它后面紧跟的 table_name 是表的名字。然后在括号中定义表的列,以及每一列的类型,稍后会有更加清晰明了的示例。

primary key 关键字用来指明表的主键。

另外,您也可以使用 create table 和 select 语句的组合来创建现有表的一个副本。

3. 示例

下面的例子将创建一个以 id 为主键的 website 表,该表用来存储一些世界知名网站的信息。代码如下:

create table website (
    id      int              not null   auto_increment,
    name    varchar(20)      not null,
    url     varchar(30)                 default '',
    age     tinyint unsigned not null,
    alexa   int unsigned     not null,
    uv      float                       default '0',
    country char(3)          not null   default '',
    primary key (`id`)
);

几点说明:
某些字段使用了 not null 约束,表名在插入数据时这些字段不能为 null;
auto_increment 约束用来将某个字段的值设置为自动增长的序列;
default 约束用来设置字段的默认值;
primary key 用来设置表的主键。


执行 create table 命令以后,你可以根据提示信息来确实表是否创建成功,也可以使用 desc 命令来查看表的结构,如下所示:

sql> desc website;
+---------+---------------------+------+-----+---------+----------------+
| field   | type                | null | key | default | extra          |
+---------+---------------------+------+-----+---------+----------------+
| id      | int(11)             | no   | pri | null    | auto_increment |
| name    | varchar(20)         | no   |     | null    |                |
| url     | varchar(30)         | yes  |     |         |                |
| age     | tinyint(3) unsigned | no   |     | null    |                |
| alexa   | int(10) unsigned    | no   |     | null    |                |
| uv      | float               | yes  |     | 0       |                |
| country | char(3)             | no   |     |         |                |
+---------+---------------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

现在,website 表已经存在于数据库中了,您可以存入与世界著名网站有关的数据。

posted @ 2022-08-30 10:02  v_jjling  阅读(1283)  评论(0编辑  收藏  举报
AmazingCounters.com