SQL语法与数据结构概论

上传人:宝路 文档编号:48173357 上传时间:2018-07-11 格式:PPT 页数:65 大小:404.79KB
返回 下载 相关 举报
SQL语法与数据结构概论_第1页
第1页 / 共65页
SQL语法与数据结构概论_第2页
第2页 / 共65页
SQL语法与数据结构概论_第3页
第3页 / 共65页
SQL语法与数据结构概论_第4页
第4页 / 共65页
SQL语法与数据结构概论_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《SQL语法与数据结构概论》由会员分享,可在线阅读,更多相关《SQL语法与数据结构概论(65页珍藏版)》请在金锄头文库上搜索。

1、數據結構與SQL語言 1數據結構概論1SQL语言概論数据查询语句数据库更新语句数据定义语句数据控制语句数据库中的表结构l数据库中的表l数据和基本数据类型 数据库中的表表:字段、记录、列、主键customer_tblOrder_tblProducts_tblProd_idProd_desccost112candy1.35113plastic1.04Products_tbl记录列(字段 )主 键数据和基本数据类型l数据是存储在数据库中的信息集合。数据 类型用于给特定的数据提供规则。l基本数据类型包括: 字符串(Char ;VChar) 数字(Number) 日期和时间值(Date)字符串l定长字符

2、串: 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值:为空。什麽是SQL?lSQL:Structured Query Languagel功能:查询、操纵、定义、控制l特点:1、一体化;2、两种使用方式,统一的语法结构;方式一、联机

3、交互使用方式;方式二、嵌入式。3、高度非过程化;4、语言简洁,易学易用。SQL支持关系数据库三级模式基本表(Table):独立存在的表。每个基表对应一个存储文件,一个表可带若干索引。视图(View):是一个虚表。数据库中仅存视图定义,不存对应的数据 。SQL命令的种类lDDL,数据定义语言 lDML,数据操纵语言lDQL,数据查询语言lDCL,数据控制语言l数据管理命令l事务性控制命令DDL 数据定义语言用户创建或重新构建数据库的语言CREATE INDEXALTER INDEXDROP INDEXCREATE TABLEALTER TABLEDROP TABLEDML 数据操纵语言 用于在关

4、系数据库对象中操纵数据 INSERT UPDATE DELETEDQL 数据查询语言对数据库中的信息寻找和定位SELECTDCL 数据控制语言用于创建与用户访问相关的对象,也控制着用户的权限分配 ALTER PASSWORD改变口令 GRANT为用户授予特权 REVOKE从用户处收回特权事务性控制命令l用户管理数据库的事务命令 COMMIT用于保护数据库的事务 ROLLBACK用于撤消数据库的事务 SAVEPOINT创建一组事务中的撤消点 SET TRANSACTION给事务命名数据查询语句l语法:lSELECT * | all | column1,column2 FROM table1 ,t

5、able2 WHERE condition GROUP BY column1 ORDER BY column2(asc,desc) 按列取值相等的 原则进行分组按列值进行排序l例1:SELECT * FROM products_tbl WHERE cost , , =。 注意比较双方的数据类型。 2、算术运算符 包括:+,-,*,/等。 与数学运算规则一致。2、逻辑操作符lIS NULL(是否为空)lBETWEEN(在某两个值之间)lIN(一系列值中)lLIKE(相似值的比较)lEXITS(是否存在符合条件的数据)lUNIQUE(是否唯一)lALL/ANY(一组数据的所有/其中的任何一个)lA

6、ND/OR(逻辑与/或)IS NULL / IS NOT NULLlWHERE salary IS NULL 工资为空值。lWHERE salary = NULL 工资中含有NULL字符。l例:lSELECT emp_id, emp_name FROM employee_tbl WHERE emp_phone IS NULLBETWEENlWHERE salary BETWEEN 200 and 300 工资在200到300之间,包括200和300。INlWHERE salary IN (200,300,400) 工资必须是200,300,400之中的值。LIKEl使用匹配符将一个值同其相似的

7、值比较。l匹配符包括:- 代表一个字符。 % 代表多个字符。l如: WHERE salary LIKE -00 查找00作为后两位数的值。 WHERE salary LIKE 200% 查找200作为前三位数的值。EXISTSl查询在指定表中是否存在一行符合某种条件的 数据。lWHERE EXISTS (SELECT employee_id FROM employee_tbl WHERE employee_id = 3333)UNIQUEl在特定的表中搜索每一行是否唯一。lWHERE UNIQUE (SELECT salaryFROM employee_tblWHERE employee_id

8、 = 3333)l测试满足条件的工资是否有重复数据。ALL/ANYl与某个数据集中所有数据 / 任何一个进行比较。lWHERE salary all (SELECT salaryFROM employee_tblWHERE city = INDIAN)AND/ORlAND连接的条件必须都满足。lOR连接的条件至少满足一个。l如:SELECT *FROM products_tblWHERE cost 10 and cost 15视图的更新l对视图的更新最终要转换成对基本表的更新。l视图更新条件:1、视图必须未涉及连接;2、视图必须不包含GROUP BY子句;3、视图不能包含任何组合函数;4、不能

9、使用DISTINCT子句;5、WHERE子句不能包含表的嵌套引用。l例: UPDATE employee summary SET pay_rate = 18 WHERE emp_id = 52431875转换成:UPDATE employee _pay_tbl SET pay_rate = 18 WHERE emp_id = 52431875删除视图l语法: DROP VIEW view_namel例:DROP VIEW employee summaryl删除了视图,由此视图导出的其他视图也将自动被删除l若导出此视图的基本表被删除了,则此视图也 将自动删除视图的优点l视图对于数据库的重构造提供

10、了一定程度的 逻辑独立性。l简化了用户观点。l视图使不同的用户能以不同的方式看待同一 数据。l视图对机密数据提供了自动的安全保护功能 。三、索引的建立与删除l语法:CREATE UNIQUE CLUSTER INDEX index_nameON table_name(clo_name 升/降序,.)ASC:升序,DESC:降序UNIQUE 每一个索引只对应唯一的数据记录;CLUSTER 聚簇索引,是指索引项的顺序与表中记录的物理顺序一致的索引组织。例:为学生-课程数据库中的student, couse, sc 3个表建立索引。其中student表按学号升序建立 唯一索引; couse表按课程号

11、升序建立唯一索引 ; 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收回权限数据控制包括:数据的安全性控制完整性控制并发控制和恢复授权:将对指定操作对象的指定操作权限授予指定的用户。GRANT

12、,ON TO , WITH GRANT OPTION;权限:SELECT,INSERT,UPDATE,DELETE;ALTER,INDEX;CREATE对象类型:TABLE,DATABASE对象:属性列,视图,基本表,数据库例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号