大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> ORACLE -> ORACLE常用的SQL语法和数据对象

ORACLE常用的SQL语法和数据对象

时间: 2021-08-13 作者:daque

一.数据遏制语句 (dml) 局部 1.insert  (往数据内外插入记载的语句) insert into 表名(字段名1, 字段名2, ……) values ( 值1, 值2, ……);  insert into 表名(字段名1, 字段名2, ……)  select (字段名1, 字段名2, ……) from 其余的表名; 字符串典型的字段值必需用单引号括起来, 比方: ’good day’ 即使字段值里包括单引号’ 须要举行字符串变换, 咱们把它替代成两个单引号’’.  字符串典型的字段值胜过设置的长度会堕落, 最佳在插入进步行长度校验. 日子字段的字段值不妨用暂时数据库的体例功夫sysdate, 透彻到秒 大概用字符串变换成日子型因变量to_date(‘2001-08-01’,’yyyy-mm-dd’) to_date()再有很多种日子方法, 不妨参看oracle doc.  年-月-日 钟点:秒钟:秒 的方法yyyy-mm-dd hh24:mi:ss insert时最大可操纵的字符串长度小于即是4000个单字节, 即使要插入更长的字符串, 请商量字段用clob典型, 本领滥用oracle里自带的dbms_lob步调包. insert时即使要用到从1发端机动延长的序列号, 该当先创造一个序列号 create sequence 序列号的称呼 (最佳是表名+序列号标志) increment by 1  start  with  1  maxvalue  99999  cycle  nocache; 个中最大的值按字段的长度来定, 即使设置的机动延长的序列号 number(6) , 最大值为999999 insert 语句插入这个字段值为: 序列号的称呼.nextval 2.delete  (简略数据内外记载的语句) delete from表名 where 前提; 提防:简略记载并不许开释oracle里被占用的数据块表空间. 它只把那些被简略的数据块标成unused. 即使真实要简略一个大内外的十足记载, 不妨用 truncate 吩咐, 它不妨开释占用的数据块表空间 truncate table 表名;  此操纵不行回退. 3.update  (窜改数据内外记载的语句) update表名 set 字段名1=值1, 字段名2=值2, …… where 前提; 即使窜改的值n没有赋值或设置时, 将把从来的记载实质清为null, 最佳在窜改进步行非空校验;  值n胜过设置的长度会堕落, 最佳在插入进步行长度校验.. 提防事变:  a. 之上sql语句对表都加上了行级锁, 确认实行后, 必需加上实物处置中断的吩咐 commit 本领正式奏效,  要不变换不确定写入数据库里.  即使想撤回那些操纵, 不妨用吩咐 rollback 恢复. b. 在运转insert, delete 和 update 语句前最佳预算一下大概操纵的记载范畴,  该当把它控制在较小 (一万条记载) 范畴内,. 要不oracle处置这个实物用到很大的回退段.  步调相应慢以至遗失相应. 即使记载数上十万之上那些操纵, 不妨把那些sql语句分段分次实行,  期间加上commit 确认实物处置. 二.数据设置 (ddl) 局部 1.create (创造表, 索引, 视图, 同义词, 进程, 因变量, 数据库链接等) oracle常用的字段典型有 char 恒定长度的字符串 varchar2 可变长度的字符串 number(m,n) 数字型m是位数总参谋长度, n是少量的长度 date 日子典型 创造表时要把较小的不为空的字段放在前方, 大概为空的字段放在反面 创造表时不妨用华文的字段名, 但最佳仍旧用英文的字段名 创造表时不妨给字段加上默许值, 比方 default sysdate 如许历次插入和窜改时, 不必步调操纵这个字段都能获得举措的功夫 创造表时不妨给字段加上牵制前提 比方 不承诺反复 unique, 要害字 primary key 2.alter (变换表, 索引, 视图等) 变换表的称呼 alter table 表名1  to 表名2; 在表的反面减少一个字段 alter table表名 add 字段名 字段名刻画; 窜改内外字段的设置刻画 alter table表名 modify字段名 字段名刻画; 给内外的字段加上牵制前提 alter table 表名 add constraint 牵制名 primary key (字段名); alter table 表名 add constraint 牵制名 unique (字段名); 把表放在或掏出数据库的外存区 alter table 表名 cache; alter table 表名 nocache; 3.drop (简略表, 索引, 视图, 同义词, 进程, 因变量, 数据库链接等) 简略表和它一切的牵制前提 drop table 表名 cascade constraints; 4.truncate (清空内外的一切记载, 保持表的构造) truncate 表名; 三.查问语句 (select) 局部 select字段名1, 字段名2, …… from 表名1, [表名2, ……] where 前提;  字段名不妨带入因变量   比方:  count(*), min(字段名),  max(字段名),  avg(字段名), distinct(字段名),    to_char(date字段名,’yyyy-mm-dd hh24:mi:ss’) nvl(expr1, expr2)因变量 证明:  if expr1=null return expr2 else        return expr1 decode(aa﹐v1﹐r1﹐v2﹐r2....)因变量 证明:  if aa=v1 then return r1 if aa=v2 then return r2 ..… else return null lpad(char1,n,char2)因变量 证明: 字符char1按拟订的位数n表露,不及的位数用char2字符串替代左边的空隙 字段名之间不妨举行算术演算 比方:  (字段名1*字段名1)/3 查问语句不妨嵌套 比方: select …… from  (select …… from表名1, [表名2, ……] where 前提) where 前提2; 两个查问语句的截止不妨做汇合操纵 比方: 并集union(去掉反复记载), 并集union all(不去掉反复记载), 差集minus,  交加intersect 分批查问 select字段名1, 字段名2, …… from 表名1, [表名2, ……] group by字段名1  [having 前提] ; 两个之上表之间的贯穿查问 select字段名1, 字段名2, …… from 表名1, [表名2, ……] where  表名1.字段名 = 表名2. 字段名 [ and ……] ; select字段名1, 字段名2, …… from 表名1, [表名2, ……] where  表名1.字段名 = 表名2. 字段名(+) [ and ……] ; 有(+)号的字段场所机动补空值 查问截止集的排序操纵, 默许的排序是叶序asc, 降序是desc select字段名1, 字段名2, …… from 表名1, [表名2, ……]  order by字段名1, 字段名2 desc; 字符串朦胧比拟的本领 instr(字段名, ‘字符串’)>0  字段名 like  ‘字符串%’  [‘%字符串%’] 每个表都有一个隐含的字段rowid, 它标志着记载的独一性.  四.oracle里常用的数据东西 (schema) 1.索引 (index) create index 索引名on 表名 ( 字段1, [字段2, ……] ); alter index 索引名 rebuild; 一个表的索引最佳不要胜过三个 (特出的大表之外), 最佳用单字段索引, 贯串sql语句的领会实行情景,  也不妨创造多字段的拉拢索引和鉴于因变量的索引 oracle8.1.7字符串不妨索引的最大长度为1578 单字节 oracle8.0.6字符串不妨索引的最大长度为758 单字节 oracle doc上说字符串最大不妨建索引的长度约是:数据块的巨细(db_block_size)*40% 2.视图 (view) create view 视图名as select …. from …..; alter view视图名 compile; 视图仅是一个sql查问语句, 它不妨把表之间搀杂的联系简略化. 3.同义词 (synonmy) create synonym同义词名for 表名; create synonym同义词名for 表名@数据库链接名; 4.数据库链接 (database link) create database link数据库链接名connect to 用户名 identified by 暗号 using ‘数据库贯穿字符串’; 数据库贯穿字符串不妨用net8 easy config大概径直窜改tnsnames.ora里设置. 数据库参数global_name=true时诉求数据库链接称呼跟远端数据库称呼一律 数据库全部称呼不妨用以次吩咐查出 select * from global_name; 查问远端数据库里的表 select …… from 表名@数据库链接名; 五.权力处置 (dcl) 语句 1.grant 赋于权力 常用的体例权力汇合有以次三个: connect(基础的贯穿), resource(步调开拓), dba(数据库处置) 常用的数据东西权力有以次五个: all on 数据东西名, select on 数据东西名, update on 数据东西名, delete on 数据东西名,  insert on 数据东西名,   alter  on 数据东西名 grant connect, resource to 用户名; grant select on 表名 to 用户名; grant select, insert, delete on表名 to 用户名1, 用户名2; 2.revoke 接收权力 revoke connect, resource from 用户名; revoke select on 表名 from 用户名; revoke select, insert, delete on表名 from 用户名1, 用户名2;

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.