资源描述:
《oracle常用sql知识-速成版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、oracle的常用sql知识1语法语句1.1DDLCREATETABLE(column1DATATYPE[NOTNULL][PRIMARYKEY],column2DATATYPE[NOTNULL],...[constraint<约束名>约束类型(要约束的字段)...])说明:DATATYPE--是Oracle的数据类型。NUTNULL--可不可以允许资料有空的(尚未有资料填入)。PRIMARYKEY--是本表的主键。constraint--是对表里的字段添加约束.(约束类型有Check,Unique,P
2、rimarykey,notnull,Foreignkey)。示例:createtablestu(s_idnumber(8)PRIMARYKEY,s_namevarchar2(20)notnull,s_sexvarchar2(8),clsidnumber(8),constraintu_1unique(s_name),constraintc_1check(s_sexin('MALE','FEMALE')));altertableTable_share_aaddconstraintTable_share_a001primarykey
3、(aa);altertableTable_share_baddconstraintTable_share_b001foreignkey(ba)referencesTable_share_a(aa);commentontabletable_nameis'test表';--表注释commentoncolumntable_name.ageis'年龄';--列注释createtabletestasselect*fromemp;--复制表altertabletable_namemodify列名列类型;--改列类型altertableta
4、ble_nameadddept_codevarchar2(200);--增加字段altertabletable_namedropcolumn列名;--删除字段altertabletable_namerenamecolumn旧列名to新列名;--修改字段名altertabletable_namerenameconstraint旧约束名to新约束名;--修改约束名altertabletable_namerenameto新表名;truncatetabletable_name;droptabletable_name[purge];1.
5、1DMLinsertintoemp(empno,ename)values(9500,'AA');insertintoa(empno,ename)selectempno,enamefromempwheresal>2000;select*fromempwheredeptno=10;updateempsetsal=1000,empno=8888whereename='SCOTT';deletefromempwhereempno='7788';1.2DML数据的恢复select*fromTable_share_aasoftimesta
6、mpto_timestamp('2016-08-1214:57:00','yyyy-mm-ddhh24:mi:ss');flashbacktableTable_share_atotimestampto_timestamp('2016-08-1214:57:00','yyyy-mm-ddhh24:mi:ss');如果报错:ORA-08189,就先执行:altertableTable_share_aenablerowmovement;---允许oracle修改分配给行的rowid1.3连接1.3.1外连接自然连接:selecta.
7、id,b.namefrombo_dw.test_Table_212aInnerjoinbo_dw.test_Table_213bona.id=b.nid;左连接leftouterjoin;右连接rightouterjoin应用情景:所有门店销售情况。如果用自然连接,没有销售记录的门店就看不到全外连接fullouterjoin应用情景:门店销售额,有些销售是pos机记录,有些是手工录入,都要统计。1.1.1符号连接作用描述等于大于大于等于小于小于等于不等于符号=>>=<<=<>,!=,<&get;作用描述两个值之间在其之中符号b
8、etween…and…inlikeisnullexistsorandnotLike‘%aaa%’--aaa之前、之后可以有或没无数字符;like‘_aaa’aaa之前只有一个字符。1.1.2自连接(自己和自己连接)deletefromat1WHERErowid!=(SELEC