版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle一.Oraclechar(长度)定长clob字符的大对象blobdate二.SELECTSELECT[DISTINCT]column1,column2,…}(DISTINCT触FROMtablenameWHERE{conditions}GROUPBY{conditions}ORDERBY{expressions}SELECTFROMWHEREWHERE子句用来选择符合条件的的记录.like'...'通配查询between...and...,表示结果在这之间,betweenand是一个闭inva1,val2,...)注意:转义的用法:likeS\_escapeand...or...all... isnull3ORDERBYORDERBYSQL在显示查询结果时将各返回行按ORDERBY子句指定的表ASC(默认,升序)DESC(降序orderby目标列名(别名)(不写排序顺序,会默例:selectfirst_namefroms_emporderbyfirst_name;selectfirst_namefroms_emporderbyfirst_namedesc;三.SQL常用令分类及例(DDLcreat((DMLinse((删除)和update(更新)(TCLcommi(rollback(回滚)命令。(DCL:grant(SQL>createtablemyTab(nonumber(4),namevarchar2(20));创myTabno和name;SQL>altertablemyTabmodify(namevarchar2(25修改myTab中的name25SQL>altertablemyTabadd(_novarchar2(20));给表SQL>altertablemyTabdropcolumn_no;删除表myTab_no列SQL>droptablemyTab;TruncateSQL>truncatetablemyTab;myTab中的所有行(截断SQL>insertintomyTabSQL>selectdistinctsalary “薪水”froms_empwheresalary>1500orderbysaldesc;salary1500的数据,以别名“薪水”显salary的降序进行排列输出;SQL>createtableasselectempno,ename,job,salfromempwhere立新表empa;SQL>createtableempaasselect*fromempwhereemp创建一个只包含结构的空表empa;SQL>deletefromempawhere删除表empasal1500SQL>updateempasetsal=1500whereempa中sal1500的行的sal值全部改为1500SQL>savepointmark1;保存点类似于标记,用来标记事务中SQL>rollbacktosavepointmark1;mark1四.Oracle注意:dual表(虚表)是专门用于函数测试和运算的.lower(字段名)upper(字段名initcap(字段名concat(1,substr(字段名,起始位置,取字符个数round(数据,保留到小数点后几位1表示保留到小数点后一位,-1表示保留到小数点前一例:selectround(15.36,1fromtrunc(数据,保留到小数点后几位例:selecttrunc(123.456,1from截取到小数点后一位,注意:round函数不同,不会四舍五缺省日期格式,日-月-dd-mon-altersessionsetnls_date_format='yyyymmddhh24:mi:ss';返回当前日期sysdate例:selectsysdatefromto_char(date,'日期格式日期格式要用有效格式,'yyyymmddhh24:mi:ss'(标准日期格式),'year'(年的全拼),'month'(月的全拼),'day'(星期的全拼),'ddspth'(日期的全拼)selectto_char(sysdate,'yyyymmddhh24:mi:ss')fromto_date('...','日期格式例:selectto_char(to_date('20061103','yyyymmdd'),'dd-month-yy')fromdual;groupbyselectgroupbyselecthavinggroupby子select[组函数或分组的字段名]...from表名groupby[字段名1],[字段名2], 例:selectavg(salaryfroms_empgroupby例:selectmax(),avg(a.salarymax()froms_empa,s_deptb,s_regioncwherea.dept_id=b.idandb.region_id=c.idgroupbyb.id;groupby子句,selectgroupby之后的字段或者是组函数。having子句可以过滤组函数结果或是分组的信息,并且写在groupby子句后。五.表连接(关联查询selecttable1.column1,table2.column2fromtable1t1,table2t2where例如:selecte.first_name||’||e.last_namename,dept_namefroms_empe,s_deptdwheree.dept_id=d.id;select1.1],[2.2],...from1122where表别名1.字段名 例:selectfirst_namesalaryfroms_empwheresalarybetween1000andselect[1.1],[2.2],...from1112where1.3=2.例:selecta.first_nameename,b.first_namecnamefroms_empa,s_empbwhere使用一张表中的所有记录去和另一张表中的记录按条件匹LEFTOUTERJOINSELECTe.last_name,e.dept_id,FROMs_empLEFTOUTERJOINs_deptdON(e.dept_id=d.id);SELECTe.last_name,e.dept_id,FROMs_empe,s_deptdWHERE编号dept_idRIGHTOUTERJOINSELECTe.last_name,FROMs_empeRIGHTOUTERJOINs_deptdON(e.dept_id=d.id);SELECTe.last_name,FROMs_empe,s_deptdWHEREe.dept_id(+)=d.id;FULLOUTERJOINSELECTe.dept_id,d.idFROMs_empeFULLOUTERJOINs_deptdON(e.dept_id=d.id);门编号department_id六.sql语句中的select在select语句中嵌套子查询时,会先执行子查询。一般的会将子例selectfirst_name||''||last_namenamefroms_empwheretitleinselecttitlefroms_empwheredept_id=42);八.primarykey(PK)保证实体的完整性,保证记录的唯 primarykey number, primarykey(c)); key create test(cnumber, primarykey(c,c1) foreignkey(外键约束FK)保证的完整性外键约束外键值只能够主键或唯一键的值被的表叫做parenttable(父表,方的表叫做childtable(子表,要想创建子表,修改父表的记录要保证没有被子表要删表时要先删子表,后删除父表(可以通过使用cascadeconstraints选项来删除父表) parent(c1number primarykey); numberprimarykey, c2numberreferencesparent(c1)); child(cnumberprimarykey, foreignkey(c2) notnull例:createtablestudent(idnumberprimarykey,namevarchar2(32)notnull,addressvarchar2(32));例:createtablestudent(idnumbernamevarchar2(32),addressvarchar2(32),primarykey(id),unique(address));check检查约束,可以按照指定条件,检查记录的插入。check中不能使用伪列,不能使用函数,不能其他字段。例:createtablesala1number九.数据字典是由的,包含数据库的信息user_XXXXX用户示图 动态性能示图dictdictionaryuser_constraints段存放的是约束的类型,r_constraints_name字段表示外键自user_cons_column,column_name字段存放的是约束字段的名字,position字段存放的是约束在联合键中的十.事务的结束动作就是commit,DDL,DCL语句执行会自动提交sqlpluscommit;,当系统异常退出是rollback;。一个没有结束的事务,叫做活动的事务(activetransaction),活动十一.Oracle伪列就像Oracle中的一个表列但实际上它并未在表中伪的伪列:rowidrownum。如:SQLselectrowid,enamefrom1值,不能大于某个值。rownum1rownum2,依此rownum伪列,用户可以限制查询返回的行数。如:SQL>select*fromempwhererownum<11;emp表中提取10条记录。十二.序列create (11,oracle中为了提高产生序列的效率一般产生20个序列放入当前会话的序列池sequence的参数:incrementbyn startwithn maxvalue minvalue cycle|no cachen 缓存(id存起来)查看sequence示图: user_sequences last_number like's_'; 删除序列sequencedropsequence序列名十三.视图视图就相当于一条select语句,定义了一个视图就是定义了一个sql语句视图不占空间,sql views视图名;createorreceviewstestasselect*fromtest1wherecreateorrece:如果view存在就覆盖,不存在才创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新型核反应堆研究-洞察分析
- 微生物降解塑料技术-洞察分析
- 虚拟现实行业投资分析-洞察分析
- 系统可靠性建模方法-洞察分析
- 《家用电器》课件
- 《有教无类》课件
- 渔业生态环境保护国际合作-洞察分析
- 信息传播与虚假识别技术分析-洞察分析
- 水电安装技术创新趋势-洞察分析
- 用户反馈在服务质量中的应用-洞察分析
- 【MOOC】国际商务-暨南大学 中国大学慕课MOOC答案
- 2024新版有限空间作业安全大培训
- 2024年中邮保险公司招聘笔试参考题库含答案解析
- 第三版无机化学教材课后习题答案
- 行政管理学的判断题
- 国家电网公司电力客户档案管理规定
- 传感器原理与应用课程设计报告磁电式轮速传感器系统设计
- 万能中国地图模板(可修改)
- 矿产资源储量评审工作流程
- 框架结构内力计算-竖向弯矩二次分配,水平D值法讲解
- 毕业设计(论文)全自动洗衣机传动系统设计
评论
0/150
提交评论