知识大全 SQL基本语句

Posted 语句

篇首语:人生处万类,知识最为贤。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL基本语句相关的知识,希望对你有一定的参考价值。

SQL基本语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  掌握SQL四条最基本的数据*作语句 Insert Select Update和Delete        练掌握SQL是数据库用户的宝贵财 富 在本文中 我们将引导你掌握四条最基本的数据*作语句—SQL的核心功能—来依次介绍比较*作符 选择断言以及三值逻辑 当你完成这些学习后 显然你已经开始算是精通SQL了       在我们开始之前 先使用CREATE TABLE语句来创建一个表 DDL语句对数据库对象如表 列和视进行定义 它们并不对表中的行进行处理 这是因为DDL语句并不处理数据库中实际的数据 这些工作由另一类SQL语句—数据*作语言(DML)语句进行处理       SQL中有四种基本的DML*作 INSERT SELECT UPDATE和DELETE 由于这是大多数SQL用户经常用到的 我们有必要在此对它们进行一一说明 我们给出了一个名为EMPLOYEES的表 其中的每一行对应一个特定的雇员记录 请熟悉这张表 我们在后面的例子中将要用到它       INSERT语句      用户可以用INSERT语句将一行记录插入到指定的一个表中 例如 要将雇员John Smith的记录插入到本例的表中 可以使用如下语句       INSERT INTO EMPLOYEES VALUES       ( Smith John        Los Angles );      通过这样的INSERT语句 系统将试着将这些值填入到相应的列中 这些列按照我们创建表时定义的顺序排列 在本例中 第一个值 Smith 将填到第一个列LAST_NAME中 第二个值 John 将填到第二列FIRST_NAME中……以此类推       我们说过系统会 试着 将值填入 除了执行规则之外它还要进行类型检查 如果类型不符(如将一个字符串填入到类型为数字的列中) 系统将拒绝这一次*作并返回一个错误信息       如果SQL拒绝了你所填入的一列值 语句中其他各列的值也不会填入 这是因为SQL提供对事务的支持 一次事务将数据库从一种一致性转移到另一种一致性 如果事务的某一部分失败 则整个事务都会失败 系统将会被恢复(或称之为回退)到此事务之前的状态        回到原来的INSERT的例子 请注意所有的整形十进制数都不需要用单引号引起来 而字符串和日期类型的值都要用单引号来区别 为了增加可读性而在数字间插入逗号将会引起错误 记住 在SQL中逗号是元素的分隔符       同样要注意输入文字值时要使用单引号 双引号用来封装限界标识符       对于日期类型 我们必须使用SQL标准日期格式(yyyy mm dd) 但是在系统中可以进行定义 以接受其他的格式 当然 年临近 请你最好还是使用四位来表示年份       既然你已经理解了INSERT语句是怎样工作的了 让我们转到EMPLOYEES表中的其他部分       INSERT INTO EMPLOYEES VALUES       ( Bunyan Paul        Boston );      INSERT INTO EMPLOYEES VALUES       ( John Adams        Boston );      INSERT INTO EMPLOYEES VALUES       ( Smith Pocahontas        Los Angles );      INSERT INTO EMPLOYEES VALUES       ( Smith Bessie        Boston );      INSERT INTO EMPLOYEES VALUES       ( Jones Davy        Boston );      INSERT INTO EMPLOYEES VALUES       ( Jones Indiana        Chicago NULL NULL);      在最后一项中 我们不知道Jones先生的工薪级别和年薪 所以我们输入NULL(不要引号) NULL是SQL中的一种特殊情况 我们以后将进行详细的讨论 现在我们只需认为NULL表示一种未知的值       有时 像我们刚才所讨论的情况 我们可能希望对某一些而不是全部的列进行赋值 除了对要省略的列输入NULL外 还可以采用另外一种INSERT语句 如下       INSERT INTO EMPLOYEES(       FIRST_NAME LAST_NAME        HIRE_DATE BRANCH_OFFICE)      VALUE(       Indiana Jones        Indianapolis );      这样 我们先在表名之后列出一系列列名 未列出的列中将自动填入缺省值 如果没有设置缺省值则填入NULL 请注意我们改变了列的顺序 而值的顺序要对应新的列的顺序 如果该语句中省略了FIRST_NAME和LAST_NAME项(这两项规定不能为空) SQL*作将失败       让我们来看一看上述INSERT语句的语法图       INSERT INTO table       [(column column)]      VALUES       (columnvalue [ columnvalue]);      和前一篇文?幸谎颐怯梅嚼ê爬幢硎究裳∠睿罄ê疟硎究梢灾馗慈我獯问南睿ú荒茉谑导实腟QL语句中使用这些特殊字符) VALUE子句和可选的列名列表中必须使用圆括号       SELECT语句      SELECT语句可以从一个或多个表中选取特定的行和列 因为查询和检索数据是数据库管理中最重要的功能 所以SELECT语句在SQL中是工作量最大的部分 实际上 仅仅是访问数据库来分析数据并生成报表的人可以对其他SQL语句一窍不通       SELECT语句的结果通常是生成另外一个表 在执行过程中系统根据用户的标准从数据库中选出匹配的行和列 并将结果放到临时的表中 在直接SQL(direct SQL)中 它将结果显示在终端的显示屏上 或者将结果送到打印机或文件中 也可以结合其他SQL语句来将结果放到一个已知名称的表中       SELECT语句功能强大 虽然表面上看来它只用来完成本文第一部分中提到的关系代数运算 选择 (或称 限制 ) 但实际上它也可以完成其他两种关系运算— 投影 和 连接 SELECT语句还可以完成聚合计算并对数据进行排序       SELECT语句最简单的语法如下       SELECT columns FROM tables;      当我们以这种形式执行一条SELECT语句时 系统返回由所选择的列以及用户选择的表中所有指定的行组成的一个结果表 这就是实现关系投影运算的一个形式       让我们看一下使用EMPLOYEES表的一些例子(这个表是我们以后所有SELECT语句实例都要使用的 而我们在图 和图 中给出了查询的实际结果 我们将在其他的例子中使用这些结果)       假设你想查看雇员工作部门的列表 那下面就是你所需要编写的SQL查询       SELECT BRANCH_OFFICE FROM EMPLOYEES;          由于我们在SELECT语句中只指定了一个列 所以我们的结果表中也只有一个列 注意结果表中具有重复的行 这是因为有多个雇员在同一部门工作(记住SQL从所选的所有行中将值返回) 要消除结果中的重复行 只要在SELECT语句中加上DISTINCT子句       SELECT DISTINCT BRANCH_OFFICE      FROM EMPLOYEES;          现在已经消除了重复的行 但结果并不是按照顺序排列的 如果你希望以字母表顺序将结果列出又该怎么做呢?只要使用ORDER BY子句就可以按照升序或降序来排列结果       SELECT DISTINCT BRANCH_OFFICE      FROM EMPLOYEES      ORDER BY BRANCH_OFFICE ASC;      这一查询的结果如表 所示 请注意在ORDER BY之后是如何放置列名BRANCH _OFFICE的 这就是我们想要对其进行排序的列 为什么即使是结果表中只有一个列时我们也必须指出列名呢?这是因为我们还能够按照表中其他列进行排序 即使它们并不显示出来 列名BRANCH_ OFFICE之后的关键字ASC表示按照升序排列 如果你希望以降序排列 那么可以用关键字DESC       同样我们应该指出ORDER BY子句只将临时表中的结果进行排序 并不影响原来的表       假设我们希望得到按部门排序并从工资最高的雇员到工资最低的雇员排列的列表 除了工资括号中的内容 我们还希望看到按照聘用时间从最近聘用的雇员开始列出的列表 以下是你将要用到的语句       SELECT BRANCH_OFFICE FIRST_NAME        LAST_NAME SALARY HIRE_DATE      FROM EMPLOYEES      ORDER BY SALARY DESC        HIRE_DATE DESC;      这里我们进行了多列的选择和排序 排序的优先级由语句中的列名顺序所决定 SQL将先对列出的第一个列进行排序 如果在第一个列中出现了重复的行时 这些行将被按照第二列进行排序 如果在第二列中又出现了重复的行时 这些行又将被按照第三列进行排序……如此类推 这次查询的结果如表 所示       将一个很长的表中的所有列名写出来是一件相当麻烦的事 所以SQL允许在选择表中所有的列时使用*号       SELECT * FROM EMPLOYEES;      这次查询返回整个EMPLOYEES表 如表 所示        下面我们对开始时给出的SELECT语句的语法进行一下更新(竖直线表示一个可选项 允许在其中选择一项 )       SELECT [DISTINCT]       (column [ columns])| *      FROM table [ table] cha138/Article/program/Oracle/201311/18760

