数据库管理系统SQL语言.ppt
文本预览下载声明
5.1 SQL语言概述 SQL是Structured Query Language(结构化查询语言)的缩写,是一种用于关系数据库操作的标准语言,包括了对关系数据库的查询、操纵、定义、控制和管理等功能,是一个综合的、通用的、功能极强的关系数据库语言。 5.2 SQL数据定义功能 5.2.1 创建数据库和表 1.数据库定义 格式:Create Database 数据库名 功能:创建一个数据库。 5.3 SQL数据查询功能 Select命令是SQL的数据查询命令,是SQL语言的核心内容。 Select命令由多个子句构成,某些子句是必需的,而另外一些子句是可选的,Select命令的执行结果是生成一个新的关系。 JSQK.DBF 01 张 03 李 02 王 2.删除视图 对于不再使用的视图,可以使用SQL语言中的删除视图命令来实现。 格式:Drop View 视图名 说明:上述语句的功能是删除数据库中的视图。 5.4 SQL数据修改功能 5.4.1 插入数据 Visual FoxPro支持两种SQL插入命令的格式,第一种格式是标准格式,第二种格式是Visual FoxPro的特有格式。 格式1:Insert Into 表名 [(字段名1 , 字段名 2……,; 字段名n )] Values(值1 , 值2 , ……, 值n ) 格式2:Insert Into 表名 From Array 数组名 【例5.18】查询有学位为博士的教师的系部名称。 Select xbmc 系部名称 From xb ; Where xbbh=Any(Select xbbh From jsqk Where xw=博士) 嵌套查询中必须遵循的规则: ① 嵌套查询必须用括号括起来。 ② 嵌套查询一般在Select子句中只能有一个列。 ③ 返回多行的嵌套查询可以和多值操作符一起使用,例如In操作符。 ④ Between操作符不能和嵌套查询一起使用,却可以用于嵌套查询的条件中。 ⑤ 在Visual FoxPro中,嵌套查询层数不能超过2层。 【例5.19】 查询没有职称为“教授”的教师的系部名称。 分析:先找出有教授的系部集合,不在此集合内的即是没有职称为“教授”的教师的系部。 Select xbmc From xb Where xbbh !=All; (Select xbbh From jsqk Where zc=教授) 上述命令等价于: Select xbmc From xb Where xbbh Not In; (Select xbbh From jsqk Where zc=教授) 再如:查询没有博士或硕士学位的教师姓名 Select xm from jsqk where xw not in (硕士,博士) 【例5.20】查询职称为“教授”或者有科研成果的教师姓名。 Select xm From jsqk Where zc =教授 ; Union Select xm From jsqk Where jsbh In ; (Select jsbh From kyqk) 【例5.21】查询有科研成果的教师姓名(有多项成果时,仅列出一次)。 Select xm From jsqk Where Exists; (Select jsbh From kyqk where jsbh=jsqk.jsbh ) SQL命令中的各类运算符 ① 比较运算符:=,!=,,,=,= ② 逻辑运算符: AND,OR,Not ③ 数学运算符:+,-,*,/ ④ 谓词:In,Any (Some),All,Union,Exists,Between … And … ,Like,Is Null,Is Not Null 。 说明: Is [Not] Null 测试字段值是否为Null(空),Null可以与任何类型的数据匹配。 Between … And … 判断字段值是否在指定的区间内。 Like 判断字段值是否与某个模式匹配。可以使用通配符“%”和“_”(下划线),“%”代表多个字符,“_”代表一个字符。 【例5.22】查询学历字段为空值的教师姓名。 Select xm From jsqk Where xl Is Null 【例5.23】查询出生日期在70年代的教师姓名。 Select xm From jsqk Where csrq Between ; {^1970/01/01} And {^1979/12/31} 【例5.24】查询学历为大学或大专的教师姓名。 Select xm From jsqk where xl Like
显示全部