oracle資料庫的語句怎麼寫
- 綜合知識
- 關注:4.45K次
1.開啟plsql並轉到登入頁面。
2.以管理員身份登入資料庫。
3.登入後,建立一個新的SQL視窗。
4,輸入,以下語句選擇a.file#,a.name,a.bytes / 1024/1024 CurrentMB,ceilHWM * a.block_size / 1024/1024Resizeto,a.bytes - HWM * a .block_size / 1024/1024 releaseMB;
5.單擊“執行”按鈕以執行查詢操作。
6,查詢後,可以在查詢結果中看到每個資料庫檔案的具體路徑。
2. oracle資料庫連線語句怎麼寫public void testOracle()
{
Connection con = null;// 建立一個數據庫連線
PreparedStatement pre = null;// 建立預編譯語句物件,一般都是用這個而不用Statement
ResultSet result = null;// 建立一個結果集物件
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");// 載入Oracle驅動程式
System.out.println("開始嘗試連線資料庫!");
String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本機地址,XE是精簡版Oracle的預設資料庫名
String user = "system";// 使用者名稱,系統預設的賬戶名
String password = "147";// 你安裝時選設定的密碼
con = DriverManager.getConnection(url, user, password);// 獲取連線
System.out.println("連線成功!");
String sql = "select * from student where name=?";// 預編譯語句,“?”代表引數
pre = con.prepareStatement(sql);// 例項化預編譯語句
pre.setString(1, "劉顯安");// 設定引數,前面的1表示引數的索引,而不是表中列名的索引
result = pre.executeQuery();// 執行查詢,注意括號中不需要再加引數
while (result.next())
// 當結果集不為空時
System.out.println("學號:" + result.getInt("id") + "姓名:"
+ result.getString("name"));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
// 逐一將上面的幾個物件關閉,因為不關閉的話會影響效能、並且佔用資源
// 注意關閉的順序,最後使用的最先關閉
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
System.out.println("資料庫連線已關閉!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
3. oracle資料庫sql簡單的編寫語句1)
create table 學號(
name varchar2(20),
age number,
major varchar2(40),
address varchar2(100),
entrancedate date);
2)create view 檢視 as select name from 學號;
3)
SGA + PGA 和後臺程序
sga :
db bufer cache
shared pool
large pool
stream pool
pga :
uga+sort area+hash area
nomout -> mount -> open
nomout 是讀取init.ora檔案,知道contrlofile位置
mount 是打開了contrlofile,知道資料檔案位置 可以media restore和media recover
open 是打開了資料檔案 可以instance recover
4. 在oracle資料庫中建立表語句如何寫Oracle不能再建表語句中實現自增的,需要藉助sequence才能實現,,設定主鍵只需要在欄位後面加primary key關鍵字即可
create table servicelogs(
id number(8) primary key,
servicetype varchar(100),
outsys varchar(100),
methodname varchar(100),
methodresult varchar(200),
errormessage varchar(900),
inparameter varchar(900),
returncontent varchar(900),
logtime varchar(20)
);
建立序列號:
create sequence servicelogs_sequence
increment by 1 --步長,每次增加幾
start with 1 --從幾開始,這裡是1
nomaxvalue --不設定最大值
nocycle --一直累加,不迴圈
nocache; --不建緩衝區
當然到此也可以結束,每次呼叫手動呼叫(序列名稱.nextcal),但是這樣比較麻煩,還是建立一個觸發器
create or replace trigger servicelogs_trig before
insert on servicelogs for each row
begin
select servicelogs.nextval into new.id from dual;
end;
測試:
insert into servicelogs(servicetype)values('aaab');
select * from servicelogs;
5. 在oracle資料庫中的分頁SQL語句怎麼寫前提:
分頁引數:size = 20 page = 2;
沒有order by的查詢;
巢狀子查詢,兩次篩選(推薦使用)。
SQL語句:
SELECT *
FROM (SELECT ROWNUM AS rowno, t.*
FROM DONORINFO t
WHERE t.BIRTHDAY BETWEEN TO_DATE ('19800101', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
AND ROWNUM <= 20*2) table_alias
WHERE table_alias.rowno > 20*(2-1);
擴充套件資料:
rownum總是從1開始的,第一條不滿足去掉的話,第二條的rownum 又成了1。依此類推,所以永遠沒有不滿足條件的記錄。
可以這樣理解:rownum是一個序列,是Oracle資料庫從資料檔案或緩衝區中讀取資料的順序。它取得第一條記錄則rownum值為1,第二條為2。
依次類推:當使用“>;、>;=、=、between。and”這些條件時,從緩衝區或資料檔案中得到的第一條記錄的rownum為1,不符合sql語句的條件,會被刪除,接著取下條。下條的rownum還會是1,又被刪除,依次類推,便沒有了資料。
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/kyl45v.html