当前位置:   article > 正文

创建数据表

创建数据表

在MySQL中创建完数据库后,需要先使用“USE 数据库名”的形式指定在哪个数据库中进行操作,然后再执行创建数据表的SQL语句,或者直接使用“数据库名.数据表名”的形式创建数据表。

8.1.1 创建空数据表

MySQL中创建数据表需要遵循一定的语法格式,这些语法格式为创建数据表提供了模板依据。同时,遵循一定的语法格式创建数据表,也降低了出错的概率。

1.语法格式

在MySQL中创建表使用的是CREATE TABLE语句,语法格式如下:


  1. CREATE TABLE [IF NOT EXISTS] 表名(
  2. 字段1, 数据类型 [约束条件] [默认值],
  3. 字段2, 数据类型 [约束条件] [默认值],
  4. 字段3, 数据类型 [约束条件] [默认值],
  5. ……
  6. [表约束条件]
  7. );

在创建数据表时,必须指定数据表的表名称,表名称在Windows操作系统上不区分大小写,在Linux操作系统上区分大小写。如果需要在Linux操作系统上不区分大小写,则需要在MySQL的配置文件my.cnf中添加一项配置。


lower_case_table_names=1
  

另外,在创建数据表时,还需要指定数据表中每一列的名称和数据类型,多个列之间需要以逗号进行分隔。

2.简单示例

在第7章中创建的名称为goods的数据库中,创建名称为t_goods_category1的商品类别表。

名称为t_goods_category1的商品类别数据表的表结构如表8-1所示。

表8-1 商品类别表结构

首先,需要使用“USE 数据库名”的形式指定需要在哪个数据库下创建数据表。


  1. mysql> USE goods;
  2. Database changed

接下来,查看goods数据库中存在的所有数据表。


  1. mysql> SHOW TABLES;
  2. Empty set (0.03 sec)

目前goods数据库中不存在数据表。

在goods数据库中创建名称为t_goods_category1的数据表。


  1. mysql> CREATE TABLE t_goods_category1(
  2. -> id INT(11),
  3. -> t_category VARCHAR(30),
  4. -> t_remark VARCHAR(100)
  5. -> );
  6. Query OK, 0 rows affected, 1 warning (0.36 sec)

创建名称为t_goods_category1的数据表的SQL语句在MySQL命令行执行成功。

细心的读者可以发现,在执行创建t_goods_category1数据表的SQL语句时,MySQL虽然没有报错,但是有一个警告信息。


1 warning (0.36 sec)
  

使用如下SQL语句查看MySQL的警告信息。


  1. mysql> SHOW WARNINGS;
  2. +--------+------+------------------------------------------------------------------------------+
  3. | Level | Code | Message |
  4. +--------+------+------------------------------------------------------------------------------+
  5. | Warning | 1681 | Integer display width is deprecated and will be removed in a future release. |
  6. +--------+------+------------------------------------------------------------------------------+
  7. 1 row in set (0.00 sec)

在MySQL 8.x版本中,不再推荐为INT类型指定显示长度,并在未来的版本中可能去掉这样的语法。因此这里去掉INT类型的显示长度,重新创建名称为t_goods_category1的数据表。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/551655
推荐阅读
相关标签
  

闽ICP备14008679号