




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作可仅不衛位,俚g佑対不縛不傅一JRA不传语录SQL-001y jJTTts a简介 SQL fStructured Query Language J 结构化查询 语言是IBM公司San Jose实佥宝为System R而设 计的香询语言,后彼国际标准化组织($O)拉 准作为关糸数据岸语扌的囲际标准。 SQL目甫運循的1992年标准,即SQL-92o各数据库厂家对SQL-92标准沟有护丸,护充部 分不能完全保证数据库之间的兼彖性。、位玄旻无令鸽SQL可以分为:1基础篇只介绍裔两种丿 DML:数据操作语言 fData Manipulation Languagej : select, insert
2、, update, delete,(其他:truncate) DDL:數据走义fData Definition Languagej : create, drop, alter,其他:rename) DCLJt据挫制语 ir: grant revoke. set role 寧务雄制:commit, rollback, savepoint (其他:lock table, set con$traint(s)、set transactionJ申计控制:audit、noaudit 糸统控制:alter system 会话挫制:alter session 其他语句:comment C海加注释丿、expla
3、inplan、 analyze. validate, callMA不”录DDL数据定义语言 CREATE (建立) ALTER(修型 DROP(| 除)死鼻4平走死知 -A不*语录離警像梆111|:表示可选项 |:表示选择项 CREATE:粗体表示关健孕或必输项 Table_name 斜体表示用户输入项 创建蓝色表示说明i厶崇1+12,启由宿歼盘的吳团阻的力*一A不传语录DDL数据定义语言CREATE-创 用户- CREATE USER user_name IDENTIFIED BY passwordDEFAULT TABLESPACE tablespace_nameTEMPORARY TAB
4、LESPACE tablespace_name;创建user_name用户,密码为password,使用 tablespace_name表空间,如果没有指走叙变间,默认农 空间孙y$tem裘空间。OradelOg有用户默认表变间HL置。建仪农创建用户对一定要指老表金间。还足乩疳姜,这幺金要的阳痺还是给埠专证乜一軌不催语录0 e e 0 gov a cwDDL数据定义语言CREATE“创电数据表40 lCREATE TABLE table_name(Column 1 datatype defaultnot null primary key,constraint key_name primary
5、key(columnjis using index tablespace tablespace_nameJ)tablespace tablespace_name;Datatype 是数据奏憂:varchar2(x), number(x,x), date, integer。Notnull非交限术|,如系不舷示可为交。s”丁 2, g叮碍PrimarykeyiM,可以紧跟应孝段后,或应最后使用constraint。 未指名裹交间,數槪表建竝在用户默认的表丈间中。DDL数据定义语言CREATE-创建奈引 CREATE UNIQUE INDEX index_name ONtable_name(coIu
6、mnist)tablespace tablespace_nameAtable_name表上按JKcolumnist建立崇引,楽計老夠 index_name,崇引锋存在tablespacename住间 中。 UNIQUE: it 二 弘W莒湖布弟W丹请TBt汨许辩抒DDL数据定义语言ALTER“修欧表ALTER TABLE table_name RENAME TO new_table_name;将 tablename 表名 修改为 new_table_name。ALTER TABLE table_name ADD(column 1 datatype default not nu9column2d
7、atatype default not null, .M.);4 table name表中增加columnl,column2.学段,追那到学技景后。ALTER TABLE table_name MODIFY (column 1 datatype default not null|nullable,co/t/n7n2 datatype default not null|nullable9 修改tab】e_name裹丰段属性,衣友成祷友不能小于点长度戎聘度。ALTER TABLE table_name DROP COLUMN column_name;病除table_name表 中的column_n
8、ame学段。ALTER TABLE table_name RENAME COLUMN old_name TO new_name 修改 table_name 裹 的 old_name 学段名为 new_name。ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARYKEY (co/UimiJisD;-电丈table name表的主虢,圭键老pk name,宝 键学段columr)i$t。 ALTER TABLE table_name DROP CONSTRAINT pk_name;刪除table_name表的pk_name殳健。一个表只能有一个
9、主健DDL数据定义语言DROP “刪除 DROP TABLE table_name;剧徐 table_ nameL。DROP INDEX index_name;刪際index_name崇引。刪除主键(務制阪制的一种丿,使用ALTER TABLE table_name DROP CONSTRAINT pk_name;DML小结从ALTER和CREATE及DROP语廉救童再一次证朗需求是易变的。如泉增加表学段,并要求学段的排列住可以使用:1 CREATE TABLE temp_table_name AS SELECT * FROM table_ name;2. DROP TABLE table_n
10、ame;3. CREATE TABLE table_name(column.);4. INSERT INTO table_name VALUES(columnJist) (SELECT columnist1 FROM temp_table_name);5. DROP TABLE 诚需要注盘的是,期除表后,表中的崇引也枚期除,所以,农规行上述 操作前要榇留好表的条引冲本。这里没有2|DROP DATABASE的语鮎 如果大家想 要套试剜除数据库的话,最好应专家的拒导下进行!人羯*死对“,苑卄算机令右丁对MA不0 e e ci 00wvc c*uDDL数据操作语言SELECT(查询)INSERT(
11、插入)UPDATE(j)DELETE* 除).L J人,- ftl. z rJ.(L-uL cofiff dTt?V cl 制O 064 il J 孑DDL数据操作语言SELECT查询SELECT ALL I DISTINCT ON ( expression ,.) * I expression AS outputname ,INTO TEMPORARY I TEMP TABLE newjable FROM from_item ,.WHERE conditionGROUP BY expression ,HAVING coftditicm , ”J UNION I INTERSECT I EXC
12、EPT ALL select ORDER BY expression ASC I DESC I USING operator ,.FOR UPDATE OF class_name ,.LIMIT count I ALL OFFSET I, start 后變圭询临钢均以oradw中的SCOTT/TIGER用户菽另倒DDL数据操作语言SCOTT/TIGER 表介绍DEPT却门走义 DEPCIO是殳健Columns of DEFT4 1 NameTypeNullableDefault | CommentsDEPTNO NUMBERI21部门编码丫DNAME VARCHAR2(14)LOC,匸部门若称
13、二VARCHAR2(13) YSiEMP示工&EMPNO主健.DEPTNO外健关朕DEPTCoLuans of EIFNameI Type| NullableDefault I CommentsEMPNO NUMBER(4) EN.AMEJOBMGRHIREDATESALCOMMDEPTNOVARCHAR2(W)VARCHAR2NUMBER(4)DATENUMBER(7Z2)MUMBER(7Z2)NUMBER(2)工名位管用水注门 职姓职主聘薪备部真他4汶吉就捱氐汶寺关余,不衣这里介何JR人不DDL数据燥作语言_:j 1 SELECT* 衰圭 查询表中所有学段和所疽记录,select后跟*表示
14、所有学段 SELECT * FROM DEPT; 一 圭询摘走学段,A select后跟查询的学段名刊表,学段间 用隔开 SELECT DEPTNO, DNAME FROM DEPT; 条件圭询FROM后面使用WHERE,虚WHERE中可以使 用=,=,_MINUSIAM 作 INTERSECT交績繰作DDL数据操作语言U SELECTORDER ORDER BY排序,琅數孕C代表学段住置)航学段名,ASC升序DESC阵序默认升序。 ELECT DEPTNO, DNAME -1FROM SCOTT.DEPT V HERE DEPTNO 10GROUP BY DEPTNO, DNAME鲁HAVI
15、NG COUNTS)刃* L P彗只 BY DEPTNO D1SC;-ORDER BY 对逅回的结系进行排序,所以党须放淮最后一旬。SELECT DEPTNO, DNAMEFROM SCOTT.DEPTWHERE DEPTNO 10GROUP BY DEPTNO, DNAMEHAVING COUNTS) 0ORDER BY 1 DESC;建系同第一个圭询,学段位置从1开始。一ftA不存语录DDL数据操作语言1r SELECT-FOR UPDATE J祯等待查询。当查询结崇中有痕祯走祀录对等待解碳,当记录 痕解碳后返凹结系為,并碳走逅回的祀录。如泉FOR UPDATE 后跟NOWAIT,遇列碳后
16、不孑待,逅回锵谖。 ORACLE使用记录“定,当李畅菠提夾蜕回液后锁定故释放。4.死磺问题三当两个丰肠以不耐的顺序阿对更祈多个表对就会发生死祯(对 牛丿,解决死碳的罐技是手工杀掉死礙的进程或者董新左动数 据库。因此,蛊後用孝畅更新多表教擁对一定要小心,使用面 .向对余的方法封MJU操作可以庭很大程度上解决死碳问题。SELECT子查询去询诗勺可以戦養,任何产生嵐值的地方却可以使用孑妥询。于子圭询工资的部门HAVING AVG(SAL) = (SELECT MIN(AVG(SAL) FROM SCOTT.EMP GROUP BY DEPTNO);子圭询丸圭询岀最低的部门平均工资,然后圭询部门最低平
17、均工资著DDL数据操作语言农圭询条件中使用子圭询对,由子去询返回多个结系对只能後用IN。 姿询顺序是丸林行秋俵赖的底层圭询,然后一屋农向上妥。子圭询只痕执行一次。妥询平均工资最低的部口楼况SELECT DEPTNO, AVG(SAL) =FROM SCOTT.EMPGROUP BY DEPTNO-DDL数据操作语厂- SELECT子香询AFROM中使用子圭询,子查询农这里柏对与VIEWSELECT D.DEPTNO, D.DNAME, S.AVG_SAL, S.SUM_SAL, S.NUMI ROM SCOTT.DEPT D,(SELECT DEPTNO, AVG(SAL) AS AVG_SA
18、L, SUM(SAL) AS SUM_SAL, COUNT(*) AS NUM气FROM SCOTT.EMP嚣 13ROUP BY DEPTNO) SW 二 帀fi離 D.DEPTNO = S.DEPlOi庭WHERE中後用子查询,钢子不好,应该直接鸳表关联,这更只是为 了说朗语出。一JRA不传馭SELECT * FROM SCOTT.EMP WHERE DEPTNO IN (SELECT DEPTNO FROM SCOTT.DEPT WHERE DEPTNODDL数据操作语言SELECT子查询 使用 EXISTS(NOT EXISTS)售據IN(NOT IN)IN(NOTIN)虚桃行数据库操
19、作对性能非嗥低下,应该使用EXISTS(NOT EXISTS)格據,特别是NOT IN孑金将轨行一个内部的排 考和合幷;EXISTS孑圭询使用圭表的学段限制圭询救据SELECT *FROM SCOTT.EMP EWHERE EXISTS (SELECT * FROM SCOTT.DEPT WHERE DEPT.DEPTNO = E.DEPTNO AND DEPTNO = 20);因为EXISTS可以看到外哀,所以,如糸表名童复,後用袅別名区分, 在孑圭询中一走筠请楚和外套的关联关糸,另外,子圭询頁SELECT* 是对的,不用筠孕段名。X-A,平知st-扳MA 不*DDL数据操作语言UPDATE
20、修咬用来更新数煽表中的散据UPDATE table_nameSET columr)_name = new_value,.WHERE condition;更新DEPT 将20号部口名穂修欧为地址修改莎北駅UPDATE DEPT7ZZZ SET DNAME =部;LOC = 北京._ WHERE DEPTNO = 20;孑音询也可A UPDATE中後用,将职工领导是KING的人贡薪资增加100无UPDATE SCOTT.EMPSET SAL = SAL +100_WHERE EMPNO IN (SELECT E.EMPNO FROM SCOTT.EMP E, SCOTT.EMP G WHERE E
21、.MGR = G.EMPNO AND G.ENAME = KING*);UPDATE SCOTT.EMPSET SAL = SAL + 100WHERE EXISTS (SELECT * FROM SCOTT.EMP E, SCOTT.EMP GWHERE E.MGR = G.EMPNOAND E.EMPNO = EMP.EMPNOZ工僵旻丸工値,舜以為才NilAND G.ENAME = KING);TR人柚体TITSDDL数据操作语言INSERT插入INSERT INTO SCOTT.BONUS(ENAME3 JOB, SAL)SELECT ENAME, JOB, SAL FROM SCOT
22、T.EMP WHERE MGR = 7698;鼻论上样是闫4LINSERT INTO table_name (column,.) VALUES (expression , J) SELECT a“6ry杏表孕段和插入值相岡对,可以布咚孕段列表INSERT INTO SCOTT.BONUS VALUESCTURNER: SALESMAN; 200, 40); 吉只插入秤分学段对,強须列举学段,未赋值学段使用默认值或交 INSERT INTO SCOTT.BONUS(ENAME, JOB, SAL) VALUESCCLARK1, MANAGER*, 100);也可以使用圭询给裹插入散据占刀刁 dJ
23、Ndd) i)DDL数据操作语言l DELETE| 卧竇跆_二 DELETE FROM table nameVBEBE condition; | 除 BONUS 中 ENAME 为CLARK的超录DELETE FROM SCOTT.BONUS WHERE ENAME = 9LARK病徐芟复杞录,ROWID是北录的畅理住置,一经确走永不友支DELETE FROM SCOTT.BONUS BWHERE ROWID 1); 7徐ENAME重复杞豪令巳先嘉舄克代弘剑心,会樽工件鼻鼻。古01 d cl o 0 cr ftl由/训Add占占J#Ji/d J / tf a v序列号; 创之_CREATE S
24、EQUENCE name INCREMENT BY n START WITH n MAXVALUE n | NOMAXVALUE MINVALUE n | NOMINVALUE CYCLE | NOCYCLE CACHE n | NOCACHE;说朗:INCREMENT BY n -次增个散丰-1START WITHn 杓 jfejt_1 NOMAxVALUE 缺才他 10E*27JitNOMINVALUE 缺不值 1_NOCYCLE不循环,帝用于*-关健字 CACHE n息内存里皱存n个序列,出馆叫退财会丢失 创建从1开始,不缓存的EMP_EMPN0序列aCREATE SEQUENCE EM
25、P_EMPNO START WITH 1 NOCACHE;修欧二ALTER SEQUENCE name INCREMENT BY n MAXVALUE n | NOMAXVALUE MINVALUE n | NOMINVALUECYCLE | NOCYCLE CACHE n | NOCACHE;起始值不能欧变,如泉要欧变序列的起始值,丸则除,再新建。 刪除幕DROFBEQ嘲CE加阿DROP SEQUENCE EMP EMPNO;序列号使用N EXTV AL下一个序列号值CURRVAL省首序列号值如系EMP_EMPNO是一个序列号,可以用下面SQL取序列值 去序列的去if值SELECT EMP_
26、EMPNO.CURRVAL FROM DUAL;“去序列的下一个值SELECT EMP_EMPNO.NEXTVAL FROM DUAL;使用序列桶入數itINSERT INTO EMP(EMPNO, ENAME,.) VALUES(EMP_EMPNO.NEXTVAL, JONE,.);- 不能用序列号的nextval和currval的地方视图圭询.distinct圭询、有group by,having,order by的圭询、 有子圭询的姿询、裹里的缺击值注释/*注释内家*/注年内彖-SELECT *冷:DELETE-jFROM EMPZZZZWHERE DEPTNO = 20;提示:刪除救据
27、前素好丸圭询一下 注释掉,增加DELETE。可以丸頁SELECTS然后把SELECT4豪鼻不岀瞬一ILVHHW常用函数w v dtil数学因数ABS取绝对值 POWER泵方 LN10取罩 SQRT平方根 EXPe的n次采方 LOG(m,n)m为底放n取罩 救学运算西數:ACOS ATAN ATAN2 COS COSH SIGN SIN SINH TANTANH_-_厂CEIL大于或警于取整散 FLOOR d、于或等于取整數 MOD取余裁ROUND(n,m)挨m飾住救取b舍五入值如系round(可朗):中年12以后 将憂明夭的a期.round(sysdate,Y)是年的第一夭 TRUNC(n,m)按m的住数取甫面的数值如系trunc(可期),确不的是去掉对 间常用函数 1P季符因数 一 、 CHR按數据库的学符修由数学逅回学符 CONCAT(c1,c2) 把两个学符c1,c2俎合成一个学符,和|初同 REPLACE(c,s,r)把学符c里出现s的学符林换成r,追回石孕符 SUBSTR(c,m,n) m丸于0冷符c从甫面m戏开始取n住学符,m等 于0和1 一样,m“j、与0冷符c从后面m处开始取n住学存 TRANSLATED,们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025人教版高一英语定语从句练习题50题带答案
- 解析卷人教版八年级物理上册第5章透镜及其应用专项练习试题(含详细解析)
- 2025年房地产行业商品房小区学校划片合规考核试卷及答案
- 2025年湖南郴州注册环保工程师考试(大气污染防治专业案例)全真模拟题库及答案
- 工程售后服务方案(汇编8篇)
- 综合解析苏科版八年级物理上册《物体的运动》专项训练练习题(含答案解析)
- 解析卷人教版八年级物理上册第4章光现象-光的色散定向测评试题(详解版)
- 强化训练苏科版八年级物理上册《物态变化》单元测评练习题(含答案详解)
- 考点解析人教版八年级上册物理光现象《光的直线传播》专项攻克练习题(含答案详解)
- 综合解析人教版八年级物理《运动和力》综合练习试卷(含答案详解)
- (完整word版)中医病证诊断疗效标准
- 基站基础知识
- PET分类词汇带音标
- 电子科大薄膜物理(赵晓辉)第四章 化学气相沉积
- 2023年全国《经济金融基础知识》题库与答案
- 工贸行业重点可燃性粉尘目录版
- 国内地铁轨道公司组织架构
- 乙炔安全技术说明书MSDS
- GA/T 453.2-2021居民身份证冲切技术规范第2部分:冲切设备技术要求
- 医药代表地区经理竞聘ppt模板
- 国电南自110kv主变保护pst671u型调试手册
评论
0/150
提交评论