1.3.2 创建数据表
我们很容易的创建了一个数据库,并取得了该库的管理员权限,此时使用 show tables;
查看该库中的数据表是空的。
mysql> SHOW TABLES;
Empty set (0.00 sec)
那么应该如何设计您的数据库结构?库中应该具有哪些数据表,以及每个表中应该包含哪些数据列?
假设您需要一个数据库表来存储您的宠物信息,那么您可以创建一个名为 pet 的数据库。表中可以包含一些您想记录的信息,比方说宠物的name、owner、species、sex、birth、 death等;
那么,您可以使用 create table 的语法,来创建 pet 数据表:
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
Query OK, 0 rows affected (0.02 sec)
在这个数据库表的设计中,name、owner、species 列的值长度是不确定的,所以数据类型使用 VARCHAR ,VARCHAR 的长度范围在 1 - 65535 之间。如果某个列设置错误,您可以使用 ALTER TABLE
语法来更改。
sex 我们用 m 和 f 来表示性别,所以设计成1个固定长度。
birth 、death 我们使用 DATE 来保存。
数据库表创建成功后,您可以使用 show tables
查看输出:
mysql> show tables;
+---------------------+
| Tables_in_menagerie |
+---------------------+
| pet |
+---------------------+
1 row in set (0.00 sec)
您也可以使用 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 | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
如果您忘记了数据表中的列名、数据类型,那么您也可以通过 describe
语法查看。
desc
语法是 describe
的简写模式,上面的 SQL 语句,也可以写成:
mysql> desc 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 | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)