数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL实战新手入门:获取数据-SELECT语句(2)


发布日期:2019年07月01日
 
SQL实战新手入门:获取数据-SELECT语句(2)

获取数据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

数据仓库与数据挖掘培训视频教程

上一篇:SQL实战新手入门:获取数据-SELECT语句(1)

下一篇:SQL实战新手入门:获取数据-SELECT语句(3)