oracleSQL语法大全

上传人:枫** 文档编号:591642012 上传时间:2024-09-18 格式:PPT 页数:67 大小:246.51KB
返回 下载 相关 举报
oracleSQL语法大全_第1页
第1页 / 共67页
oracleSQL语法大全_第2页
第2页 / 共67页
oracleSQL语法大全_第3页
第3页 / 共67页
oracleSQL语法大全_第4页
第4页 / 共67页
oracleSQL语法大全_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《oracleSQL语法大全》由会员分享,可在线阅读,更多相关《oracleSQL语法大全(67页珍藏版)》请在金锄头文库上搜索。

1、关系数据库标准语言SQL / 11SQL语言初步语言初步数据查询语句数据查询语句数据库更新语句数据库更新语句数据定义语句数据定义语句数据控制语句数据控制语句什麽是SQL?lSQL:Structured query languagel功能:功能:查询、操纵、定义、控制查询、操纵、定义、控制l特点:特点:1、一体化;、一体化; 2、两种使用方式,统一的语法结构;、两种使用方式,统一的语法结构; 方式一、联机交互使用方式;方式一、联机交互使用方式; 方式二、嵌入式。方式二、嵌入式。 3、高度非过程化;、高度非过程化; 4、语言简洁,易学易用。、语言简洁,易学易用。 SQL支持关系数据库三级模式基本表

2、:基本表:独立存在的表。每个基表对应一个存独立存在的表。每个基表对应一个存储文件,一个表可带若干索引。储文件,一个表可带若干索引。存储文件存储文件+索引索引=内模式内模式视图:视图:是一个虚表。数据库中仅存视图定义,是一个虚表。数据库中仅存视图定义,不存对应的数据不存对应的数据 。SQL的三级模式外外模模式式模模式式内内模模式式Storefile1Storefile2Storefile3Storefile4Basetable1Basetable2Basetable3Basetable4View1View2SQL用户用户SQL命令的种类lDDL,数据定义语言数据定义语言lDML,数据操纵语言数据

3、操纵语言lDQL,数据查询语言数据查询语言lDCL,数据控制语言数据控制语言l数据管理命令数据管理命令l事务性控制命令事务性控制命令DDL,数据定义语言l用户创建或重新构建数据库的语言用户创建或重新构建数据库的语言 CREATE INDEXALTER INDEXDROP INDEXCREATE TABLEALTER TABLEDROP TABLEDML,数据操纵语言l用于在关系数据库对象中操纵数据用于在关系数据库对象中操纵数据INSERTUPDATEDELETEDQL,数据查询语言数据查询语言l对数据库中的信息寻找和定位对数据库中的信息寻找和定位SELECTDCL,数据控制语言l用于创建与用户

4、访问相关的对象,也控制用于创建与用户访问相关的对象,也控制着用户的权限分配着用户的权限分配ALTER PASSWORD改变口令改变口令GRANT为用户授予特权为用户授予特权REVOKE从用户处收回特权从用户处收回特权数据管理命令l审计和分析对数据库的操作,并可分析系统的审计和分析对数据库的操作,并可分析系统的执行过程执行过程START AUDITSTOP AUDIT事务性控制命令l用户管理数据库的事务命令用户管理数据库的事务命令COMMIT用于保护数据库的事务用于保护数据库的事务ROLLBACK用于撤消数据库的事务用于撤消数据库的事务SAVEPOINT创建一组事务中的撤消点创建一组事务中的撤消

5、点SET TRANSACTION给事务命名给事务命名数据库中的表结构l数据库中的表数据库中的表l数据和基本数据类型数据和基本数据类型 数据库中的表表:字段、记录、列、主键表:字段、记录、列、主键customer_tblOrder_tblProducts_tblProd_idProd_desccost112candy1.35113plastic1.04Products_tbl记录列(字段)主键数据和基本数据类型l数据是存储在数据库中的信息集合。数据数据是存储在数据库中的信息集合。数据类型用于给特定的数据提供规则。类型用于给特定的数据提供规则。l基本数据类型包括:基本数据类型包括:字符串字符串数字

