相关资源二章语句_第1页
相关资源二章语句_第2页
相关资源二章语句_第3页
相关资源二章语句_第4页
相关资源二章语句_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

SQL介绍

第二章SQL的分类结构化查询语言SQL——StructuredQueryLanguageSQL分类数据定义语言(DDL):Create,Drop,Alter,Truncate数据操作语言(DML):Update,Insert,Delete、Select数据控制语言(DCL):GrantRevoke事务控制语言mitrollbacksavepoint创建表语句CREATE格式CREATETABLE<表名> (<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]]… [,<表级完整性约束条件>]); CREATETABLEStudent (snonumber(5), Snamevarchar2(20), Sgendervarchar2(2));修改表语句ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>]; 修改表的语句例子向表添加新的列,修改列或者删除列添加表约束和删除表约束添加新列altertable表名add列名列类型删除列altertablestudropcolumnsex;修改列的类型altertablestumodifysexvarchar(15);添加主键altertablestuaddprimarykey(id);添加外键alter

tableTEST2

add

constraintforeign_key_Nameforeign

key(NAME)

referencesemp(EMPNO);删除表语句DROPTABLE<表名>DROPTABLEStudent数据操纵语言数据操纵命令INSERT插入数据UPDATE修改数据DELETE删除数据SELECT查询数据查询数据语法:select[All|Distinct]<目标列表达式>[,<目标列表达式>]….from<表名或视图名>[,<表名或视图名>]…[where<条件表达式>][groupby<列名1>[having<条件表达式>]][orderby<列名2>[ASC|DESC]]查询全部列Select*fromEMP;

查询选定列SELECTempno,ename,job,salfromemp;查询经过计算的列SELECTempno,ename,job,sal+100asraiseSalfromemp;查询连接后的字符串Selectempno,ename||'isa'||jobasinfo,salfromemp;选择表中的若干记录Select*fromempwheresal>2000;

常用的查询条件查询条件谓词比较=,>,<,>=,<=,!=,<>,NOT+上述比较运算符确定范围BETWEENAND,NOTBETWEENAND确定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重条件AND,OR确定范围SELECT*Fromempwheresalbetween2000and3000确定集合select*fromempwherejobin('MANAGER','ANALYST');字符匹配%代表任意长度(长度可以是0)的字符串_代表任意单个字符select*fromempwhereenamelike'_A%';使用聚集函数为了进一步方便用户,增强检索功能,SQL提供了许多聚集函数,主要有函数功能Count([Distinct|ALL]*)统计记录个数Count([Distinct|ALL]<列名>)统计一列中值的个数SUM([Distinct|ALL]<列名>)计算一列的总和(必须是数值型)AVG([Distinct|ALL]<列名>)计算一列的平均值(必须是数值型)MAX([Distinct|ALL]<列名>)求一列中的最大值MIN([Distinct|ALL]<列名>)求一列中的最小值聚集函数例子对查询结果分组GROUPBY子句将查询结果表按某一列或多列值分组,值相等的为一组。分组查询常用于统计,比如说统计出每个班级的人数,统计每个部门的平均工资等分组的例子2-1SELECTjob,avg(sal)fromempgroupbyjob;分组的例子2-2selectjob,count(*),avg(sal)fromempgroupbyjobhavingcount(*)>3;HAVING短语指定选择组的条件,只有满足条件(即记录个数>3)的组才会被选出来WHERE子句与HAVING短语的区别在于作用的对象不同,WHERE子句作用于基本表或视图,从中选择满足条件的记录。HAVAING作用于组,从中选择满足条件的组对查询结果排序用户可以用Orderby子句对查询结果按照一个或多个属性列的升序(ASC)或降序(DESC)排序,缺省为升序Select*fromempwheredeptno=10orderbysaldesc;插入记录INSERT语法 INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]….)插入子查询结果语法:INSERTINTO<表名>[<属性列1>[,<属性列2>…]子查询插入记录例子INSERTINTOStudentVALUES(‘95020’,‘曹操’,’男’,25)INSERTINTOStudent(Sno,name,sex)VALUES(‘95252’,’许三多’,’男’);INSERTINTOStudentSELECT*fromNew_Student修改数据语法UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];修改数据的例子UPDATEStudentSETSage=Sage+1;UPDATEStudentsetSage=22WHERESno=‘85001’;删除数据语法DELETEFROM<表名>[WHERE<条件>]删除数据的例子DELETEFROMStudentWhereSno=‘95019’;DELETEFROMStudent;Oracle默认用户只有用合法的用户帐号才能访问Oracle数据库Oracle有几个默认的数据库用户

Oracle默认用户SYSSYSTEMSCOTT数据库中所有数据字典表和视图都存储在SYS模式中。SYS用户主要用来维护系统信息和管理实例。SYSTEM是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等SCOTT用户是Oracle数据库的一个示范帐户,在数据库安装时创建创建新用户要连接到Oracle数据库,就需要创建一个用户帐户每个用户都有一个默认表空间和一个临时表空间CREATEUSER命令用于创建新用户CREATEUSER命令的语法是:CREATEUSERusernameIDENTIFIEDBYpassword[DEFAULTTABLESPACEtablespace][TEMPORARYTABLESPACEtablespace];CREATEUSERMARTINIDENTIFIEDBYmartinpwdDEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;创建一个名称为martin的用户,其密码为martinpwd更改和删除用户ALTERUSER命令可用于更改口令ALTERUSERMARTINIDENTIFIEDBYmartinpass;修改MARTIN用户的密码DROPUSER命令用于删除用户DROPUSERMARTINCASCADE;删除MARTIN用户模式授予权限3-1权限指的是执行特定命令或访问数据库对象的权利权限有两种类型,系统权限和对象权限系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。授予权限3-2GRANT命令可用于为用户分配权限或角色GRANTCONNECTTOMARTIN;CONNECT角色允许用户连接至数据库,并创建数据库对象GRANTRESOURCETOMARTIN;RESOURCE角色允许用户使用数据库中的存储空间GRANTCREATESEQUENCETOMARTIN;此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中对象授权Grant语句向用户授予操作权限Grant<权限>[,<权限>]…[ON<对象类型><对象名>]TO<用户>[,<用户>]…[WITHGrantOption];将对指定操作对象的指定操作权限授予指定用户。授予权限3-3授予用户MARTIN操作TEST表对象的权限

GRANTSELECTONTESTTOMARTIN;允许用户查询TEST表的记录GRANTUPDATEONTESTTOMARTIN;允许用户更新TEST表中的记录GRANTALL

ONTESTTOMARTIN;允许用户插入、删除、更新和查询TEST表中的记录事务所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。例如,银行的转帐业务,A帐户向B帐号中转500元。A帐号B帐号1.从A帐号中-500元2.向B帐号中+500元事务的特性ACID原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致状态。隔离性(Isolation):一个事务的执行不能被其它事务干扰,即一个事务内部操作及使用的数据对其它并发是隔离的,并发执行的各个事务之间不能互相干扰。持久性(Durability):指一个事务一旦提交,它对数据库中数据的改变就是永久性的。事务

温馨提示

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

评论

0/150

提交评论