MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在web開發(fā)中非常常見。表是MySQL中最基本的數(shù)據(jù)模型,所有數(shù)據(jù)都存儲在表結(jié)構(gòu)中。
創(chuàng)建一個表是很簡單的,下面是一個基本的CREATE TABLE語句示例:
CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, `gender` enum('male','female') NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上述CREATE TABLE語句用于創(chuàng)建一個名為students的表,包含id、name、age和gender四個列。其中id列為自動遞增型,作為主鍵。每列的數(shù)據(jù)類型和約束在列名稱后分別列出。
如果要插入數(shù)據(jù)到這個表中,可以使用INSERT INTO語句,示例如下:
INSERT INTO `students` (`name`, `age`, `gender`) VALUES ('Tom', 20, 'male'), ('Lucy', 21, 'female'), ('Bob', 19, 'male');
上述語句將三名學(xué)生的姓名、年齡和性別存儲到students表中。
當(dāng)數(shù)據(jù)量增大時,我們經(jīng)常需要從表中檢索數(shù)據(jù)。SELECT語句是最常用的用于從表中獲取數(shù)據(jù)的SQL語句。示例如下:
SELECT * FROM `students`;
上述語句將返回students表中的所有數(shù)據(jù),這是一個非常常見的用法。如果需要僅檢索符合特定條件的數(shù)據(jù),可以添加WHERE子句,例如:
SELECT * FROM `students` WHERE `gender` = 'male';
上述語句將返回students表中性別為男性的數(shù)據(jù)行。
維護(hù)表的結(jié)構(gòu)和數(shù)據(jù)是數(shù)據(jù)庫管理的基本任務(wù)之一。ALTER TABLE語句可以用于修改表結(jié)構(gòu),例如添加或刪除列、更改約束等。示例如下:
ALTER TABLE `students` ADD COLUMN `major` varchar(50) NOT NULL AFTER `name`;
上述語句將向students表中添加一個名為major的列,該列將在name列之后顯示。
在對表進(jìn)行修改時,建議先對表進(jìn)行備份,以避免意外數(shù)據(jù)丟失。