INSERT 顧名思義,就是向表(table)中插入行。
插入完整內容的行
向表中插入數據最簡單的方法,就是使用 INSERT 語句。 INSERT 語句需要你聲明要插入內容的表名和內容。舉個“栗子”!
假設我們現在要建立一張名爲 Customers 的空表,建立過程如下:
USE TestDb
CREATE TABLE Customers
(
cust_id int not null,
cust_name varchar(32) not null,
cust_city varchar(32) not null,
cust_email varchar(32) null
)
--查看錶內容
SELECT * FROM Customers
得到的空表是這樣的:
接下來,我們要往空表中插入一條內容, 插入 (INSERT) 語句如下:
INSERT INTO Customers
VALUES (
'1000000006',
'Toy Land',
'New York',
NULL
)
如圖所示,是我們得到的結果,一條完整的內容已經被填入了空表中。
分析:
在這個例子中,我們把消費者的信息 (values) 依序插入了 Customers 表中。可能有人已經注意到, INSERT INTO 後面只跟了一個表名,這就意味着,我們插入內容的時候必須是依序全內容插入,即使內容爲空,也必須用空值 NULL 來填補。
這樣的插入雖然簡單,但是很危險。一旦表的結構變了,你就會插錯內容。下述的方法雖然相對繁瑣,其最大的優點就是安全。它列出了你想要插入內容所對應的字段(column),一一對應就不容易出錯。
比如:我們換下字段(column) 的順序,看看會不會成功。
INSERT INTO Customers(
cust_id,
cust_email,
cust_name,
cust_city
)
VALUES (
'1000000006',
NULL,
'Toy Land',
'New York'
)
即使打亂了順序,這種方法也能將內容安全地插入。所以我們推薦寫插入語句時,把字段(column)名也一併寫進去。
插入選定內容的行
就像我剛纔說的,把字段(column)名寫入插入語句是個好辦法!用這個方法,我們能忽略某些字段,只插入我們最關心的數據。
比如,我們忽略 cust_email ,爲表 Customers 插入內容。
INSERT INTO Customers(
cust_id,
cust_name,
cust_city
)
VALUES (
'1000000006',
'Toy Land',
'New York'
)
刪除表中的指定行
DELETE FROM 後面需要你指定刪除內容所在的表, WHERE 語句是過濾語句,它用來幫你尋找哪條內容是你想要刪除的。在下面的例子中,只有消費者 1000000006 的內容纔會被刪除。
DELETE FROM Customers WHERE cust_id=1000000006
刪除表中的所有行
DELETE FROM Customers
如果需要刪除表中所有的行,只需要省略 WHERE 語句即可。
更新表中的指定行
消費者 1000000005 之前沒有在記錄裏留下他的 email ,如下圖所示:
但是,現在他有了一個新郵箱,所以需要更新數據庫裏的數據,更新代碼如下所示:
UPDATE Customers
SET cust_email = '[email protected]'
WHERE cust_id = '1000000005'