4、MySQL 8.0参考手册 连接到服务器并断开连接3.3.2创建表格

创建数据库是非常简单的部分,但在这一点上它是空的,因为SHOW TABLES告诉你:

mysql> SHOW TABLES;
Empty set (0.00 sec)

更难的部分是决定数据库的结构应该是什么:你需要哪些表以及每个表中应该包含哪些列。

你需要一个包含每个宠物记录的表格。这可以称为pet表格,它应该至少包含每个动物的名字。由于名称本身并不十分有趣,因此表格中应包含其他信息。例如,如果你家中有多个人养宠物,你可能想列出每个动物的主人。您可能还需要记录一些基本的描述性信息,如物种和性别。

年龄怎么样?这可能是有趣的,但将其存储在数据库中并不是一件好事。随着时间的推移,年龄会发生变化,这意味着您必须经常更新您的记录。相反,最好存储一个固定值,比如出生日期。然后,无论何时您需要年龄,您都可以将其计算为当前日期和出生日期之间的差异。MySQL提供了进行日期算术的功能,所以这并不困难。存储出生日期而不是年龄也有其他优点:

  • 您可以使用数据库执行任务,例如为即将到来的宠物生日生成提醒。(如果您认为此类查询有些愚蠢,请注意,您可能会在业务数据库的上下文中询问相同的问题,以确定您需要在当前的一周或一个月内发送生日问候的客户,因为电脑辅助的个人接触。)

  • 您可以计算与当前日期以外的日期相关的年龄。例如,如果您将死亡日期存储在数据库中,则可以轻松计算宠物死亡时的年龄。

你可能会想到其他类型的信息,这些信息在pet表格中很有用,但到目前为止已确定的信息足够了:名称,所有者,物种,性别,出生和死亡。

使用CREATE TABLE语句来指定表格的布局:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);

VARCHAR对于,和 列来说是个不错的选择 name因为列值的长度是不同的。那些列定义中的长度不一定全部相同,并且不一定是通常,您可以选择从任何长度到 ,无论似乎是最合理的给你。如果你做出了糟糕的选择,事后证明你需要更长的字段,MySQL提供了一个声明。 ownerspecies20165535ALTER TABLE

可以选择几种类型的值来表示动物记录中的性别,例如'm'和 'f',或者可能'male'和 'female'使用单个字符'm'最简单'f'

使用的DATE为数据类型birthdeath 列是一个相当明智的选择。

一旦你创建了一个表,SHOW TABLES应该产生一些输出:

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet                 |
+---------------------+

要验证您的表是否按照您的预期创建,请使用以下DESCRIBE语句:

mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+

DESCRIBE例如,如果您忘记了表格中列的名称或它们具有的类型, 您可以随时使用它。本文由学什么技术好网翻译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值