用SELECT 建立記錄和表

來源:互聯網
上載者:User
select|建立 用SELECT 建立記錄和表
你也許已經注意到,INSERT 語句與DELETE語句和UPDATE語句有一點不同,它一次只操作一個記錄。然而,有一個方法可以使INSERT 語句一次添加多個記錄。要作到這一點,你需要把INSERT 語句與SELECT 語句結合起來,象這樣:

INSERT mytable (first_column,second_column)
SELECT another_first,another_second
FROM anothertable
WHERE another_first=’Copy Me!’

這個語句從anothertable拷貝記錄到mytable.只有表anothertable中欄位another_first的值為’Copy Me!’的記錄才被拷貝。
當為一個表中的記錄建立備份時,這種形式的INSERT 語句是非常有用的。在刪除一個表中的記錄之前,你可以先用這種方法把它們拷貝到另一個表中。
如果你需要拷貝整個表,你可以使用SELECT INTO 語句。例如,下面的語句建立了一個名為newtable的新表,該表包含表mytable的所有資料:

SELECT * INTO newtable FROM mytable

你也可以指定只有特定的欄位被用來建立這個新表。要做到這一點,只需在欄位列表中指定你想要拷貝的欄位。另外,你可以使用WHERE 子句來限制拷貝到新表中的記錄。下面的例子只拷貝欄位second_columnd的值等於’Copy Me!’的記錄的first_column欄位。

SELECT first_column INTO newtable
FROM mytable
WHERE second_column=’Copy Me!’

使用SQL修改已經建立的表是很困難的。例如,如果你向一個表中添加了一個欄位,沒有容易的辦法來去除它。另外,如果你不小心把一個欄位的資料類型給錯了,你將沒有辦法改變它。但是,使用本節中講述的SQL語句,你可以繞過這兩個問題。
例如,假設你想從一個表中刪除一個欄位。使用SELECT INTO 語句,你可以建立該表的一個拷貝,但不包含要刪除的欄位。這使你既刪除了該欄位,又保留了不想刪除的資料。
如果你想改變一個欄位的資料類型,你可以建立一個包含正確資料類型欄位的新表。建立好該表後,你就可以結合使用UPDATE語句和SELECT 語句,把原來表中的所有資料拷貝到新表中。通過這種方法,你既可以修改表的結構,又能儲存原有的資料。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。