关于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的基础增删改查操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 肯低头的人的下一句是什么啊?
- 下一篇: 在产后修复中心做一次骨盆修复多长时间