ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:81.50KB ,
资源ID:6909240      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6909240.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(第四章 SQL语言.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第四章 SQL语言.doc

1、关系数据库标准语言SQL 结构化查询语言: STRUCTURED QUERY LANGUAGE(SQL) 4.1SQL介绍-----特点 (1)SQL是一种一体化语言 (2)SQL语言是一种高度非过程化的语言 (3)SQL 语言非常简洁 (4)SQL语言可以直接以命令的方式使用,也可以嵌入到程序设计语言中以程序的方式使用 SQL的功能:数据的定义、数据的操纵、数据的查询、数据的控制。 说明:VF数据库不支持数据的控制功能。 数据的定义功能:对表结构的操作(CREATE 创建 、DROP 删除 、ALTER 修改) 数据的操纵功能:对表记录的操作(I

2、NSERT 插入、update 修改、DELETE 删除) 数据的查询:SELECT 4.4定义功能:CREATE、DROP 、ALTER 4.4.1表的定义CREATE 创建一个仓库管理数据库(仓库、职工、订购单、供应商) 定义表的结构:字段名、类型、宽度、有效性规则和索引等等。 语法格式: CREATE TABLE 表名(字段名1 类型(宽度) PRIMARY KEY,字段名2 类型(宽度),; 字段名3 类型(宽度) CHECK……. ERROR…….. DEFAULT,; FOREIGN KEY 字段名 TAG 索引名 REFERENC

3、ES 表名,; FOREIGN KEY 字段名 TAG 索引名 REFERENCES 表名) 说明:PRIMARY KEY 建立一个主索引,CHECK…..ERROR….DEFAULT 字段的有效性规则. FOREIGN KEY 外部关键字建立普通索引, REFERENCES 为表建立联系 EG:仓库表建立 create database 仓库管理 modify database create TABLE 仓库(仓库号 C(4) PRIMARY KEY,; 城市 C(10),面积 N(6,2)CHECK 面积>=120 AND 面积<=580 ;

4、 error "面积在120-580之间" DEFAULT 120) 职工表建立: CREATE TABLE 职工(职工号 C(4) PRIMARY KEY,; 仓库号 C(4),工资 Y,; FOREIGN KEY 仓库号 TAG 仓库号 REFERENCE 仓库) 供应商表建立: CREATE TABLE 供应商(供应商号 C(4) PRIMARY KEY,; 供应商名 C(8)) 订购单表建立: CREATE TABLE 订购单(订购单号 C(4) PRIMARY KEY,; 职工号 C(4),供应商号 C(4),订购日期 D NULL,

5、 FOREIGN KEY 职工号 TAG 职工号 REFERENCE 职工,; FOREIGN KEY 供应商号 TAG 供应商号 REFERENCE 供应商) 4.4.2表的删除:DROP 直接从磁盘上删除表所对应的DBF文件。 语法格式: DROP TABLE 表名 4.4.3表结构的修改:ALTER (1)添加字段、修改已有字段名,修改字段的类型、宽度。 语法格式: ALTER TABLE 表名 ADD 新字段名 类型(宽度) ALTER TABLE 表名 RENAME 字段名 TO 新字段名 ALTER TABLE 表名 ALTER

6、 字段名 新类型(新宽度) EG: ALTER TABLE 职工 ADD 邮箱 C(11) ALTER TABLE 订购单 RENAME 订购日期 TO 订购时间 ALTER TABLE 职工 ALTER 电话号码 N(7) (2)为已有字段(添加或者修改 )有效性规则,添加字段的同时添加有效性规则。删除有效性规则,删除字段。 语法格式: Alter table 表名 ALTER 字段名 SET CHECK ………ERROR......... Alter table 表名 ALTER 字段名 SET DEFULT………. 说明:对已有字段设置有效性规

7、则时,默认值必须单独设置 ALTER TABLE 表名 ADD 字段名 类型(宽度) CHECK…… ERROR…. DEFAULT….. ALTER TABLE 表名 ALTER 字段名 DROP CHECK ALTER TABLE 表名 ALTER 字段名 DROP DEFAULT ALTER TABLE 表名 DROP 字段名 EG: ALTER TABLE 职工 alter 工资 SET check 工资>=1000 AND 工资<=5000; ERROR "工资在1000-5000中间" ALTER TABLE 职工 alter 工资 S

8、ET DEFAULT 1000 ALTER TABLE 供应商 ADD 资产 N(8,2) CHECK 资产>=8000 AND 资产<=18500; ERROR "资产的范围在8000---18500" DEFAULT 8000 ALTER TABLE 职工 ALTER 工资 DROP check ALTER TABLE 职工 ALTER 工资 DROP DEFAULT alter TABLE 供应商 DROP 资产 (3)添加各种类型的索引,删除索引,通过索引建立表之间的联系。 语法格式: ALTER TABLE 表名 ADD 索引类型(PRIMARY K

9、EY /CANDIDATE) 字段名 TAG 索引名 ALTER TABLE 表名2 ADD 索引类型(FOREIGN KEY) 字段名 TAG 索引名; REFERENCE 表名1 ALTER TABLE 表名 DROP 索引类型 TAG 索引名 说明:索引类型:主索引(PRIMARY KEY) 候选索引(CANDIDATE/UNIQUE) 普通索引(FOREIGN KEY ) EG: ALTER TABLE 仓库 ADD PRIMARY KEY 仓库号 TAG 仓库号 alter TABLE 职工 ADD primary KEY 职工号 TAG Z

10、GH ALTER TABLE 仓库 ADD unique 所在地 TAG SZD ALTER TABLE 职工 ADD foreign KEY 仓库号 TAG 仓库号 REFERENCE 仓库 alter TABLE 供应商 DROP primary KEY ALTER TABLE 仓库 DROP CANDIDATE TAG SZD ALTER TABLE 职工 DROP FOREIGN KEY TAG 仓库号 4.3数据的操作功能:对表记录的操作(INERT、UPDATE、DELETE) 4.3.1插入数据:INSERT VF支持两种S

11、QL插入命令:标准格式和特殊格式 (1)标准格式插入:部分插入和完全插入 语法格式: Insert INTO 表名(字段名1,字段名2,……) VALUE (字段值1,字段值2,……..) Insert INTO 表名 VALUE(字段值1,字段值2,…….) EG: INSERT INTO 职工(职工号,仓库号,工资) VALUE("E9","WH2",1850) 说明:插入记录时,主关键字不允许为空. INSERT into 职工 VALUE("E2","WH3",1580,"女","武汉") INSERT INTO 职工(职工号,婚否,出生日期) V

12、ALUE("E5",.T.,{^1985.12.02}) (2)特殊格式:向表中插入的数据来自于某个数组(ARRAY) EG: CLOSE ALL DIME M(5) &&&&&&定义一维数组M M(1)="E8" M(2)="WH4" M(3)=8500 M(4)="男" M(5)="天津" Use 职工 BROWSE insert INTO 职工 FROM ARRAY M 4.3.2更新数据(UPDATE):修改表中记录值 语法格式: UPDATE 表名 SET 字段名=新的值 (功能:修改表中指定字段的所有值) U

13、PDATE 表名 SET 字段名=字段名+新的值 WHERE 条件表达式 EG: 将男职工的工资增加10%? UPDATE 职工 SET 工资=工资+工资*0.1 where 性别="男" 将家在上海居住的女职工的工资修改为1950? update 职工 SET 工资=1950 WHERE 性别="女" AND 城市="上海" 4.3.3删除数据(DELETE):逻辑删除表中的记录,如果要实现物理删除,使用命令PACK 语法格式: DELETE FROM 表名 (功能:逻辑删除指定表的所有记录) DELETE FROM 表名 WHERE 条件表

14、达式 EG:将工资大于1550以上的职工信息删除? DELETE FROM 职工 WHERE 工资>=1550 4.2查询功能SELECT :SQL语言的核心内容。 查询的分类:简单查询、简单连接查询、嵌套查询、超连接查询。 查询的基本格式:SELECT ……. FROM………. WHERE……… 多个查询可以进行嵌套。 4.2.1简单查询:基于一个表的数据查询。 语法格式: 查找的对象(字段名),字段名来自于那个表,条件来自于 那个表。 SELECT 字段名1,字段名2,….. FROM 表名 where 条件 EG1:找出男职工的职工

15、号和工资? select 职工号,工资 FROM 职工 WHERE 性别="男" EG2:检索出女职工的全部信息? SELECT 职工号,仓库号,工资,性别,城市 FROM 职工 WHERE 性别="女" SELECT * FROM 职工 WHERE 性别="女" 说明:通配符星号*:表示通配查询的所有字段. EG3:找出E3职工的所在地是哪儿? SELECT 城市 AS 所在地 FROM 职工 WHERE 职工号="E3" SELECT 城市 所在地 FROM 职工 WHERE 职工号="E3" 说明: AS (也可以用空格表示):表示将字段作为新的字段输出

16、 EG4:检索出家在上海和遵义居住的男职工信息? SELECT * FROM 职工 where 性别="男" AND (城市="上海" OR 城市="遵义") EG5:检索男职工来自于那些城市? SELECT DISTINCT(城市) AS 城市 FROM 职工 WHERE 性别="男" 说明:DISTINCT短语:去掉查询结果的重复值 EG6:检索出男职工来自于几个城市? SELECT COUNT(DISTINCT(城市)) AS 城市数量 from 职工 WHERE 性别="男" 说明:COUNT( ) 函数表示计数统计。 4.2.2简单连接查询:是一种基于

17、多个关系(表)的查询。 语法格式:SELECT 字段1,字段2,…… FROM 表1,表2,…… WHERE 表之间的联系 AND 查询条件(用AND/OR连接多个条件) 说明:表之间的联系是一个表的主关键字和另外一个表外部关键字 表1.主关键字=表2.外部关键字 查询条件:是对查询结果进行限制。 EG1:检索出男职工的仓库的所在地? SELECT 所在地 FROM 仓库,职工 where 仓库.仓库号=职工.仓库号 AND 性别="男" EG2:检索出工资高于1220元的男职工的订购单信息? SELECT 订购单.* FROM 职工,订购单 WHERE 职工.职工号

18、订购单.职工号; AND 工资>1220 AND 性别="男" EG:找出仓库的仓库号、所在地以及他们的职工? SELECT 仓库.仓库号,所在地,职工号 FROM 仓库,职工 WHERE 仓库.仓库号=职工.仓库号 说明:查询的对象不唯一时,必须加表名限制。 课堂练习: 检索出补考学生的人数? SELECT count(DISTINCT(学号)) AS 补考人数 FROM 成绩 WHERE 分数<60 找出男党员所选修的课程名? SELECT 课程名 FROM 学生,成绩,课程 WHERE 学生.学号=成绩.学号; AND 成绩.课程号=课程.课程号 AND

19、 性别="男" AND 政治面貌="党员" 检索出选修了外语课程的学生信息? SELECT 学生.* FROM 学生,成绩,课程 where 学生.学号=成绩.学号; AND 成绩.课程号=课程.课程号 AND 课程名="外语" 课后练习: 检索出由北京的供应商提供的订购单信息? select 订购单.* from 订购单,供应商 where 供应商.供应商号=订购单.供应商号 and 地址="北京" 找出向S4供应商发出订购单的仓库所在的城市? SELECT DISTINCT(所在地) AS 城市 FROM 仓库,职工,订购单; WHERE 仓库.仓库号=职工.

20、仓库号 AND 职工.职工号=订购单.职工号; AND 供应商号="S4" 检索出向供应商S3发过订购单的职工的职工号和仓库号? SELECT 职工.职工号,仓库号 FROM 职工,订购单 where 职工.职工号=订购单.职工号; AND 供应商号="S3" 4.2.3嵌套查询:基于多个表的查询。查询结果来自于一个表,然而查询的条件来自于另一个表或者多个表。 嵌套查询特点:分为外层和内层,外层查询结果,内层查询的结果将作为外层查询的条件。 语法格式: SELECT 表1字段 FROM 表1 where ? IN(SELECT ? FROM 表2,表3…..

21、 WHERE 表2和表3的联系 AND 查询条件) AND 条件表达式 EG1: 检索出那些仓库所在地有职工? SELECT 所在地 FROM 仓库 WHERE 仓库号 IN(SELECT 仓库号 FROM 职工) EG2: 检索出女职工所拥有的订购单? SELECT 订购单号 FROM 订购单 WHERE 职工号 IN(; SELECT 职工号 FROM 职工 WHERE 性别="女") EG3 SELECT 订购单号 FROM 职工,订购单 WHERE 职工.职工号=订购单.职工号; AND 性别="女" EG4 检索出那些男职工有订购单? SELECT

22、 职工号 FROM 职工 WHERE 性别="男"; AND 职工号 IN(SELECT 职工号 FROM 订购单) 说明:查询的条件如果和查询的结果来自于同一个表,查询条件一定书写在外层,反之书写在内层。 课堂练习: 检索出由北京的供应商提供的订购单信息? SELECT * FROM 订购单 WHERE 供应商号 IN(SELECT 供应商号 FROM 供应商 where 地址="北京") 找出向S4供应商发出订购单的仓库所在的城市? SELECT 所在地 FROM 仓库 where 仓库号 IN(; SELECT 仓库号 FROM 职工,订购单 WHERE 职工

23、职工号=订购单.职工号 AND 供应商号="S4") 检索出向供应商S3发过订购单的职工的职工号和仓库号? SELECT 职工号,仓库号 FROM 职工 where 职工号 in(; SELECT 职工号 FROM 订购单 WHERE 供应商号="S3") 检索出由工资多于1230元的职工向北京的供应商发出的订购单号? SELECT 订购单号 FROM 职工,订购单,供应商 where 职工.职工号=订购单.职工号; AND 订购单.供应商号=供应商.供应商号 AND 工资>1230 AND 地址="北京" SELECT 订购单号 FROM 订购单 where

24、职工号 IN(SELECT 职工号 FROM 职工 WHERE 工资>1230); AND 供应商号 IN(SELECT 供应商号 FROM 供应商 WHERE 地址="北京") 4.2.4几个特殊的运算符: (1) BETWEEN…… AND……. 表示在两者之间(闭区间)) 例题:检索出工资在1220到1240之间的职工信息? SELECT * from 职工 WHERE 工资>=1220 AND 工资<=1240 SELECT * from 职工 WHERE 工资 BETWEEN 1220 AND 1240 (2)LIKE:像什么一样,是字符串匹

