使用的數據庫是Oracle 10.2.0.1.0
?
目前主流的數據庫包括: ?
微軟: SQLServer,Access?
瑞典MySQL: AB公司MySQL?
IBM公司: DB2?
IBM公司: Informix?
美國Sybase公司: Sybase?
美國甲骨文公司: Oracle?
數據庫之間的比較 ?
?
Oracle的認證 ?
?
Oracle中有默認的2個用戶一個是Sys另外一個是System ?
Sys:是超級用戶,具有最高權限,具有SYSDBA角色,有創建數據庫的權限?
System:是操作管理員,具有SYSOPER角色,沒有創建數據庫的權限?
Oracle的卸載 ?
軟件環境:?
1、Windows XP + Oracle 10g?
2、Oracle安裝路徑為:d:\Oracle?
實現方法:?
1、開始->設置->控制面板->管理工具->服務停止所有Oracle服務.?
2、開始->程序->Oracle – OraDb10g_home1>Oracle Installation Products-> Universal Installer 卸裝所有Oracle產品,但Universal Installer本身不能被刪除;?
3、運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口.?
4、運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口.?
5、運行refedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有Oracle入口.?
6、開始->設置->控制面板->系統->高級->環境變量,刪除環境變量CLASSPATH和PATH中有關Oracle的設定.?
7、從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標.?
8、刪除c:\Program Files\Oracle目錄.?
9、重新啟動計算機,重起后才能完全刪除Oracle所在目錄.?
10、刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入口目錄及所有子目錄,并從Windows XP目錄(一般為d:\WINDOWS)下刪除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等.?
11、WIN.INI文件中若有[ORACLE]的標記段,刪除該段.?
12、如有必要,刪除所有Oracle相關的ODBC的DSN.?
13、到事件查看器中,刪除Oracle相關的日志 說明:如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝,安裝時,選擇一個新的目錄,則安裝完畢并重新啟動后,原來的目錄及文件就可以刪除掉了?
Oracle系統命令 ?
1、連接數據庫 ?
2、顯示當前用戶 ?
3、修改密碼 ?
4、退出 ?
5、運行sql腳本 ?
6、編輯sql腳本 ?
7、將指定查詢內容輸出到指定文件中去 ?
把emp表中的數據放在d:\test.sql這個文件中?
Oracle用戶管理 ?
切換用戶 ?
創建用戶 ?
修改別人密碼 ?
刪除用戶(自己刪除自己不可以)?
如果要刪除用戶,并且同時要刪除用戶所創建在表,那么就需要在刪除時帶一個參數cascade;?
?
?
角色管理權限 ?
受理連接數據庫權限(connect)給一個用戶 ?
授權username查詢emp權限 ?
授權username對emp所有權限 ?
權限傳遞?
如果是對象權限,權限在傳遞就在后面加with grant option?
如果是系統權限,權限在傳遞就在后面加with admin option 這使username可以把select權限傳遞給其他人 ?
收回username在我的emp表上在select權限 ?
profile規則?
賬戶鎖定?
指定賬戶登陸最多可以輸入密碼在次數,也可以指定用戶鎖定在時間(天)一般用dba在身份去執行該命令?
把鎖lock_account給scott.如果用戶連續輸入3次錯誤密碼,那么你就被鎖定2天,2天后才能登陸 ?
把profile文件刪除 ?
表管理 ?
char 與varchar2的區別 ?
char定長 varchar2不定長.char查詢效率快浪費硬盤空間,varchar2查詢慢節省空間?
存圖片使用blob數據類型 ?
向表里面添加一個字段 ?
修改字段長度 ?
修改字段的類型或名字(在這列沒有數據的情況下才能修改) ?
刪除一個字段 ?
修改表名 ?
Oracle中默認的時間格式是dd-mm-yyyy,而且插入時間mm必須帶一個"月",也就是說insert into test(testTime)?
values('01-5月-09');?
可以使用nls_date_format來改變Oracle默認的日期格式 ?
設置查詢時間點 ?
nvl()函數?
nvl(num,0) ?
%表示任意字符?
_表示一個字符 ?
查詢比deptno=30所有人工資都高的人 ?
查詢比deptno=30任何人工資都高的人 ?
目前主流的數據庫包括: ?
微軟: SQLServer,Access?
瑞典MySQL: AB公司MySQL?
IBM公司: DB2?
IBM公司: Informix?
美國Sybase公司: Sybase?
美國甲骨文公司: Oracle?
數據庫之間的比較 ?

Oracle的認證 ?

