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)