第二章Oracle數(shù)據(jù)庫

1、創(chuàng)建數(shù)據(jù)庫

? ? ?create database?databasename

2、刪除數(shù)據(jù)庫

??drop database?dbname

3、備份數(shù)據(jù)庫

完全備份

??exp?demo/demo@orcl?buffer=1024?file=d:\back.dmp?full=y

? ? ?demo:用戶名、密碼

? ? ?buffer:?緩存大小

? ? ?file:?具體的備份文件地址

? ? ?full:?是否導(dǎo)出全部文件

? ? ?ignore:?忽略錯誤,如果表已經(jīng)存在,則也是覆蓋

將數(shù)據(jù)庫中system用戶與sys用戶的表導(dǎo)出

exp?demo/demo@orcl?file=d:\backup\1.dmp?owner=(system,sys)

導(dǎo)出指定的表

exp?demo/demo@orcl?file=d:\backup2.dmp?tables=(teachers,students)

按過濾條件,導(dǎo)出

? ? ?exp?demo/demo@orcl?file=d:\back.dmp?tables=(table1)?query=\" where filed1 like 'fg%'\"

? ? ?導(dǎo)出時可以進行壓縮;命令后面 加上?compress=y ;如果需要日志,后面:?log=d:\log.txt

備份遠程服務(wù)器的數(shù)據(jù)庫

??exp?用戶名/密碼@遠程的IP:端口/實例?file=存放的位置:\文件名稱.dmp?full=y

4、數(shù)據(jù)庫還原

? ? ?打開cmd直接執(zhí)行如下命令,不用再登陸sqlplus。

完整還原

??imp?demo/demo@orcl?file=d:\back.dmp?full=y?ignore=y?log=D:\implog.txt

? ? ?指定log很重要,便于分析錯誤進行補救。

導(dǎo)入指定表

? ? ?imp?demo/demo@orcl?file=d:\backup2.dmp?tables=(teachers,students)

還原到遠程服務(wù)器

??imp?用戶名/密碼@遠程的IP:端口/實例?file=存放的位置:\文件名稱.dmp?full=y

二、Oracle表操作

1、創(chuàng)建表

? ? ?create table?tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

? ? ?根據(jù)已有的表創(chuàng)建新表:

? ? ?A:select * into table_new from table_old (使用舊表創(chuàng)建新表)

? ? ?B:create table tab_new as select col1,col2… from tab_old definition only<僅適用于Oracle>

2、刪除表

? ? ?drop table?tabname

3、重命名表

? ? ?說明:alter table?表名?rename to?新表名

? ? ? ??eg:alter table tablename?rename to newtablename

4、增加字段

? ? ?說明:alter table?表名?add?(字段名 字段類型 默認值 是否為空);

? ? ? ??例:alter table tablename add (ID int);

? ? ? ?eg:alter table tablename?add (ID varchar2(30) default '空' not null);

5、修改字段

? ? ?說明:alter table?表名?modify?(字段名 字段類型 默認值 是否為空);

? ? ? ??eg:alter table tablename?modify (ID number(4));

6、重名字段

? ? ?說明:alter table?表名?rename column?列名?to?新列名 (其中:column是關(guān)鍵字)

?eg:alter table tablename?rename column ID to newID;

7、刪除字段

? ? ?說明:alter table?表名?drop column?字段名;

? ? ???eg:alter table tablename?drop column ID;

8、添加主鍵

? ? ?alter table?tabname?add primary key(col)

9、刪除主鍵

? ? ?alter table?tabname?drop primary key(col)

10、創(chuàng)建索引

? ? ?create?[unique]?index?idxname on tabname(col….)

11、刪除索引

? ? ?drop index?idxname

? ??注:索引是不可更改的,想更改必須刪除重新建。

12、創(chuàng)建視圖

?create view?viewname?as select statement

13、刪除視圖

??drop view?viewname

三、Oracle操作數(shù)據(jù)

1、數(shù)據(jù)查詢

??select?<列名>?from?<表名> [where?<查詢條件表達試>] [order by?<排序的列名>[asc或desc]]

2、插入數(shù)據(jù)

??insert into?表名?values(所有列的值);

? ? ?insert into test values(1,'zhangsan',20);

??insert into?表名(列)?values(對應(yīng)的值);

? ? ?insert into test(id,name) values(2,'lisi');

3、更新數(shù)據(jù)

? ? ?update?表?set?列=新的值 [where?條件] -->更新滿足條件的記錄

? ? ?update test set name='zhangsan2' where name='zhangsan'

? ? ?update?表?set?列=新的值 -->更新所有的數(shù)據(jù)

? ? ?update test set age =20;

4、刪除數(shù)據(jù)

delete from?表名?where?條件 -->刪除滿足條件的記錄

? ? ?delete from test where id = 1;

? ? ?delete from test -->刪除所有

? ? ?commit; -->提交數(shù)據(jù)

? ? ?rollback; -->回滾數(shù)據(jù)

? ? ?delete方式可以恢復(fù)刪除的數(shù)據(jù),但是提交了,就沒辦法了 delete刪除的時候,會記錄日志 -->刪除會很慢很慢

truncate table?表名

? ? ?刪除所有數(shù)據(jù),不會影響表結(jié)構(gòu),不會記錄日志,數(shù)據(jù)不能恢復(fù) -->刪除很快

drop table?表名

? ? ?刪除所有數(shù)據(jù),包括表結(jié)構(gòu)一并刪除,不會記錄日志,數(shù)據(jù)不能恢復(fù)-->刪除很快

5、數(shù)據(jù)復(fù)制

表數(shù)據(jù)復(fù)制

?insert into?table1 (select?*?from?table2);

復(fù)制表結(jié)構(gòu)

??create table?table1?select * from?table2?where?1>1;

復(fù)制表結(jié)構(gòu)和數(shù)據(jù)

? ? ?create table?table1?select * from?table2;

復(fù)制指定字段

? ? ?create table?table1?as select?id, name?from?table2?where?1>1;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容