创建数据表

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

8.1.1 创建空数据表

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

1.语法格式

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


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

在创建数据表时,必须指定数据表的表名称,表名称在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 数据库名”的形式指定需要在哪个数据库下创建数据表。


mysql> USE goods;
  Database changed
  

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


mysql> SHOW TABLES;
  Empty set (0.03 sec)
  

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

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


mysql> CREATE TABLE t_goods_category1(
      -> id INT(11),
      -> t_category VARCHAR(30),
      -> t_remark VARCHAR(100)
      -> );
  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的警告信息。


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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值