查看表
使用show tables;查看当前库中的表
mysql> show tables;
Empty set (0.00 sec)
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。