PHP 和 MySQL 编程/创建表
外观
在创建表之前,请阅读上一节关于 创建数据库。
表驻留在数据库内。表包含行,行由一组公共字段或列组成。以下是一个 SELECT * 查询的示例输出
mysql> SELECT * FROM `books`; +------------+--------------+------------------------------+------+ | ISBN Invalid ISBN | Author | Title | Year | +------------+--------------+------------------------------+------+ | 1234567890 | Poisson, R.W | Programming PHP and MySQL | 2006 | | 5946253158 | Wilson, M | Java Secrets | 2005 | | 8529637410 | Moritz, R | C from Beginners to Advanced | 2001 | +------------+--------------+------------------------------+------+
如您所见,我们有行(水平的字段集合)和列(垂直的属性和值)。
创建表的 SQL 代码如下
mysql> CREATE TABLE `table_name` ( `field1` type NOT NULL|NULL default 'default_value', `field2` type NOT NULL|NULL default 'default_value', ... );
以下是如何创建一个名为 `books` 的表的示例
mysql> CREATE TABLE `books` ( `ISBN` varchar(35) NOT NULL default '', `Author` varchar(50) NOT NULL default '', `Title` varchar(255) NOT NULL default '', `Year` int(11) NOT NULL default '2000' );
要获取表列表
mysql> SHOW TABLES;
这将生成以下输出
+-------------------+ | Tables_in_library | +-------------------+ | books | +-------------------+ 1 row in set (0.19 sec)
要显示用于创建表的 CREATE 查询
mysql> SHOW CREATE TABLE `books`;
这将生成以下输出
+-------+--------------------------------------------+ | Table | Create Table +-------+--------------------------------------------+ | books | CREATE TABLE `books` ( `ISBN` varchar(35) NOT NULL default '', `Author` varchar(50) NOT NULL default '', `Title` varchar(255) NOT NULL default '', `Year` int(11) NOT NULL default '2000' ) TYPE=MyISAM | +-------+--------------------------------------------+ 1 row in set (0.05 sec)
然后以表格格式显示相同信息
mysql> DESCRIBE `books`;
这将生成以下输出
+--------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------+-------+ | ISBN Invalid ISBN | varchar(35) | | | | | | Author | varchar(50) | | | | | | Title | varchar(255) | | | | | | Year | int(11) | | | 2000 | | +--------+--------------+------+-----+---------+-------+ 4 rows in set (0.18 sec)