数据库及应用程序开发关系数据库标准语言SQLppt课件_第1页
数据库及应用程序开发关系数据库标准语言SQLppt课件_第2页
数据库及应用程序开发关系数据库标准语言SQLppt课件_第3页
数据库及应用程序开发关系数据库标准语言SQLppt课件_第4页
数据库及应用程序开发关系数据库标准语言SQLppt课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章 数据库及运用程序开发 关系数据库规范言语SQL西安交通大学计算机教学实验中心4.1.3关系数据库规范言语关系数据库规范言语SQLn构造化查询言语(SQL,Structured Query Language)是关系数据库的规范言语。它的主要功能包括:n数据定义:Data Defination Language(DDL)n数据查询: Data Query n数据支配:Data Manipulation Language(DML)n数据控制 : Data Control Language(DCL)2SQL特点n综合一致:集数据定义言语综合一致:集数据定义言语DDL、数据支配言语数据支配言语D

2、ML和数据控制言语和数据控制言语DCL于一体,综合管理功能于一身。于一体,综合管理功能于一身。n高度非过程化:用户只需提出高度非过程化:用户只需提出“做什么,做什么,而不需指明而不需指明“怎样做。怎样做。n面向集合的操作方式:用户查询、修正、面向集合的操作方式:用户查询、修正、的数据不是一条记录,而是记录的集合。的数据不是一条记录,而是记录的集合。SQL特点2n以同一语法构造提供两种运用方式:用户可以同一语法构造提供两种运用方式:用户可以从键盘运用以从键盘运用SQL命令,也可以将命令,也可以将SQL语句语句嵌入其他高级言语中。嵌入其他高级言语中。(PHP VC例如例如)n言语简约、易于运用:语

3、句很少,言语简约、易于运用:语句很少,n数据定义:数据定义:CTEATE DROP ALTERn数据支配:数据支配:INSERT UPDATE DELETEn数据查询:数据查询:SELECTn数据控制:数据控制:GRANT REVOTEn可以对根本表和视图进展查询可以对根本表和视图进展查询关系数据库的三级方式构造 nSQL Structured Query Language) n1 建立表nCREATE TABLE table_namen (column_name data-type consraint, )建立表nCREATE TABLE employeen(eid CHAR(6),nnam

4、e VARCHAR(8) NOT NULL,nage NUMERIC(3,0),ncountry VARCHAR(10) NULL)n/ NUMERIC(3,0) - NUMERIC建立表nCREATE TABLE employeen(eid CHAR(6) NOT NULL PRIMARY KEY,nname VARCHAR(8) NOT NULL,nage NUMERIC(3,0),ncountry VARCHAR(10) NULLn)ndrop table employee3 删除数据表 SQL SERVER中常用的数据类中常用的数据类型型 n学号、身份证号等,运用字符型数据2 插入记录

5、nINSERT INTO 表名 列名表 VALUES 值表nINSERT INTO employee n(eid, name, age, country) nVALUES (3018, zhang, 28, China) nINSERT INTO employee nVALUES (3056, wang, 35, USA)nINSERT INTO employee n(eid, name, country) nVALUES (4025, li, Russia)2、 插入记录3、修正记录nUPDATE 表名 nSET 字段名=表达式 nWHERE 条件 nUPDATE employeenSET

6、name=Li MingnWHERE eid=4025nUPDATE employeenSET name=Zhang Li,nage=36,ncountry=USAnWHERE eid=3056n可以修正多个字段的值。假设不带WHERE修正一切的记录。4、删除记录nDELETE 表名nWHERE 条件nDELETE employeenWHERE eid=30185、 查询记录nSELECT 表达式 nFROM 表名表nWHERE 条件nGROUP BY 字段名表nHAVING 条件nORDER BY 字段名表 1 举例nSELECT pub_id, pub_name, countrynFROM

7、 publishersnSELECT * nFROM publishers2 删除反复的行DISTICT nSELECT city, statenFROM authersnSELECT DISTICT city, statenFROM authers 3 计算表达式 n nS E L E C T t i t l e _ i d , t y p e , p r i c e , price_price*0.3nFROM titlen nSELECT au_lname+.+au_fname, city+.+statenFROM authors4挑选条件 na条件:n比较= = != nprice45

8、.3ncountry=China n逻辑运算nNOT AND OR nCountry=China AND age35 b举例nSELECT title_id, type, price, price - price*0.3 nFROM titlesnWHERE price - price*0.318nSELECT pub_id, pub_namenFROM publishersnWHERE country=USA AND state=CA(c) LIKE n列名 NOT LIKE 方式n%: 恣意字符串, _:恣意一个字符n nSELECT au_lname+.+au_fname, city+.