相关参考

知识大全 Sql语言基础教程 sql基本语句[2]

Sql语言基础教程sql基本语句[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 SQL语句的基本语法一

SQL语句的基本语法一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一SELECT语句的完整语

知识大全 Oracle数据库SQL语句性能调整的基本原则

Oracle数据库SQL语句性能调整的基本原则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  详

知识大全 测试sql语句性能

  有时候我们经常为我们的sql语句执行效率低下发愁反复优化后可还是得不到提高  那么你就用这条语句找出你sql到底是在哪里慢了  示例  SETSTATISTICSioON  &

知识大全 SQL语句获取日期

SQL语句获取日期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL语句获取特定日期  一个

知识大全 sql语句实现表的字段名查询

  下面为您介绍的是查询表的字段名的sql语句写法sql语句可以实现许多的功能希望可以您在学习sql语句使用方面获得启示  selectnamefromsyscolumnswhereid=(selec

知识大全 ACCESS中使用SQL语句

ACCESS中使用SQL语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  以下SQL语句在AC

知识大全 Sql语句解析过程

Sql语句解析过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了将用户写的SQL文本转化为

知识大全 SQL语句语法大全

SQL语句语法大全  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  小编整理的一些比较常用的SQL

知识大全 通过分析SQL语句的执行计划优化SQL(三)

通过分析SQL语句的执行计划优化SQL(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!第章&n