日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

关于oracle的基础增删改查操作总结

發布時間:2023/11/27 生活经验 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于oracle的基础增删改查操作总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

①?進入數據庫:

?sqlplus“/as sysdba”?或者sqlplus / as sysdba

?注:完整格式: ?sqlplus“用戶名/密碼@數據庫名as sysdba”

?注:請注意,sqlplus非常撇腳,沒能回刪,沒有方向鍵,等等,最好安裝一個rlwrap。

?詳情鏈接:http://blog.csdn.net/wjx515628/article/details/35238097

②?查看表空間(表空間就是庫的意思)

?方法1:只查詢所有表空間的名稱


select tablespace_name from dba_tablespaces;
?方法2:查詢某張表所在的表空間的名稱


select * from user_tables where table_name=‘表名';
?方法3:查詢當前用戶默認的表空間


Select default_tablespace from user_users;
?方法4:查看當前用戶可以查看的所有表空間名以及其所擁有的屬性


Select * from sys.dba_tablespaces;
?方法5:查看所有用戶的默認表空間和臨時表空間


Select username,default_tablespace,temporary_tablespace from dba_users where username like ‘%SYS%’;
③?創建表空間(create tablespaces)(注:最好指定一下用戶,只能由管理員才能創建)

?1)數據文件一個


Create [temporary] tablespace 表空間自定義名稱 datafile ‘linux系統自定義路徑和以.ora結尾的文件名’ size <數值M> extent management local uniform size <數值M>;
?(注:放在oradata目錄下,最好將不同用戶的數據文件放在oradata下建立的對應用戶名的文件夾中,放在其中,便于管理)

?2)數據文件多個

Create [temporary] tablespace 自定義名 datafile ‘路徑1’ size 數值M ,

‘路徑2’ size 數值M ,

... ...

[Extent management local]

Uniform size 數值M;
注:加了[temporary]后,新建的表空間是臨時表空間,不加則是永久表空間。

④?刪除表空間

?方法1:


Drop tablespace 表空間名;
?注:需要自己手動刪除對應路勁下的數據文件

?方法2:


drop talespace 表空間名 including contents and datafiles;
⑤?修改表空間指定的數據文件的增大設定

?方法1:

Alter database datafile ‘文件所在路徑’ autoextend on next 數值m;
?注:表示在原有大小的基礎上增加數值m(看數值是1還是多少,數值是正整數型的)

?方法2:

Alter database datafile ‘文件所在路徑’ autoextend on next 數值1m maxsize 數值2m;
?注:表示在原有大小的基礎上增加數值1m,增加量直到數值2m為止!

⑥?修改默認表空間

?查看目前設置的默認表空間和臨時表空間(對未指定表空間和臨時表空間的用戶起作用):


Select property_name,property_value from database_properties where property_name like ‘%TABLESPACE%’;
?類型1:在創建用戶的時候沒有指定默認表空間和臨時表空間的時候起作用

?修改默認永久表空間:


Alter database default tablespace 永久表空間名稱;
?修改默認臨時表空間:


Alter database default temporary tablespace 臨時表空間名稱;
?注:在創建表空間的時候永久和臨時就有區別,所以指定臨時表空間名的時候不要指到永久表空間名;指定永久表空間名的時候也是一樣的。

?類型2:將用戶本來指定的默認表空間更換。

?更換用戶的永久表空間:

Alter user 用戶名 default tablespace 表空間名稱;
?更換用戶的臨時表空間:

Alter user 用戶名 temporary tablespace 臨時表空間名稱;
⑦?表空間狀態查看(是否在線)

?方法1:查看所有表空間的在線狀態:

Select tablespace_name,status from dba_tablespaces;


⑧?表空間脫機(其實脫機就是用戶不可訪問,聯機就是可訪問)

Alter tablespace 表空間 offline 選項四選一;
解釋:當表空間為脫機狀態的時候,任何用戶都訪問不了的狀態;(值得注意的是,system表空間無法脫機,因為數據庫運行中,始終都會用到system表空間中的數據)。表空間脫機有如下四個選項:normal(正常),temporary(臨時),immediately(立即),for recover(進行恢復)

?

⑨?表空間聯機

Alter tablespace 表空間名 online;
⑩?增加表空間數據文件(為表空間增加數據庫文件)


Alter tablespace 表空間自定義名稱 add datafile ‘自定義路徑’ size 數值M;
??查看表

?類型1:查看當前用戶權限內的所有表空間的所有表,同時顯示每張表的屬性。


Select * from user_tables;
?類型2:查看指定表空間下的所有表,只顯示表空間名和表名

SELECT TABLESPACE_NAME,TABLE_NAME FROM DBA_TABLES WHERE TABLESPACE_NAME='表空間名稱';
??創建表(可以指定到某個表空間中)

