上QQ阅读APP看书,第一时间看更新
2.2.6 创建数据表
MySQL中使用CREATE TABLE命令创建表,基本语法如下:
CREATE TABLE table_name (column_name datatype [NULL|not null] [DEFAULT default_value][AUTO_INCREMENT][PRIMARY KEY] [COMMENT])
下面介绍各个属性。
· table_name:要创建的表的名称。
· column_talbe:表内字段的名称。
· datatype:字段的数据类型。
· NULL|NOT NULL:字段是否可以为空。
· DEFAULT:给字段提供一个默认值。
· AUTO_INCREMENT:自动增长。
· PRIMARY KEY:主键。
· COMMENT:对字段的注释。
当创建表时,必须指定表名、列名及数据类型。对同一个表而言,列名必须唯一,每一列都必须指定数据类型。
下面在数据库中创建一个商品表,命令如下:
mysql> USE finecms; DatabASe changed mysql> CREATE TABLE shopnc_product ( id INt(11) NOT NULL auto_INcrement, product_name varchar(30) default null, product_num INt(11) default null, product_price DECIMAL(8,2) default null, product_pic varchar(50) default null, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FOR MAT=DYNAMIC COMMENT='product'; Query OK, 0 rows affected (0.08 sec)
查看刚刚创建的商品表,命令如下:
mysql> SHOW TABLES; +----------------+ | Tables_in_shop | +----------------+ | shopnc_product | +----------------+ 1 row in set (0.00 sec)
如果想进一步查看表结构,可使用DESCRIBE命令。
mysql> DESCRIBE shopnc_product; +---------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+----------------+ | id | INt(11) | NO | PRI | NULL | auto_INcrement | | product_name | varchar(30) | YES | | NULL | | | product_num | INt(11) | YES | | NULL | | | product_price | DECIMAL(8,2) | YES | | NULL | | | product_pic | varchar(50) | YES | | NULL | | +---------------+--------------+------+-----+---------+----------------+ 5 rows in set (0.02 sec)
同时可以使用SHOW CREATE TABLE命令来自动生成创建表的语句。
mysql> SHOW CREATE TABLE shopnc_product\G; *************************** 1. row *************************** Table: shopnc_product CREATE table: CREATE TABLE shopnc_product ( id INt(11) NOT NULL auto_INcrement, product_name varchar(30) default null, product_num INt(11) default null, product_price DECIMAL(8,2) default null, product_pic varchar(50) default null, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='product'