获取数据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
数据仓库与数据挖掘培训视频教程