?方法1:


Create table 自定義表名(自定義字段名1 約束內容,自定義字段名2 約束內容,.. ..自定義字段名n 約束內容) [tablespace 已有表空間名字];
??[tablespace已有表空間名字] ?這個表示為表指定表空間,有需要的時候才寫。

?方法2:

Create table 新表名 as <select語句>
?注:方法二中,可以讓select語句中的查詢條件不成立,這樣就會建立一張數據為空的表格;方法二中得到的表格將不存在任何約束,需要自己添加。

?注:最后中括號中的內容為可加可不加,看是需要將表建立在默認表空間還是指定表空間中。

?數據類型:char(數值) ?varchar2(數值)number(總位數,小數位數)date timestamp clob ???blob

?注:表和索引一旦創建被指定表空間后,其所屬表空間將無法修改;若想更改,就需要當網上搜(不想寫~~~)

??刪除表


drop table 表名;
?注:表中列為其他表外鍵且有數據應先解除約束,或刪除相關表

??修改表名


Rename 舊表名 to 新表名
??查看表字段


Desc 表名;
??增加表字段

Alter table 表名 add 字段名 數據類型;
?注:comment on column表名.列名is '列注釋,自定義';

?(注釋中的命令是對字段進行注釋)

??刪除表字段


Alter table 表名 drop column 列名;
??修改表字段類型


Alter table 表名 modify(字段名 新的數據類型);
?(注,一般來說字段類型不可隨便更改:大多數情況下,若實在需要改變,需要字段下沒有數據;有的話,需要新建一個需求的類型的字段列,然后將舊字段列的值移動到新字段中,從而實現類型更改。少部分情況可以直接修改類型不報錯!一旦報錯則按照大多數情況下的解決方法。)

?詳情可見:

??點擊打開鏈接

??修改表字段名稱


Alter table 表名 rename column 舊字段名 to 新字段名
??查看表數據(這個是重點,查詢以后細講)


Select <*|列名|表達式> from 表名 [where 條件] [order by 列名]
?注:<>中必須三選一;列名集或后者混用集(逗號為分隔符)

?注:order by默認排序方式是升序。

21?增加表數據

?方法1:

Insert into 表名(列名1,列名2......) values(值1,值2......);

Commit;
?注:可以將列名集合去掉,默認為所有列加值;字符串或者字符需要加引號。

?方法2:

Insert into 表名 <select語句> [union <select 語句>];

Commit;
22?刪除表數據

?方法1:

Delete from 表名 where 條件;

Commit
?方法2:

Truncate table表名;

Commit
?注:兩者區別,delete可以將表清空,同時可以通過日志恢復;truncate清空之后不能通過日志恢復,不過它的清空速度很快!一般來說truancate慎用,最好不用!

23?修改表數據

Update 表名 set 列名1=值1,列名2=值2 .. .. where 條件;

Commit;
24?創建用戶?(只是創建用戶,不具備任何數據庫權限)


Create user 用戶名 identified by 口令 [account lock|unlock]
?(注:如果是lock狀態的話,用戶無法正常登錄;口令就是密碼,不需要引號;后面的[]內的東西可以寫可不寫,默認unlock)?(注:創建用戶后最好為用戶指定一下默認的表空間,那么該用戶所有的數據庫對象都會放入表空間)

25?刪除用戶


Drop user 用戶名 cascade
?注:刪除用戶的同時需要關注,其默認的表空間是否需要被刪除。

26?修改用戶鎖定狀態


Alter user 用戶名 account lock|unlock
27?為用戶指定默認表空間


Create user 用戶名 identity by 密碼口令 default tablespace 表空間名
28?用戶授權(系統權限只能有dba用戶授權,對象權限由擁有該對象的用戶授權)


Grant <角色|權限> to 用戶
?常用權限(角色抑或權限):connect,resource,DBA

29?修改授權用戶密碼


Alter user 用戶名 identified by 新密碼
30?查看授權用戶的密碼

select username,password from dba_users where username='SYSTEM';
?注意:在g11版本中,字段password將不顯示值。

?所以可以查看還在使用默認密碼的用戶名:

SELECT * FROM DBA_USERS_WITH_DEFPWD ;
?關于修改和查看密碼的詳細解析鏈接(只限于9-11g):

?點擊打開鏈接

31?回收權限


Revoke 角色|權限 from 用戶
32?查看所有授權用戶

Select * from dba_users;
?注:該方式可以查到每個用戶的相關屬性,可以查詢username字段的值

33創建約束命令

Alter table 已有表名 add constraint 自定義約束名 約束內容

轉載于:https://www.cnblogs.com/banxian-yi/p/10636416.html

總結

以上是生活随笔為你收集整理的关于oracle的基础增删改查操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。