当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级考试二级VFP笔记(15)
发布时间:2010/11/1 15:16:05 来源:www.xue.net 编辑:城市总裁吧
 五、关系数据库标准语言SQL

  (一)SQL概述

  1.SQL的基本概况

  1)含义:SQL是structured query languge的缩写,它是关系数据库的标准数据语言,所有的关系数据库管理系统都支持。

  2)功能:数据查询、数据操作和数据定义

  2.特点

  1)一体化:包括数据定义、查询和操作等方面功能,可以完成数据库活动中的全部工作;

  2)高度非过程化:只需告诉计算机用户“做什么”,SQL便可自动完成全部工作;

  3)非常简洁:只有为数不多的几条命令组成;

  4)它可以直接以命令方式使用,也可以嵌入到程序设计语言中以程序方式使用。

  3.主要短语及其含义

  1)select-说明要查询的数据

  2)from-说明查询的数据来自哪些表,可对单表或多表进行查询

  3)where-说明查询条件,即选择元组的条件

  4)group by-用于对查询进行分组,可用它对数据进行分组汇总

  5)having-必须跟group by短语一起使用,用来限定分组必须满足的条件

  6)order by-用来对查询的结果进行排序

  (二)SQL的查询功能

  1.简单查询

  1)适用范围:即单表查询,查询的字段信息和查询条件都来自于同一张表

  2)语法格式:select 字段名1,…字段名n from 表名 where 条件式

  3)查询细节:

  ü distinct 去掉查询结果中的重复值

  ü 若查询某张表的全部字段,则可把select后的字段名全部用通配符*代替即可

  ü union并运算可把两个select语句的查询结果合并成一个查询结果(要求是两个查询结果要具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围)

  ü 查询去向:into array 数组名——将查询结果存放于数组中

  into cursor 临时表文件名——将查询结果存放于临时只读文件,关闭时自动删除

  into dbf/table 自由表文件名——将查询结果存放于永久表中

  to file 文本文件名——将查询结果存放于文本文件中

  2.简单的联接查询

  1)适用范围:查询的字段信息或条件来自于多张表

  2)语法格式:select 字段名1,…字段名n from 表名1,…表名n where 联接条件 and 其他条件

  3.嵌套查询

  1)适用范围:查询的字段信息出自于同一张表,而查询条件出自于其他表

  2)语法格式:select 字段名1,…字段名n from 表名1 where 外部关键字 in (select 外部关键字 from 表名2 where 条件)

  3)查询细节:

  ü 几个特殊的运算符:between…and…用于查询满足某个值域范围内的记录;like用于查询与指定字段值相匹配的记录(like后所指定的字段值一定是个字符型数据;通配符%表示0个或多个字符,“_”只表示一个字符)

  ü 排序:order by 字段名1 asce/desc,…字段名n asce/desc

  注意:系统默认升序,asce可省略,允许按一个或多个字段对查询结果排序

  ü 简单计算查询:count()-计数 sum()-求和,所指字段是N型 avg()-求平均数,所指字段是N型 max()-求最大值,所指字段是N型min()-求最小值,所指字段是N型

  ü 分组与计算查询:group by 字段名1,…字段名n having 条件表达式 (注意:having必须和group by一起使用,因为它是对分组后的结果进一步进行筛选,having条件和where条件不矛盾,在select语句查询中是先用where子句限定元组,然后进行分组,最后再用having子句限定分组结果)

  ü 利用空值查询:is null/is not null

  ü 内外层互相嵌套查询:内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果

  ü 使用量词和谓词的查询:

  表达式 运算符 any/some/all(select子查询)——其中any和some表任意一个,all表示全部

  [not] exists(select子查询)——exists表示存在

  ü 虚字段:即原表中并无此字段,是通过函数或者表达式计算所得出的字段名;其格式为:表达式/函数 as 虚字段名

  ü 显示部分结果:top 表达式 [percent] order by 字段名1,…字段名n

  注意:不使用percent时,在1-32767之间取值,说明显示前几条记录

  使用percent时,则在0.01-99.99之间取值,说明显示前百分之几的记录

  并且top短语要与order by短语同时使用才有效

  4.内联接查询:超级联接查询的一种

  1)适用范围:查询的字段名或查询条件来自于多张表

  2)语法格式:select 字段名1,…字段名n from 表名1 inner join 表名2 on 联接条件 where 条件

[NextPage]

  (三)SQL的操作功能

  1.插入功能

  1)标准格式:insert into 表名(字段名1,…字段名n)values(字段值1,…字段值n)

  注意:此命令格式表示向表中插入记录,当插入的不是完整的记录时必须指明字段

  2)特殊格式:insert into 表名 from array 数组名

  注意:此命令格式表示从指定的数组向表中插入记录

  2.更新功能

  1)格式:update 表名 set 字段名1=表达式1,…字段名n=表达式n where 条件式

  注意:使用where表示更新满足条件的记录,不使用where则更新全部记录

  2)注意update命令与replace命令的区别:

  ² update可对一表和多表操作,replace只能对当前一表操作

  ² update用where接条件表达式,replace用for接条件表达式

  ² update用=接表达式,replace用with接表达式

  ² update用set接字段名,replace的字段名前不加set

  ² update不用where子句就可更新全部记录,replace有all无for条件才是更新全部记录

  3.删除功能

  1)格式:delete from 表名 where 条件

  注意:此命令表示逻辑删除表中相应的记录,有where条件时表示逻辑删除表中满足条件的记录

  2)本格式可用于一表与多表,而delete for条件则只可用于当前表

 (四)SQL的定义功能

  1.表的定义,即建立表

  1)格式:create table 表名(字段名1 字段类型(宽度),…字段名n 字段类型(宽度))

  2)注意:

  2.表的删除

  1)格式:drop table 表文件名

  2)注意:

  3.表结构的修改

  1)添加/删除表中字段:

  alter table 表名 add/drop column 字段名 字段类型(宽度)

  注意:只能一次添加一个字段,并且如果是删除字段则不需要写宽度

  2)修改字段类型及宽度:

  alter table 表名 alter 字段名 新类型(新宽度)

  3)更新字段名:

  alter table 表名 rename column 原字段名 to 新字段名

  4)修改字段有效性:

  alter table 表名 alter column 字段名[null/not null][set default 表达式][set check 逻辑表达式[error 字符表达式]]

  alter table 表名 alter column 字段名[drop default][drop check]

  5)添加/删除表中表中索引:

  alter table 表名 add primary key/unique字段名 tag 索引名

  注意:primary key是主索引;unique是候选索引

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved