已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关系数据库标准语言SQL,SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括:,9.1 SQL语言的基本概念,数据定义,1,数据操纵,2,数据查询,3,数据控制,4,数据定义语言DDL用于执行数据定义的操作,如创建或删除表、索引和视图之类的对象。由CREATE、DROP、ALTER命令组成,完成数据库对象的建立(CREATE)、删除(DROP)和修改(ALTER)。 9.2.1 定义(创建)表 【格式】CREATE TABLE ( (,) 【功能】定义(也称创建)一个表。,9.2 数据定义,【例9-1】创建一个表STUD(学生信息表),它由以下字段组成:学号 (C,10);姓名(C,8);性别(L);入学时间 (D);年龄(N,3);备注 (M);照片(G)。,CREATE TABLE STUD(学号 C(10),姓名 C(10),性别 L,入学时间 D,年龄 N(3),备注 M,照片 G),【格式】ALTER TABLE ADD (,) 【功能】向一个已有的表中增加表字段。 【说明】ADD子句用于增加指定表的字段变量名、数据类型。 【例9-2】在学生信息表STUD中,增加一个家庭住址字段变量字段类型为字符型28位 。,9.2.2 增加表字段结构,alter table stud add 家庭住址 C(28),设置字段有效性规则,例1:为购买信息表增加一个折扣字段,折扣范围在0,1之间,命令为: ALTER TABLE 购买信息 ADD 折扣 N(4,2); CHECK 折扣=0 AND 折扣=0 (第24套1-3题) ALTER TABLE 金牌榜 ADD 奖牌总数 I; CHECK 奖牌总数=0,【格式】ALTER TABLE ALTER (,) SET DEFAULT 表达式 SET CHECK 表达式 ERROR 文本信息 【功能】修改表字段结构。 【说明】ALTER子句修改指定表的字段变量名、数据类型。 【例9-3】在学生信息表STUD中,修改“备注”字段的字段类型为字符型50位 。,9.2.3 修改表字段,alter table stud alter 备注 C(50),设置字段有效性规则,例2 为教师表的职工号字段增加有效性规则:职工号的最左边4位字符是”1102“(第45套1-4题) ALTER TABLE 教师表 ALTER 职工号; SET CHECK LEFT(职工号,4)=“1102“,建立索引,格式:ALTER TABLE 表名 ADD 索引类型名索引表达式 TAG 索引标识,例3 使用SQL语句为课程表中的”课程号”字段定义为侯选索引,索引名是temp (第44套1-2题) ALTER TABLE 课程表 ADD unique 课程号; TAG temp,【格式】ALTER TABLE DROP 【功能】删除表中的字段。 【说明】用于删除表中多余的字段。,9.2.4 删除表中的字段,【格式】DROP TALBE 【功能】删除指定表的结构和内容(包括在此表上建立的索引)。 【说明】如果只是想删除一个表中的所有记录,则应使用DELETE语句。,9.2.5 删除表,数据操纵语言是完成数据操作的命令,一般分为两种类型的数据操纵,它们统称为DML: 数据检索(常称为查询):寻找所需的具体数据。 数据修改:添加、删除和改变数据。 数据操纵语言一般由INSERT(插入)、DELETE(删除)、UPDATE(更新),SELECT(检索,又称查询)等组成,由于SELECT比较特殊,所以一般又将它以查询(检索)语言单独出现。,9.3 数据操纵,【格式】INSERT INTO VALUES () 【功能】在指定的表文件末尾追加一条记录。用表达式表中的各表达式值赋值给中的相应的各字段。,9.3.1 插入记录,【例9-4】 :为XS表添加一条记录信息,记录内容是(“c6501“,3,ctod(“03/12/03“),“03“)。,insert into xs (条码编号,数量,日期,编号) value (“c6501“,3,ctod(“03/12/03“),“03“),【格式】UPDATE SET = WHERE 【功能】更新指定表文件中满足WHERE条件子句的数据。其中SET子句用于指定列和修改的值,WHERE用于指定更新的行,如果省略WHERE子句,则表示表中所有行。 【说明】更新操作又称为修改操作。,9.3.2 更新记录命令,【例9-5】修改XS表中编号01的销售日期为2003年9月21日,UPDATE xs SET 日期=2003-09-21 where 编号=“01“,9.3.3 删除记录,【格式】DELETE FROM WHERE 【功能】从指定的表中删除满足WHERE子句条件的所有记录。如果在DELETE语句中没有WHERE子句,则该表中的所有记录都将被删除。 【说明】这里的删除是逻辑删除,即在删除的记录前加上一个删除标记。,【例9-6】删除XS表中所有条码编号为“c6501”,编号为03的记录。,dele from xs where 条码编号=“c6501” and 编号=“03”,9.4 SQL中的数据查询语句,数据库中的数据很多时侯是为了查询的,因此,数据查询是数据库的核心操作。而在SQL语言中,查询语言中有一条查询命令,即SELECT语句。,9.4.1 基本查询语句 【格式】SELECT *| DISTINCT FROM 【功能】无条件查询。 【说明】*: 表示显示全部查询记录,包括重复记录。 DISTINCT: 表示显示无重复结果的记录。,【例9-7】显示KC表中的所有记录。 命令中的*表示输出显示所有的字段,数据来源是KC表,表中的内容以浏览方式显示。 【例9-8】显示XS中的条码编号字段,同时能去除重复字段。,SELECT * FROM kc select 条码编号,品名,单价 from kc,select distinct 条码编号 from xs,9.4.2 带条件(WHERE)的查询语句,【格式】SELECT * | DISTINCT FROM WHERE 【功能】从一个表中查询满足条件的数据。 【说明】由一系列用AND 或 OR 连接的条件表达式组成,条件表达式的格式可以是以下几种:,(1)。 (2)。 (3)ALL() (4) ANY | SOME () (5) NOT BETWEEN AND (6)NOT EXISTS () (7) NOT IN (8) NOT IN () (9) NOT LIKE ,SQL支持的关系运算符如下: 、!、 【例9-11】显示XS表中销售日期为2003年09月21日的记录。,sele * from xs where 日期=2003-09-21,【例9-9】显示KC表中单价在1500到2000之间的所有记录。 【例9-10】显示KC表中品名中包含有“洗”的记录。,select * from kc where 单价 between 1500 and 2000,select * from kc where 品名 like “洗%“,9.4.3 SQL的复杂查询,1连接查询 【说明】在一个数据库中的多个表之间一般都存在着某些联系,在一个查询语句中同时涉及到两个或两个以上的表时,这种查询称之为连接查询(也称为多表查询)。在多表之间查询必须处理表与表之间的连接关系。,【格式】 SELECT * | DISTINCT FROM , WHERE 【例9-11】按条码编号字段查询KC表中的条码编号、品名,XS表中的数量、日期记录。,select kc.条码编号,kc.品名,xs.数量,xs.日期 from kc,xs where kc.条码编号=xs.条码编号,2连接问题 在SQL语句中,在FROM子句中提供了一种称之为连接的子句,连接分为内连接和外连接,外连接又可分为左外连接、右外连接和全外连接。 命令格式如下: SELECT * | DISTINCT FROM INNER | LEFT | RIGHT |FULL JOIN ! ON ,(1)内连接 内连接是指包括符合条件的每个表的记录,也称之为全记录操作。而上面两个例子就是内连接。 【例9-12】将kc表与xs表按条码编号内部关联进行查询 。,select * from kc inner join xs on kc.条码编号=xs.条码编号,(2)外连接 外连接是指把两个表分为左右两个表。右外连接是指连接满足条件右侧表的全部记录。左外连接是指连接满足条件左侧表的全部记录。全外连接是指连接满足条件表的全部记录。 【例9-13】将 kc表与xs表按条码编号左关联并按条件xs.条码编号=“a0012”进行查询。,select * from kc left join xs on kc.条码编号=xs.条码编号 where xs.条码编号=“a0012“,3嵌套查询 在SQL语句中,一个SELECTFROMWHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询或子查询。 【例9-14】查询xs表中条码编号为kc表中品名为彩电所对应的条码编号 。,select * from xs where 条码编号 in (sele 条码编号 from kc where 品名=“彩电”),4分组与计算查询 【格式】SELECT * | DISTINCT FROM WHERE GROUP BY HAVING ORDER BY ASC | DESC 【功能】包括有排序、函数运算和谓词演算,【例9-15】按单价对KC表进行排序查询 。 【例9-16】查找KC表中单价最高的两条商品信息.,select * from kc order by 单价,select top 2 * from kc order by 单价 descending,【例9-17】在KC表中按库房分组查询每个库房的库存总量 。 【例9-18】在XS表中根据条码编号分组来选择查询总数量大于4的商品记录 。,select sum(库存量) as 每个库房库存总量; from kc group by 库房,select 条码编号,sum(数量) as 销售总量 from xs group by 条码编号 having sum(数量)4,【例9-19】统计KC表中有多少条库存量大于20商品记录。,select count(*) AS 库存量大于20的商品 from kc where 库存量=20,默认情况下,查询输出到一个浏览窗口,用户在“SELECT”语句中可使用INTO|TO FILE|TO SCREEN| TO PRINTER子句选择查询去向: INTO ARRA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年中国航空工业集团有限公司中航技招聘考试真题
- 甘肃电器科学研究院聘用制工作人员招聘真题
- 参加教师培训心得(5篇)
- 高三第二学期英语教师总结5篇
- 营销的培训心得5篇
- 生活垃圾资源化处理项目可行性研究报告
- 幼儿园家园共育工作计划(3篇)
- 高三的精彩演讲稿800字怎么写(素材稿件8篇)
- 财务部员工工作总结范文(10篇)
- 安全培训会议通知
- 湖南美术出版社六年级上册《书法练习指导》表格教案
- 投标项目进度计划
- 中医脑病科缺血性中风(脑梗死恢复期)中医诊疗方案临床疗效分析总结
- 部编版语文二年级上册《语文园地三我喜欢的玩具》(教案)
- 软件开发项目验收方案
- 岗位整合整治与人员优化配置实施细则
- 康复治疗技术的职业规划课件
- 蜜雪冰城营销案例分析总结
- 交换机CPU使用率过高的原因分析及探讨
- 易制毒化学品安全管理岗位责任分工制度
- 住宿服务免责声明
评论
0/150
提交评论