《第8章SQL关系数据库查询语言.ppt》由会员分享,可在线阅读,更多相关《第8章SQL关系数据库查询语言.ppt(37页珍藏版)》请在优知文库上搜索。
1、Visual FoxPro 应用基础与面向对象程序设计教程第第8章章 SQL关系数据库查询语言关系数据库查询语言8.4 数据查询数据查询8.3 数据更新数据更新8.2 数据定义数据定义8.1 SQL语言概述语言概述Visual FoxPro 应用基础与面向对象程序设计教程8.1 SQL语言概述语言概述8.1.2 SQL语言的功能语言的功能8.1.1 SQL语言的特点语言的特点Visual FoxPro 应用基础与面向对象程序设计教程8.1.1 SQL语言的特点语言的特点1.1.高度的综合高度的综合2.2.非过程化非过程化3.3.采用面向集合的操作方式采用面向集合的操作方式4.4.一种语法结构两
2、种使用方式一种语法结构两种使用方式5.5.语言结构简捷语言结构简捷6.6.支持三级模式结构支持三级模式结构Visual FoxPro 应用基础与面向对象程序设计教程8.1.2 SQL语言的功能语言的功能SQLSQL语言具有以下语言具有以下5 5个方面的功能。个方面的功能。1.1.数据定义功能数据定义功能2.2.数据查询功能数据查询功能3.3.数据更新功能数据更新功能4.4.视图管理功能视图管理功能5.5.数据控制功能数据控制功能Visual FoxPro 应用基础与面向对象程序设计教程8.2 数据定义数据定义8.2.4 删除表删除表8.2.3 修改表结构修改表结构8.2.2 创建表创建表8.2
3、.1 SQL语言基本数据类型语言基本数据类型Visual FoxPro 应用基础与面向对象程序设计教程8.2.1 SQL语言基本数据类型语言基本数据类型1.1.数值型数值型 Integer Integer、Float(n)Float(n)、DoubleDouble、Numberic(p,q)Numberic(p,q)2.2.字符型字符型 Char(n)Char(n)、Text/MemoText/Memo、BinaryBinary3.3.日期、时间型日期、时间型 Date Date、TimeTime、DateTimeDateTime4.4.逻辑型逻辑型 Boolean Boolean5.5.货币
4、型货币型 Money Money6.OLE6.OLE型型 General GeneralVisual FoxPro 应用基础与面向对象程序设计教程8.2.2 创建表创建表使用使用Create TableCreate Table语句定义基本表。语句定义基本表。Create Table Create Table (1,2,n)n);Visual FoxPro 应用基础与面向对象程序设计教程8.2.2 创建表创建表 例:创建例:创建“人才档案人才档案”数据库的基本表,已知有:数据库的基本表,已知有:人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,人才档案(编号,姓名,性别,出生日期,学历
5、,政治面貌,民族,工资现状,工作简历,照片)工资现状,工作简历,照片)Visual FoxPro 应用基础与面向对象程序设计教程8.2.3 修改表结构修改表结构 使用使用ALTER TABLEALTER TABLE语句修改表的结构。语句修改表的结构。Alter Table Alter Table Add Add ,DropConstraintDropConstraint|C0lumn|C0lumn,Alter Alter ,;Visual FoxPro 应用基础与面向对象程序设计教程8.2.3 修改表结构修改表结构 例:修改例:修改“人才管理人才管理”数据库中已有表的结构,在数据库中已有表的结
6、构,在“人才档案人才档案”表中增加一个表中增加一个“备注备注”字段。字段。Visual FoxPro 应用基础与面向对象程序设计教程8.2.4 删除表删除表使用使用DROP TABLEDROP TABLE语句删除表。语句删除表。Drop Table Drop Table 例:删除例:删除“人才管理人才管理”数据库中的数据库中的“人才档案备份人才档案备份”表。表。Visual FoxPro 应用基础与面向对象程序设计教程8.3 数据更新数据更新8.3.3 删除记录删除记录8.3.2 更新记录更新记录8.3.1 插入记录插入记录Visual FoxPro 应用基础与面向对象程序设计教程8.3.1
7、插入记录插入记录在在SQLSQL语言中,插入数据使用语言中,插入数据使用InsertInsert语句。语句。Insert Into Insert Into(1,2,)Values(Values(,)2,)例:给例:给“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表添加以下两组数据。表添加以下两组数据。(Bj10001Bj10001,刘伟箭,男,刘伟箭,男,08/23/6008/23/60,大学,党员,汉族,大学,党员,汉族,90009000,略,略),略,略)(Bj11002Bj11002,刘简捷,男,刘简捷,男,12/31/5812/31/58,大学,民主党派,蒙古族,大学,民
8、主党派,蒙古族,68006800,略,略),略,略)Visual FoxPro 应用基础与面向对象程序设计教程8.3.2 更新记录更新记录 在在SQLSQL语言中,更新数据表中的数据可使用语言中,更新数据表中的数据可使用UpdateUpdate语句。语句。Update Update Set Set =,=,Where Where 例:更新例:更新“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表中的数据,将所表中的数据,将所有的有的“政治面貌政治面貌”字段取值为字段取值为“党员党员”更新为更新为“团员团员”。Visual FoxPro 应用基础与面向对象程序设计教程8.3.3 删除
9、记录删除记录 在在SQLSQL语言中,删除表中数据可使用语言中,删除表中数据可使用DeleteDelete语句。语句。Delete From Delete From Where Where 例:删除例:删除“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表中的数据,将表中的数据,将所有的所有的“学历学历”字段取值字段取值“大学大学”的数据进行逻辑删除。的数据进行逻辑删除。Visual FoxPro 应用基础与面向对象程序设计教程8.4 数据查询数据查询8.4.4 嵌套查询嵌套查询8.4.3 条件查询条件查询8.4.2 基本查询基本查询8.4.1 Select语句语句8.4.6 排序
10、查询排序查询8.4.7 连接查询连接查询8.4.5 分组查询分组查询Visual FoxPro 应用基础与面向对象程序设计教程8.4.1 Select语句语句 Select Select语句能够完成单表查询、多表查询和嵌套查询等操作。语句能够完成单表查询、多表查询和嵌套查询等操作。Select All|Distinct Select All|Distinct|,From From Left Right Join Left Right Join On On Where Where Group By Group By Having Having Order By Order By Asc Desc
11、2 Asc DescVisual FoxPro 应用基础与面向对象程序设计教程8.4.1 Select语句语句Visual FoxPro 应用基础与面向对象程序设计教程8.4.1 Select语句语句Visual FoxPro 应用基础与面向对象程序设计教程8.4.2 基本查询基本查询 1.1.检索表中所有的记录和字段检索表中所有的记录和字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“人人才档案才档案”表所有字段。检索表中所有的记录和字段。表所有字段。检索表中所有的记录和字段。Visual FoxPro 应用基础与面向对象程序设计
12、教程8.4.2 基本查询基本查询 2.2.检索表中指定的字段检索表中指定的字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“编编号号”、“姓名姓名”、“性别性别”、“出生日期出生日期”、“学历学历”和和“工资现状工资现状”6 6个字段的内容。即检索数据库表中指定的字段。个字段的内容。即检索数据库表中指定的字段。Visual FoxPro 应用基础与面向对象程序设计教程8.4.2 基本查询基本查询 3.3.检索表中指定的字段和产生新字段检索表中指定的字段和产生新字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包
13、含表中的数据创建一个查询,其结果包含“编编号号”、“姓名姓名”、“性别性别”和和“学历学历”,并增加一个,并增加一个“年龄年龄”字段。即字段。即检索数据库表中指定的字段和产生新字段。检索数据库表中指定的字段和产生新字段。Visual FoxPro 应用基础与面向对象程序设计教程8.4.3 条件查询条件查询 1.1.检索表中满足指定条件的记录检索表中满足指定条件的记录 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“人才档案人才档案”表所有的字段的内容,而且只选择少数民族人才的记录。即检索数据库表中指表所有的字段的内容,而且只选择少数民族
14、人才的记录。即检索数据库表中指定的记录。定的记录。Visual FoxPro 应用基础与面向对象程序设计教程8.4.3 条件查询条件查询 2.2.检索表中指定的字段和指定的记录检索表中指定的字段和指定的记录 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“编编号号”、“姓名姓名”、“性别性别”、“出生日期出生日期”、“工资现状工资现状”5 5个字段的内个字段的内容,只选择容,只选择“工资现状工资现状”超过超过70007000元的记录。即检索数据库表中指定的字元的记录。即检索数据库表中指定的字段和指定的记录。段和指定的记录。Visual
15、FoxPro 应用基础与面向对象程序设计教程8.4.4 嵌套查询嵌套查询 1.1.用于相等(用于相等(=)判断的子查询)判断的子查询 例:利用例:利用“求职期望求职期望”和和“岗位类别岗位类别”表中的数据创建一个查询,查找编表中的数据创建一个查询,查找编号为号为“jl04002”jl04002”求职的岗位类别的记录。即检索数据库中,其求职的岗位类别的记录。即检索数据库中,其“父父”表中某表中某字段值与字段值与“子子”表中某字段值相等的记录。表中某字段值相等的记录。Visual FoxPro 应用基础与面向对象程序设计教程8.4.4 嵌套查询嵌套查询 2.2.用于用于InIn短语的子查询短语的子
16、查询 例:利用例:利用“专业特长专业特长”和和“人才档案人才档案”表中的数据创建一个查询,查表中的数据创建一个查询,查找找“专业专业”与与“计算机计算机”相关的记录。即检索数据库中,其相关的记录。即检索数据库中,其“父父”表中某表中某字段值与字段值与“子子”表中某字段值其中一个相匹配的记录。表中某字段值其中一个相匹配的记录。Visual FoxPro 应用基础与面向对象程序设计教程8.4.4 嵌套查询嵌套查询 3.3.用于比较运算符的子查询用于比较运算符的子查询 例:利用例:利用“人才档案人才档案”和和“求职期望求职期望”表中的数据创建一个查询,查找表中的数据创建一个查询,查找“希望工资希望工资”大于大于“学历学历”为为“大学大学”的平均工资的相关记录。即检索数据库的平均工资的相关记录。即检索数据库中,其中,其“父父”表中某字段值大于表中某字段值大于“子子”表中某字段值的记录。表中某字段值的记录。Visual FoxPro 应用基础与面向对象程序设计教程8.4.4 嵌套查询嵌套查询 4.4.用于用于AnyAny的子查询的子查询 例:利用例:利用“求职期望求职期望”和和“岗位类别岗位类别