6、数字日期和时间值日期和时间值字符串l定长字符串:定长字符串:CHARACTER(n)l变长字符串:变长字符串:CHARACTER VARYING(n)数字值lBIT(n)lBIT VERYING(n)lDECIMAL(n,n)lINTEGERlSMALLINTlFLOAT(p)lREAL(s)lDOUBLE PRECISION(p)日期和时间值lDATE(YEAR,MONTH,DAY)lTIME(HOUR,MINUTE,SECOND)lINTERVALlTIMESTAMPNULL值:为空。值:为空。数据查询语句l语法:语法:lSELECT * | all | column1,column2 F

7、ROM table1 ,table2 WHERE condition GROUP BY column1 ORDER BY column2(asc,desc) 按列取值相等的按列取值相等的原则进行分组原则进行分组按列值进行排序按列值进行排序l例例1:SELECT * FROM products_tbl WHERE cost 5l例例2:SELECT prod_desc,cost FROM products_tbl WHERE prod_id = 119l例例3:多表查询:多表查询 SELECT employee_tbl.emp_name, employee_pay_tbl.position FR

8、OM employee_tbl, employee_pay_tblWHERE employee_tbl.emp_id = employee_pay_tbl.emp_idSQL中操作符的使用定义:操作符是保留的字或字符,主要用于比定义:操作符是保留的字或字符,主要用于比 较和算术运算。较和算术运算。分类:比较操作符,逻辑操作符和算术运算符。分类:比较操作符,逻辑操作符和算术运算符。1、比较操作符、比较操作符包括:包括:=,, , , =。 注意比较双方的数据类型。注意比较双方的数据类型。2、算术运算符、算术运算符包括:包括:+,-,*,/等。等。与数学运算规则一致。与数学运算规则一致。2、逻辑操

9、作符lIS NULL(是否为空)是否为空)lBETWEEN(在某两个值之间)在某两个值之间)lIN(一系列值中)一系列值中)lLIKE(相似值的比较)相似值的比较)lEXITS(是否存在符合条件的数据)是否存在符合条件的数据)lUNIQUE(是否唯一)是否唯一)lALL/ANY(一组数据的所有一组数据的所有/其中的任何一个)其中的任何一个)lAND/OR(逻辑与逻辑与/或)或)IS NULL / IS NOT NULLlWHERE salary IS NULL 工资为空值工资为空值。lWHERE salary = NULL 工资中含有工资中含有NULL字符。字符。l例:例:lSELECT em

10、p_id, emp_nameFROM employee_tblWHERE emp_phone IS NULLBETWEENlWHERE salary BETWEEN 200 and 300工资在工资在200到到300之间,包括之间,包括200和和300。INlWHERE salary IN (200,300,400)工资必须是工资必须是200,300,400之中的值。之中的值。LIKEl使用匹配符将一个值同其相似的值比较。使用匹配符将一个值同其相似的值比较。l匹配符包括:匹配符包括:- 代表一个字符。代表一个字符。% 代表多个字符。代表多个字符。l如:如:WHERE salary LIKE -

11、00查找查找00作为后两位数的值。作为后两位数的值。WHERE salary LIKE 200%查找查找200作为前三位数的值。作为前三位数的值。EXISTSl查询在指定表中是否存在一行符合某种条件的查询在指定表中是否存在一行符合某种条件的数据。数据。lWHERE EXISTS (SELECT employee_idFROM employee_tblWHERE employee_id = 3333)UNIQUEl在特定的表中搜索每一行是否唯一。在特定的表中搜索每一行是否唯一。lWHERE UNIQUE(SELECT salary FROM employee_tbl WHERE employee

12、_id = 3333)l测试满足条件的工资是否有重复数据。测试满足条件的工资是否有重复数据。ALL/ANYl与某个数据集中所有数据与某个数据集中所有数据 / 任何一个进行比较。任何一个进行比较。lWHERE salary all(SELECT salary FROM employee_tbl WHERE city = INDIAN)AND/ORlAND连接的条件必须都满足。连接的条件必须都满足。lOR连接的条件至少满足一个。连接的条件至少满足一个。l如:如:SELECT * FROM products_tbl WHERE cost 10 and cost 15视图的更新l对视图的更新最终要转换

