數據庫-1
數據庫的選擇:
根據項目規模(負載)安全性和成本來決定使用什麽樣的數據庫。
現在的小型數據庫(微軟的access)在20年前都是大型的;
(瑞典AB公司)mysql 。sql server(微軟的)是中型的;
(美國oracle公司的)oracle是大型的數據庫;
oracle對於權限的管理很好。用戶的管理
啟動oracle就是啟動一個oracle實例; 默認的有syustem用戶和sys用戶
ORACLE介紹
兩個主要的用戶,三個重要的角色
oracle的管理包括備份數據,備份計劃,簡庫,視圖,
sys擁有三個人角色的權利
sys:擁有dba、sysdba、sysoper(系統操作員 )角色或權限,是Oracle權限最高的用戶,只能以
System:擁有dba、sysdba權限或角色,可以以普通用戶的身份登錄。
?【sysdba、sysoper、DBA區別】
Sysdba用戶: 可以改變字符集、創建刪除數據庫、登錄之後用戶是SYS(shutdown、startup)
Sysoper:用戶不可改變字符集、不能創、刪數據庫、登陸之後用戶是PUBLIC (shutdown、startup)
DBA用戶:只有在啟動數據庫後才能執行各種管理工作。
“SYSOPER”權限,即數據庫操作員權限,sysoper主要用來啟動、關閉數據庫,sysoper 登陸後用戶是 public。權限包括:打開數據庫
ORACLE的常用命令 查看用戶下所有的表 SQL>select * from user_tables; 查看幫助 Help show 或者? show 運行命令文件
oracle中用戶的權限: 創建User時沒有給賦上create session權限,導致使用conn的時候報錯。 或在pl/sql developer裏,創建user時選擇system privileges->create session conn連接命令 disc[onnect]斷開連接: : 授權Zyx用戶可以增刪改差t1表 SQL> grant all on t1 to zyx; Grant succeeded
收回zyx用戶對於t1表的修改權限(update)。 SQL> revoke update on t1 from zyx; Revoke succeeded 不寫日誌的刪除速度更快: 可以使用all()函數也可以使用max()函數實現 |
PL/sql的使用:
plsql編程:
PL/SQL也是一種程序語言,叫做過程化SQL語言(Procedural Language/SQL)。PL/SQL是Oracle數據庫對SQL語句的擴展。
結構化查詢語言(Structured Query Language,簡稱SQL)
在windows的終端輸入 sqlplus就可以登錄自帶的oracle管理工具
Sql*pls的工具用於存儲過程,觸發器,sql編程
在pl/sql中 選擇my_object
找到table文件夾,裏邊就是當前賬戶的所有表格
PL SQL可以導入導出dmp文件
new ——打開命令窗口
pl/sql中圖形化建表的方式
查看pl/sql的幫助手冊。
oracle的分頁查詢不好理解
一個清晰的查詢語句才能夠明白他的意思;
查詢的時候是分組函數都得需要是分組函數
加兩個rownum之後只有第一個有用。如果想再用一就需要再select一次。
所有的改動就只需改裏面的一個就好了
這可以按照一個公式來查詢,只要套著會用就行。
--分頁查詢一 (這個號理解一些)
select * from (select a1.*,rownum rn from (select * from student) a1 where rownum <=5) where rn>=2;
--分頁查詢二 (起別名,查詢結果做新表)
select a1.* from (select student.*,rownum rn from student where rownum <=5) a1 where rn >=3;
--分頁查詢三(between實現)
select a1.* from (select student.*,rownum rn from student) a1 where rn between 3 and 5;
子表也叫做內嵌視圖。必須對字表起一個別名而且最好不要使用as。
給列取別名的時候可以使用as
dba就要求邏輯清楚
數據庫-1