25、配运算符,通配符%表示0个或者多个字符,另外下划线_表示一个字符。 例题:从供应商关系中检索出全部公司的信息? SELECT * FROM 供应商 where 供应商名 LIKE "%公司" 检索出姓张学生的信息? SELECT * FROM 学生 WHERE 姓名 LIKE "张%" (3)不等于: != # NOT <> 例题:检索出没有在北京居住的职工信息? SELECT * FROM 职工 WHERE 城市!="北京" SELECT * FROM 职工 WHERE 城市<>"北京" SELECT * FROM 职工 WHERE 城市#"北京

26、" SELECT * FROM 职工 WHERE NOT(城市="北京") 4.2.5排序:对查询结果按照某个字段值的升序或者降序来排列查询结果 排序的短语:ORDER BY 字段名1,字段名2,…… 说明:升序ASC 降序 DESC, 系统默认是升序 例题1:按职工的工资值升序检索出全部职工的信息? SELECT * from 职工 ORDER BY 工资 ASC 例题2:检索出全部职工的信息,并且先按照仓库号的升序排列,再按工资的降序输出。 SELECT 职工号,仓库号,工资,性别,城市 FROM 职工; ORDER BY 仓库号 ASC,工资

27、 DESC SELECT 职工号,仓库号,工资,性别,城市 FROM 职工; ORDER BY 2 ASC,3 DESC 4.2.6简单的计算查询 计算检索的函数: COUNT( ) 计数 SUM( ) 求和 AVG( ) 平均值 MAX( ) 最大值 MIN( ) 最小值 EG1:检索出供应商所在地的数目? SELECT COUNT(DISTINCT(地址)) AS 数目 FROM 供应商 EG2:检索出所有职工的工资总和? SELECT SUM(工资) AS 总工资 FROM 职工 4.2.8利用空值(NULL)查询:不确定