Oracle中有默認的2個用戶一個是Sys另外一個是System ?
Sys:是超級用戶,具有最高權限,具有SYSDBA角色,有創建數據庫的權限?
System:是操作管理員,具有SYSOPER角色,沒有創建數據庫的權限?
Oracle的卸載 ?
軟件環境:?
1、Windows XP + Oracle 10g?
2、Oracle安裝路徑為:d:\Oracle?
實現方法:?
1、開始->設置->控制面板->管理工具->服務停止所有Oracle服務.?
2、開始->程序->Oracle – OraDb10g_home1>Oracle Installation Products-> Universal Installer 卸裝所有Oracle產品,但Universal Installer本身不能被刪除;?
3、運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口.?
4、運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口.?
5、運行refedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有Oracle入口.?
6、開始->設置->控制面板->系統->高級->環境變量,刪除環境變量CLASSPATH和PATH中有關Oracle的設定.?
7、從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標.?
8、刪除c:\Program Files\Oracle目錄.?
9、重新啟動計算機,重起后才能完全刪除Oracle所在目錄.?
10、刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入口目錄及所有子目錄,并從Windows XP目錄(一般為d:\WINDOWS)下刪除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等.?
11、WIN.INI文件中若有[ORACLE]的標記段,刪除該段.?
12、如有必要,刪除所有Oracle相關的ODBC的DSN.?
13、到事件查看器中,刪除Oracle相關的日志 說明:如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝,安裝時,選擇一個新的目錄,則安裝完畢并重新啟動后,原來的目錄及文件就可以刪除掉了?
Oracle系統命令 ?
1、連接數據庫 ?
- SQL>?conn?用戶名/密碼@網絡服務名SID?[ as ?sysdba/sysoper]???當用特權用戶身份連接的時,必須帶上 as ?sysdba或者 as ?sysoper??
2、顯示當前用戶 ?
- SQL>?show? user ;??
3、修改密碼 ?
- 管理員自己修改密碼:?passw????管理員修改其他用戶密碼:?passw??用戶名????
4、退出 ?
- SQL>?exit;??
5、運行sql腳本 ?
- SQL>?start?c:\test.sql;或者SQL>?@?c:\test.sql;??
6、編輯sql腳本 ?
- SQL>?edit?c:\test.sql;??
7、將指定查詢內容輸出到指定文件中去 ?
把emp表中的數據放在d:\test.sql這個文件中?
- SQL>?spool?d:\test.sql;??
- SQL>? select ?*? from ?emp;??
- SQL>?sppool? off ;??
Oracle用戶管理 ?
切換用戶 ?
- SQL>?conn?system/manager??
創建用戶 ?
- SQL>? create ? user ?用戶名??identified? by ?密碼??
修改別人密碼 ?
- SQL>? password ?用戶名??
- SQL>? alter ? user ?用戶名?identified? by ?新密碼??
刪除用戶(自己刪除自己不可以)?
如果要刪除用戶,并且同時要刪除用戶所創建在表,那么就需要在刪除時帶一個參數cascade;?
- SQL>? drop ? user ?用戶名?[ cascade ]??


角色管理權限 ?
受理連接數據庫權限(connect)給一個用戶 ?
- SQL>? grant ? connect ? to ?用戶名??
授權username查詢emp權限 ?
- SQL>? grant ? select ? on ?emp? to ?username??
- SQL>? grant ? insert ? on ?emp? to ?username??
- SQL>? grant ? update ? on ?emp? to ?username??
- SQL>? grant ? delete ? on ?emp? to ?username??
授權username對emp所有權限 ?
- SQL>? grant ? all ? on ?emp? to ?username??
權限傳遞?
如果是對象權限,權限在傳遞就在后面加with grant option?
- SQL>? grant ? select ? on ?emp? to ?username? with ? grant ? option ??
如果是系統權限,權限在傳遞就在后面加with admin option 這使username可以把select權限傳遞給其他人 ?
- SQL>? grant ? connect ? on ?emp? to ?username? with ?admin? option ??
收回username在我的emp表上在select權限 ?
- SQL>? revoke ? select ? on ?emp? from ?username??
profile規則?
賬戶鎖定?
指定賬戶登陸最多可以輸入密碼在次數,也可以指定用戶鎖定在時間(天)一般用dba在身份去執行該命令?
- SQL>? create ?profile?lock_account?limit?failed_login_attempts?3?password_lock_time?2;??
- lock_account:名稱隨便取名??
- 3:最多輸入3次密碼??
- 2:鎖定2天??
- 其他的都是關鍵字??
把鎖lock_account給scott.如果用戶連續輸入3次錯誤密碼,那么你就被鎖定2天,2天后才能登陸 ?
- SQL>? alter ? user ?scott?profile?lock_account;??
把profile文件刪除 ?
- SQL>? drop ?profile?profilename? cascade ??
表管理 ?
char 與varchar2的區別 ?
char定長 varchar2不定長.char查詢效率快浪費硬盤空間,varchar2查詢慢節省空間?
存圖片使用blob數據類型 ?
向表里面添加一個字段 ?
- SQL>? alter ? table ?tablename? add (columnName?varchar2(10));??
修改字段長度 ?
- SQL>? alter ? table ?tablename? modify (columnName?varchar2(30));??
修改字段的類型或名字(在這列沒有數據的情況下才能修改) ?
- SQL>? alter ? table ?tablename? modify (columnName?varchar2(20));??
刪除一個字段 ?
- SQL>? alter ? table ?tablename? drop ? column ?columnName;??
修改表名 ?
- SQL>?rename?tablename? to ?newtablename;??
Oracle中默認的時間格式是dd-mm-yyyy,而且插入時間mm必須帶一個"月",也就是說insert into test(testTime)?
values('01-5月-09');?
可以使用nls_date_format來改變Oracle默認的日期格式 ?
- SQL>? alter ?session? set ?nls_date_format= 'yyyy-mm-dd' ? set ?timing? on ;??
設置查詢時間點 ?
- set ?timing? on ;??
nvl()函數?
nvl(num,0) ?
- 如果num為空,那么把0賦值給num??
%表示任意字符?
_表示一個字符 ?
查詢比deptno=30所有人工資都高的人 ?
- SQL>? select ?*? from ?emp? where ?sal>? all ( select ?sal? from ?emp? where ?deptno=30)??
查詢比deptno=30任何人工資都高的人 ?
- SQL>? select ?*? from ?emp? where ?sal>? any ( color: #7f0055; fo
發表評論
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

評論