4.1.3 创建表
表是由定义的列数和可变的行数组成的逻辑结构,其中每一列称为一个字段,每一行称为一条记录。在MySQL中创建的语法格式如下:
对以上语法格式中各属性的描述如下。
➢ table_name:创建的表的名称。
➢ column_name:表内字段的名称。
➢ datatype:字段的数据类型。
➢ null | not null:字段是否可以为空。
➢ DEFAULT:给字段提供一个默认值。
➢ AUTO_INCREMENT:自动增长。
➢ PRIMARY_KEY:主键。
➢ COMMENT:对字段的注释。
当创建表时,必须指定表名、列名及数据类型。对同一个表而言,列名必须唯一,每一列都必须指定数据类型。
下面在数据库shop中创建一个buyer表来存储顾客的编号、姓名、密码、邮箱地址,如图4.5所示。
图4.5 创建表stuinfo
创建完表以后可使用show tables命令来查看当前数据库中可用的表。如果想进一步查看某个表的结构可使用DESCRIBE命令,如图4.6所示。
图4.6 查看表结构
在本节的开头曾列出了创建表的格式,从格式中可看出每一个字段都有好几个属性,而在前面创建的buyer表中字段的属性显然非常简单,下面将通过创建一个复杂的表来介绍字段的各个属性,创建表的语句如图4.7所示。
图4.7 创建表item
在图4.7中创建了一个名为item的表。在字段id中,int说明id的类型是int型的,not null要求这一列不能为空,auto_increment表示该列自动增长,即每次在该列插入一条新纪录时,该列的值都会自动加1,primary key标志着该列是作为主键来使用的,comment是一个注释标识。在字段item_count中,default 0表示当对表插入纪录时,若对该列没有指定值,则该列默认赋值为0。在字段other中,null表示允许该列为空,若没有特别指定该列为null或not null,默认情况下该列允许为空。
创建完表以后,通过DESCRIBE查看item的表结构,如图4.8所示。
图4.8 查看表item的表结构
要查看注释标识可通过show create table命令。与创建数据库类似,如果创建一个已存在的表也会发生错误,同样可使用IF NOT EXISTS修饰符来避免此错误的发生。