下面学习如何创建数据表,即建表,建表语句格式如下。
create table <tablename>(
<字段名称> <数据类型>,
<字段名称> <数据类型>,
<字段名称> <数据类型>,
......
);
说明:每个字段以逗号分隔,最后一个字段不加逗号。
例如,有以下数据学生信息数据,共有6个字段,分别为学号、姓名、性别、出生日期、班级和城市。
stuId | stuName | sex | birthDate | class | city |
---|---|---|---|---|---|
20161001 | Sunbin | 男 | 1990/1/1 | 1 | Beijing |
20161002 | Wangwu | 女 | 1991/1/3 | 1 | Beijing |
20161003 | Lisi | 男 | 1990/11/4 | 1 | Shanghai |
20161004 | Ximen | 男 | 1989/8/7 | 1 | |
20161005 | zhangsan | 女 | 1989/1/2 | 1 | Tianjin |
20161010 | Leilei | 男 | 1990/12/5 | 1 | |
20161015 | Niuer | 女 | 1990/7/6 | 1 | Guangzhou |
根据以上数据的结构建表,SQL语句如下。
create table stuInfo(
stuId int unsigned primary key,
stuName varchar(10) not null,
gender varchar(5),
birthDate date,
class varchar(2),
city varchar(20)
);
以上建表语句中,说明以下几点。
- 表名为stuInfo,表名不能重复,如果已存在一个叫作stuInfo的表,则会报错。
- int unsigned:无符号整型,即非负整数。其实学号设置字符型合理,这里只是为了演示。
- primary key:主键,每一条记录的唯一标识,类似于每个人的身份证号,必须是唯一的,这里将stuId设置为主键,因为stuid代表学号,学号不可能重复。
- varchar(10):可变长字符串,最长为10个字符,不管是一个中英文字符或者数字、或者一个汉字,都当做一个字符。
- birthDate表示出生日期,所以是日期型date。
对于已经存在的表,可以用describe命令查看表结构,用法为:
describe <tablename>;
例如,查看刚才创建的表stuInfo的表结构,SQL为:
describe stuInfo;
执行结果:
以下执行结果给出了字段名称、数据类型、是否非空,主键字段(stuId)及默认值(建表时未设置,所以是NULL)。
建表完成,下一节将会学习如何插入数据。