28、的值 IS NULL 不确定的值 IS NOT NULL 确定了的值 例题:找出没有确定供应商的订购单信息? SELECT * FROM 订购单 WHERE 供应商号 IS NULL 4.2.7分组与计算查询 分组的短语: GROUP BY 字段名 对分组的条件进行限制:HAVING 例题:求每个仓库的职工的平均工资? SELECT 仓库号,AVG(工资) FROM 职工 group BY 仓库号+ 例题:求至少有两个职工的每个仓库的平均工资? SELECT 仓库号,AVG(工资) FROM 职工 group BY 仓库号 HAVI

29、NG COUNT(职工号)>=2 课堂练习: 找出每个城市的男职工人数? SELECT 城市,COUNT(职工号) FROM 职工 WHERE 性别="男" group BY 城市 检索出面积大于300的每个仓库的职工人数? SELECT 职工.仓库号,COUNT(职工号) FROM 仓库,职工 WHERE 仓库.仓库号=职工.仓库号; AND 面积>300 GROUP BY 职工.仓库号 SELECT 仓库号,COUNT(职工号) FROM 职工 WHERE 仓库号 in(; SELECT 仓库号 FROM 仓库 WHERE 面积>300) GROUP BY 仓库号 检索出最少有两个订购单的职工的信息? SELECT 职工.* FROM 职工,订购单 WHERE 职工.职工号=订购单.职工号; GROUP BY 订购单.职工号 HAVING COUNT(*)>=2 检索出每个仓库中工资多于1220元的职工人数? SELECT 仓库号,COUNT(职工号) from 职工 where 工资>1220 group by 仓库号

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服