9、+statenFROM authorsnWHERE au_fname LIKE D% nSELECT au_lname+.+au_fname, city+.+statenFROM authorsnWHERE au_id LIKE 72_-%其他的条件查询(5) 结果排序nORDER BY 字段表n通常前往的结果是随机陈列的。 nSELECT stor_name, citynFROM storesnORDER BY store_namenSELECT stor_name, citynFROM storesnORDER BY store_name DESCn nSELECT stor_name,

10、citynFROM storesnORDER BY store_name ASCnSELECT stor_name, citynFROM storesnORDER BY stor_name, city n用多个列陈列。n nSELECT stor_name, citynFROM storesnORDER BY staten用不出现的列。 (6) 统计函数 nSELECT AVG(price)nFROM titlesn nSELECT MAX(price)nFROM titlesnWHERE type=businessnSELECT AVG(qty), SUM(qty), COUNT(DISTI

11、CT stor_id)nFROM salesn nSELECT COUNT*nFROM publishersnWHERE state=CA(7) 结果分组 nGROUP BY 分组列名表nSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE type in (business, mod_cook, trad_cook)nGROUP BY typeSELECT type, pub_id, AVG(price), SUM(price), COUNT(*)FROM titlesWHERE type in (business,

12、mod_cook, trad_cook)GROUP BY type, pub_idnGROUP BY 分组列名表nHAVING 条件n对GROUP的分组结果再进一步挑选。 nSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE price$10nGROUP BY type运用HAVINGnSELECT type, AVG(price), SUM(price), COUNT(*)nFROM titlesnWHERE price$10nGROUP BY typenHAVING AVG(price)$20运用HAVING(8)

13、 多表查询na笛卡尔乘积nSELECT title_id, au_fnamenFROM titles, authorsn nSELECT titles.title_id, titles.title, titleauthor.au_id nFROM titles, titleauthorb 别名nSELECT t.title_id, t.title, ta.au_id nFROM titles t, titleauthor tan nSELECT t.title_id, t.title, ta.au_id nFROM titles t, titleauthor tanWHERE t.title_

14、id=ta.title_idc挑选nSELECT t.title_id, a.au_id nFROM titles t, titleauthor ta, authors anWHERE t.title_id=ta.title_id and ta.au_id=a.au_id6 视图 n(1视图的定义nSQL建立视图的语句格式为:nCREATE VIEW (,)nAS nCREATE VIEW au_viewnASnSELECT au_id, au_fname, au_lnamenFROM authorsnCREATE VIEW author_titlenASnSELECT t.title_id,

15、 a.au_id nFROM titles t, titleauthor ta, authors anW H E R E t . t i t l e _ i d = t a . t i t l e _ i d a n d ta.au_id=a.au_id(2)视图查询nSELECT * nFROM au_viewnSELECT t.title_id, a.au_id nFROM titles t, titleauthor ta, authors anWHERE t.title_id=ta.title_id and ta.au_id=a.au_id 3删除视图nDROP VIEW 视图名n nD

16、ROP VIEW a_authors7、索引n索引可以极大地提高查询的速度 n索引可以建在一列或几列上 n有ASC(升序)和DESC(降序) n1索引类型n按照存储位置:聚集索引和非聚集索引。n按照关键字值能否独一:独一索引和非独一所以。2建立索引nCREATE UNIQUE CLUSTERED | NOCLUSTERED INDEX 索引名nON 表名 列名表nCREATE UNIQUE INDEX id_index nON authors (au_id)nCREATE INDEX id_index nON authors ( au_fname DESC,au_id)nCREATE CLUS

17、TERED INDEX id_index nON authors ( au_fname DESC,au_id)3删除索引nDROP INDEX 表名.索引名n nDROP INDEX authors.id_index8、数据控制n数据控制也称为数据维护n经过对数据库用户的运用权限加以限制而保证数据平安的重要措施。nSQL言语提供一定的数据控制功能,能在一定程度上保证数据库中数据的完全性和完好性,并提供了一定的并发控制及恢复才干。nSQL的数据控制语句包括授权(Grant)、收权(Revoke)和回绝访问(Deny)三种,其权限的设置对象可以是数据库用户或用户组。 1授权 nGRANT语句向用户授予操作权限 nGRANT , n ON nTO , | PUBLICnWITH GRANT O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论