13、成对基本表的更新。对视图的更新最终要转换成对基本表的更新。l视图更新条件:视图更新条件:1、视图必须未涉及连接;、视图必须未涉及连接;2、视图必须不包含、视图必须不包含GROUP BY子句;子句;3、视图不能包含任何组合函数;、视图不能包含任何组合函数;4、不能使用、不能使用DISTINCT子句;子句;5、WHERE子句不能包含表的嵌套引用。子句不能包含表的嵌套引用。l例:例:UPDATE employee summarySET pay_rate = 18WHERE emp_id = 52431875转换成:转换成:UPDATE employee _pay_tblSET pay_rate =

14、18WHERE emp_id = 52431875删除视图l语法:语法:DROP VIEW view_namel例:例:DROP VIEW employee summaryl删除了视图,由此视图导出的其他视图也将自删除了视图,由此视图导出的其他视图也将自动被删除动被删除l若导出此视图的基本表被删除了,则此视图也若导出此视图的基本表被删除了,则此视图也将自动删除将自动删除视图的优点l视图对于数据库的重构造提供了一定程度的逻辑独立性。l简化了用户观点。l视图使不同的用户能以不同的方式看待同一数据。l视图对机密数据提供了自动的安全保护功能。三、索引的建立与删除l语法:语法:CREATE UNIQUE

15、 CLUSTER INDEX index_name ON table_name(clo_name 升升/降序降序,.) ASC:升序,升序,DESC:降序降序 UNIQUE 每一个索引只对应唯一的数据记录;每一个索引只对应唯一的数据记录; CLUSTER 聚簇聚簇索引,是指索引项的顺序与表中记录的物理顺序索引,是指索引项的顺序与表中记录的物理顺序一致的索引组织。一致的索引组织。例:为学生例:为学生-课程数据库中的课程数据库中的student, couse, sc 3个表建立索引。其中个表建立索引。其中student表按学号表按学号升序建立升序建立唯一索引;唯一索引; couse表按表按课程号升

16、序建立唯一索引;课程号升序建立唯一索引; sc 表按学号表按学号升序和课程号降序建唯一索引。升序和课程号降序建唯一索引。nCREATE UNIQUE INDEX stusno ON student(sno)nCREATE UNIQUE INDEX coucno ON couse(cno)nCREATE UNIQUE INDEX scno ON sc(sno ASC,cno DESC)删除索引删除索引语法:语法:DROP INDEX 例:删除例:删除student表的表的stusname索引索引DROP INDEX stusname四、数据控制语句l授权l收回权限数据控制包括:数据的安全性控制数

17、据控制包括:数据的安全性控制 完整性控制完整性控制 并发控制和恢复并发控制和恢复授权:授权: 将对指定操作对象的指定操作权限授予指定的用户。将对指定操作对象的指定操作权限授予指定的用户。GRANT , ON TO , WITH GRANT OPTION;权限权限: :SELECT,INSERT,UPDATE,DELETE;ALTER,INDEX;CREATESELECT,INSERT,UPDATE,DELETE;ALTER,INDEX;CREATE对象类型对象类型: :TABLE,DATABASETABLE,DATABASE对象对象: :属性列属性列, ,视图视图, ,基本表基本表, ,数据库

18、数据库例1:把查询student表权限授给用户U1.GRANT SELECT ON TABLE student TO U1;例2:把查询sc表权限授给所有用户.GRANT SELECT ON TABLE SC TO PUBLIC;例3:把对表SC的INSERT权限授给用户U2,并允许他转授.GRANT INSERT ON TABLE SC TO U2 WITH GRANT OPTION;GRANT INSERT ON TABLE SC TO U3REVOKE , ON FROM , ;例4:把所有用户查询SC表权限收回.REVOKE SELECT ON TABLE SC FROM PUBLIC;收回权限收回权限例5:把用户U1修改student表的sno字段的权限收回.REVOKE UPDATE(sno) ON TABLE student FROM U1;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号