查看表
    使用show tables;查看当前库中的表

    1. mysql> show tables;
    2. Empty set (0.00 sec)
    3. mysql>

    首先决定数据库的结构应该是什么:需要哪些表以及每个表应该包含哪些列?
    您需要一张包含每个宠物的记录的表,这可以被称为宠物表,它最少应该包含每一个动物的名字。由于名称本身不是很有趣,所以表中应该包含其他信息。例如,如果你家里不止一个人养宠物,你可能想列出每一个动物的主人。你可能也想记录一些基本的描述性信息,比如物种和性别。

    年龄怎么样?这可能很有意思,但存储在数据库中不是一件好事。随着时间的推移,年龄的变化,这意味着你必须经常更新你的记录。相反,最好存储一个固定值,比如出生日期。然后,当你需要年龄时,你可以计算它作为当前日期和出生日期之间的差额。MySQL提供了做日期算术的功能,所以这并不困难。储存出生日期而不是年龄也有其他好处:

    • 您可以使用数据库进行提醒任务,例如为即将到来的宠物生日生成提醒。(如果您认为这种类型的查询有点傻,请注意,您可能会在业务数据库的上下文中询问同一个问题,以便识别您需要在本周或当月向您发送生日问候的客户进行道谢。)
    • 您可以计算与当前日期以外的日期相关的年龄。例如,如果您将死亡日期存储在数据库中,您就可以轻松地计算出宠物死后的年龄。

    您可能会想到其他类型的信息,这些信息在宠物表中是有用的,但是迄今为止发现的信息是足够的:
    name, owner, species, sex, birth, and death.

    使用create table 语句来指定表的结构

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

    对于name,owner,species列来说varchar是一个好的选择,因为这些列长度上有差异,这些列的长度可以定义为不同,不必为20。其实你可以从1-65535长度中任选一个。这样对你来说似乎最合理。如果你需要改变这些长度或字段的时候,你可以使用alter table来进行更改。

    可以选择几种类型的值来表示动物记录中的性别,比如“M”和“F”,或者“male”和“female”。使用单个字符“m”和“F”是最简单的。

    创建表后,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。