外观
创建数据表
创建数据表使用CREATE TABLE语句,语法如下:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名 [{create_difinition,...}][table_options][select_statement];其中,TEMPORARY代表若使用此关键字,那么将创建一个临时表。
create_definition是表的列属性部分,MySQL要求在创建表时至少包含一列。
table_options是表的一些特性参数,其中大部分选项涉及的是表数据如何存储以及存储在何处,如ENGINE选项用于定义表的存储引擎。多数情况下,用户不必指定表选项。
select_statement是SELECT语句描述部分,用于快速创建表。
下面介绍列属性create_statement部分,每一列定义的具体格式如下:
col_name type [NOT NULL|NULL] [DEFUALT default_value] [AUTO_INCREAMENT] [PRIMARY_KEY] [reference_definition]其中,col_name代表字段名。
type代表字段类型。
NOT NULL|NULL代表该列是否允许是空值,系统一般允许是空值,所以若不想允许为空值必须使用NOT NULL。
DEFAULT default_value代表默认值。
AUTO_INCREMENT代表是否自动编号,每个表只能有一个该列,且必须被索引。
PRIMARY_KEY表示是否为主键,一个表只能有一个主键。若表中没有主键,而某些应用程序需要主键,MySQL将返回第一个没有任何NULL列的UNIQUE键作为主键。
reference_definition代表为字段添加注释。
创建数据表的简洁形式
CREATE TABLE table_name (列名1 属性, 列名2 属性);创建第一个数据表
create table tb_first (id int primary key not null auto_increment,name varchar(4));
第一行表示使用db_admin数据库,第二行表示创建数据表,名字叫做tb_first(tb是table)的缩写,其中id是第一个字段名,int是该字段的数据类型,即整型,primary key表示该字段为主键,not null表示该字段不能为NULL值,auto_increment代表该字段可以自动增长,后面的name为第二个字段名,类型为变长字符串,最长为4个字符。