SQL关系数据库查询语言.ppt
《SQL关系数据库查询语言.ppt》由会员分享,可在线阅读,更多相关《SQL关系数据库查询语言.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程1.SQL1.SQL的中英文名称是什么的中英文名称是什么?2.2.SQL
2、SQL的语言功能是什么的语言功能是什么?-结构化查询语言结构化查询语言-Structured Query Language数据查询数据查询:select数据定义数据定义:create、drop、alter数据操纵数据操纵:insert、update、delete数据控制数据控制:grant、revokeSQL语言概述表表4-1 SQL语言的语言的9个命令动词个命令动词 SQL SQL功能功能命令命令动词动词 数据数据查询查询SelectSelect数据操作数据操作插入插入记录记录InsertInsert更新更新记录记录UpdateUpdate删删除除记录记录DeleteDelete数据定数据定
3、义义定定义义基本表或索引基本表或索引CreateCreate删删除基本表或索引除基本表或索引DropDrop修改基本表或索引修改基本表或索引AlterAlter8.2 数据定义数据定义8.2.4 删除表删除表8.2.3 修改表结构修改表结构8.2.2 创建表创建表8.2.1 SQL语言基本数据类型语言基本数据类型Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.1 SQL语言基本数据类型语言基本数据类型1.1.数值型数值型 Integer Integer、Float(nFloat(n)、DoubleDouble、Numberic(p,qNumber
4、ic(p,q)2.2.字符型字符型 Char(nChar(n)、Text/MemoText/Memo、BinaryBinary3.3.日期、时间型日期、时间型 Date Date、TimeTime、DateTimeDateTime4.4.逻辑型逻辑型 Boolean Boolean5.5.货币型货币型 Money Money6.OLE6.OLE型型 General GeneralVisual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.2 创建表创建表使用使用Create TableCreate Table语句定义基本表。语句定义基本表。Create Ta
5、ble Create Table (1,2,n)n);Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.2 创建表创建表 例:创建例:创建“人才档案人才档案”数据库的基本表,已知有:数据库的基本表,已知有:人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,人才档案(编号,姓名,性别,出生日期,学历,政治面貌,民族,工资现状,工作简历,照片)工资现状,工作简历,照片)Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.3 修改表结构修改表结构 使用使用ALTER TABLEALTER TABLE语
6、句修改表的结构。语句修改表的结构。Alter Table Alter Table Add Add ,DropConstraintDropConstraint|C0lumn|C0lumn,Alter Alter ,;Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.3 修改表结构修改表结构 例:修改例:修改“人才管理人才管理”数据库中已有表的结构,在数据库中已有表的结构,在“人才档案人才档案”表中增加一个表中增加一个“备注备注”字段。字段。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.2.4 删除表删除表
7、使用使用DROP TABLEDROP TABLE语句删除表。语句删除表。Drop Table Drop Table 例:删除例:删除“人才管理人才管理”数据库中的数据库中的“人才档案备份人才档案备份”表。表。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程格式:格式:create table|dbf 表名表名 (字段名字段名1 类型类型(宽度宽度,小数位数小数位数)null|not null check 规则规则|error 信息信息 default 表达式表达式 primary key|unique ,字段名字段名2,foreign key 表达式表达
8、式 tag 表达式表达式 references 表名表名1)一、表的定义一、表的定义Eg1:用用SQL CREATESQL CREATE命令建立命令建立“仓库仓库”表表create table 仓库仓库(;仓库号仓库号 C(5)primary key,;面积面积 N(20),;城市城市 C(20)Eg2:用用SQL CREATESQL CREATE命令建立命令建立“职工职工”表表create table 职工职工 (;仓库号仓库号 C(5),;职工号职工号 C(5)primary key,;工资工资 I I check(工资工资=1000 and 工资工资0;error“总金额应该大于总金额应
9、该大于0!”check 规则规则|error 信息信息 default 表达式表达式primary key|unique三、修改表结构三、修改表结构格式二:修改已有字段的类型和宽度格式二:修改已有字段的类型和宽度alter table 表名;表名;alter 字段名字段名 类型类型(宽度宽度)eg:将订购单表的订购单号字段的宽度由原来将订购单表的订购单号字段的宽度由原来5改为改为6alter table 订购单订购单;alter 订购单号订购单号 C(6)格式三:更改字段名格式三:更改字段名alter table 表名;表名;rename column 字段名字段名 to 新字段名新字段名eg
10、3:将订购单表的总金额字段名改为金额将订购单表的总金额字段名改为金额alter table 订购单订购单;rename column 总金额总金额 to 金额金额格式四:删除已有字段格式四:删除已有字段alter table 表名表名drop column 字段名字段名eg4:删除订购单删除订购单1表中的金额字段表中的金额字段alter table 订购单订购单1;drop column 金额金额格式五:修改或定义有效性规则格式五:修改或定义有效性规则alter table 表名表名alter 字段名字段名 set checkerroreg5:修改或定义总金额字段的有效性规则修改或定义总金额字
11、段的有效性规则 alter table 订购单订购单1;alter 总金额总金额 set check 总金额总金额100;error“总金额应该大于总金额应该大于100!”格式六:删除有效性规则格式六:删除有效性规则alter table 表名表名alter 字段名字段名 drop checkeg:删除总金额字段的有效性规则删除总金额字段的有效性规则alter table 订购单订购单1;alter 总金额总金额 drop check8.3 数据更新数据更新8.3.3 删除记录删除记录8.3.2 更新记录更新记录8.3.1 插入记录插入记录Visual FoxPro 应应用用基础基础与与面向对
12、象程序设计教程面向对象程序设计教程8.3.1 插入记录插入记录在在SQLSQL语言中,插入数据使用语言中,插入数据使用InsertInsert语句。语句。Insert Into Insert Into(1,2,)Values(Values(,2,)例:给例:给“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表添加以下两组数据。表添加以下两组数据。(Bj10001Bj10001,刘伟箭,男,刘伟箭,男,08/23/6008/23/60,大学,党员,汉族,大学,党员,汉族,90009000,略,略),略,略)(Bj11002Bj11002,刘简捷,男,刘简捷,男,12/31/5812/
13、31/58,大学,民主党派,蒙古族,大学,民主党派,蒙古族,68006800,略,略),略,略)Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.3.2 更新记录更新记录 在在SQLSQL语言中,更新数据表中的数据可使用语言中,更新数据表中的数据可使用UpdateUpdate语句。语句。Update Update Set Set =,=,Where Where 例:更新例:更新“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表中的数据,将所表中的数据,将所有的有的“政治面貌政治面貌”字段取值为字段取值为“党员党员”更新为更新为“团员团员”。
14、Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.3.3 删除记录删除记录 在在SQLSQL语言中,删除表中数据可使用语言中,删除表中数据可使用DeleteDelete语句。语句。Delete From Delete From Where Where 例:删除例:删除“人才管理人才管理”数据库中的数据库中的“人才档案人才档案”表中的数据,将所表中的数据,将所有的有的“学历学历”字段取值字段取值“大学大学”的数据进行逻辑删除。的数据进行逻辑删除。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程格式格式1:inser
15、t into 表名表名;values(表达式表达式1,表达式表达式2,表达式表达式n)格式格式2:insert into 表名表名(字段名字段名1,字段名字段名2,);values(表达式表达式1,表达式表达式2,)一、插入记录一、插入记录Eg1Eg1:向:向scorescore表中插入一条记录表中插入一条记录(1996468006,05,98)(1996468006,05,98)Eg2:Eg2:向向scorescore表中插入一条记录表中插入一条记录(05,98)(05,98)insert into score(insert into score(课程编号课程编号,成绩成绩););value
16、s(05,98)values(05,98)insert into score;values(1996468006,05,98)insert into score(学号学号,课程编号课程编号,成绩成绩);values(1996468006“,05,98)格式:格式:update 表名表名;set 字段名字段名1=表达式表达式1,字段名,字段名2=表达式表达式2.;where说明:说明:(1)当不使用)当不使用where时,则更新全部记录时,则更新全部记录二、更新记录二、更新记录eg1:给给score表中所有成绩加表中所有成绩加10分分eg2:给给score表中所有不及格的成绩加表中所有不及格的成
17、绩加10分分update score set update score set 成绩成绩成绩成绩=成绩成绩成绩成绩+10+10update score set update score set 成绩成绩成绩成绩=成绩成绩成绩成绩+10;+10;where where 成绩成绩成绩成绩6070格式格式:delete from 表名表名 where 说明说明:(1)当不使用)当不使用where时,逻辑删除表中全时,逻辑删除表中全部记录部记录(2)物理删除:)物理删除:Pack逻辑删除逻辑删除三、删除记录三、删除记录Eg1:将:将teacher表中职称为助教的教师信息删表中职称为助教的教师信息删除。
18、除。delete from teacher where 职称职称=助教助教eg2:物物理理删删除除student表表中中年年龄龄为为20的的学学生生记录记录delete from student;where year(date()-year(出生日期出生日期)=20pack8.4 数据查询数据查询8.4.4 嵌套查询嵌套查询8.4.3 条件查询条件查询8.4.2 基本查询基本查询8.4.1 Select语句语句8.4.6 排序查询排序查询8.4.7 连接查询连接查询8.4.5 分组查询分组查询Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.1 S
19、elect语句语句 Select Select语句能够完成单表查询、多表查询和嵌套查询等操作。语句能够完成单表查询、多表查询和嵌套查询等操作。Select Select All|DistinctAll|Distinct|,From From Left Right Join Left Right Join On On Where Where Group By Group By Having Having Order By Order By 2 AscAsc DescDescVisual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.1 Select语句语句Vi
20、sual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.1 Select语句语句Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.2 基本查询基本查询 1.1.检索表中所有的记录和字段检索表中所有的记录和字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“人人才档案才档案”表所有字段。检索表中所有的记录和字段。表所有字段。检索表中所有的记录和字段。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.2 基本查询
21、基本查询 2.2.检索表中指定的字段检索表中指定的字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“编号编号”、“姓名姓名”、“性别性别”、“出生日期出生日期”、“学历学历”和和“工资现状工资现状”6 6个个字段的内容。即检索数据库表中指定的字段。字段的内容。即检索数据库表中指定的字段。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.2 基本查询基本查询 3.3.检索表中指定的字段和产生新字段检索表中指定的字段和产生新字段 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其
22、结果包含表中的数据创建一个查询,其结果包含“编编号号”、“姓名姓名”、“性别性别”和和“学历学历”,并增加一个,并增加一个“年龄年龄”字段。即字段。即检索数据库表中指定的字段和产生新字段。检索数据库表中指定的字段和产生新字段。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.3 条件查询条件查询 1.1.检索表中满足指定条件的记录检索表中满足指定条件的记录 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“人才档案人才档案”表所有的字段的内容,而且只选择少数民族人才的记录。即检索数据库表中表所
23、有的字段的内容,而且只选择少数民族人才的记录。即检索数据库表中指定的记录。指定的记录。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.3 条件查询条件查询 2.2.检索表中指定的字段和指定的记录检索表中指定的字段和指定的记录 例:利用例:利用“人才档案人才档案”表中的数据创建一个查询,其结果包含表中的数据创建一个查询,其结果包含“编号编号”、“姓名姓名”、“性别性别”、“出生日期出生日期”、“工资现状工资现状”5 5个字段的内容,个字段的内容,只选择只选择“工资现状工资现状”超过超过70007000元的记录。即检索数据库表中指定的字段和元的记录。
24、即检索数据库表中指定的字段和指定的记录。指定的记录。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.4 嵌套查询嵌套查询 1.1.用于相等(用于相等(=)判断的子查询)判断的子查询 例:利用例:利用“求职期望求职期望”和和“岗位类别岗位类别”表中的数据创建一个查询,查找编表中的数据创建一个查询,查找编号为号为“jl04002jl04002”求职的岗位类别的记录。即检索数据库中,其求职的岗位类别的记录。即检索数据库中,其“父父”表中某字表中某字段值与段值与“子子”表中某字段值相等的记录。表中某字段值相等的记录。Visual FoxPro 应应用用基
25、础基础与与面向对象程序设计教程面向对象程序设计教程8.4.4 嵌套查询嵌套查询 2.2.用于用于InIn短语的子查询短语的子查询 例:利用例:利用“专业特长专业特长”和和“人才档案人才档案”表中的数据创建一个查询,查表中的数据创建一个查询,查找找“专业专业”与与“计算机计算机”相关的记录。即检索数据库中,其相关的记录。即检索数据库中,其“父父”表中某表中某字段值与字段值与“子子”表中某字段值其中一个相匹配的记录。表中某字段值其中一个相匹配的记录。Visual FoxPro 应应用用基础基础与与面向对象程序设计教程面向对象程序设计教程8.4.4 嵌套查询嵌套查询 3.3.用于比较运算符的子查询用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 关系 数据库 查询 语言
限制150内