獲取數據SELECT語句()
只要確保列表中值的順序與表中列的結構精確地匹配就可以在INSERT語句中省略列的列表列列表實際上是數據的占位符但是如果列表中值的順序與列列表中的順序不同或者要插入的列不是記錄中的全部列(例如只插入個列中的個列)那麼就必須在INSERT語句中列出匹配的列列表例如下面的例子
INSERT INTO myLibrary (
title
author
book_language
publisher
pages
author
publish_date
isbn
)VALUES (
SQL Bible
Alex Kriegel
English
Wiley
Boris M Trukhnov
April
)
對於書架上的每一本書使用相應的數據重復運行上面這個INSERT語句(當然某些數據錄入員可能會討厭這項工作)另外讀者也可以從本書的支持網站中下載一個已經編寫好的腳本並按照附錄A中的指南安裝該腳本這樣就可以獲得所需的結構化的圖書信息並為執行SQL查詢做好准備
INSERT INTO myLibrary(title author book_language publisher pages publish_date
isbn) VALUES (Microsoft SQL Server Weekend Crash CourseAlex Kriegel
EnglishWiley October )
INSERT INTO myLibrary(title author book_language publisher pages publish_date
isbn) VALUES (MindswapRobert Sheckley EnglishOrb BooksMay
)
INSERT INTO myLibrary(title author book_language publisher pages publish_date
isbn) VALUES (Jonathan Livingston SeagullRichard Bach EnglishMacMillan
)
INSERT INTO myLibrary(title author book_language publisher pages publish_date
isbn) VALUES (A Short History of Nearly EverythingBill Bryson
EnglishBroadway October )
在INSERT語句中如果同時省略了某個列的列名和列值會產生什麼樣的結果呢?在INSERT語句中指定的列將會填充數據而省略掉的列則保持為空為了表示空值的含義SQL使用NULL值來標識
在上面的例子中AUTHOR列的值將填充為NULL第章還將介紹在數據庫中NULL值具有特殊的含義它的行為具有特殊的規則
為了減少輸入負擔讀者可以從網站wwwwroxcom或wwwagilitatorcom下載本章的SQL腳本附錄A描述了腳本的安裝過程
下面是一個SELECT查詢它返回已經輸入到MYLIBRARY表中的所有圖書記錄
SELECT title
author
author
publisher
pages
publish_date
isbn
book_language
) FROM myLibrary;
除了列出所有的列之外還可以使用SQL提供的一個方便的快捷方式即用一個星號(*)來指示RDBMS獲取所有列的信息
SELECT * FROM myLibrary;
該查詢的結果看起來與之前捨棄的非結構化數據的結果類似但兩者存在一個小小的差別該查詢返回的數據按照不同的列分別進行顯示這就是根本的不同!
首先可以改變SELECT語句中列的順序按照任意順序顯示數據另外還可以只查詢特定的列例如如果只需要生成一個作者和圖書名稱的列表可以執行下面這個查詢
SELECT title
author
author
) FROM myLibrary;
返回目錄SQL實戰新手入門
編輯推薦
Oracle索引技術
高性能MySQL
數據倉庫與數據挖掘培訓視頻教程
From:http://tw.wingwit.com/Article/program/SQL/201311/16483.html