萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle操作

Oracle操作

   1.查看當前數據庫的實例名: show parameter instance_name

  2.數據表結構的相關操作

  創建數據表: create table 表名(列1 數據類型1,列2 數據類型2…….) tablespace 表空間名

  修改數據表:

  l 添加新列: alter table 表名 add (新添加的列名 數據類型 )

  l 修改和刪除已有列:alter table 表名 modify(列名 數據類型); alter table 表名 drop column 列名;

  l 重命名列:alter table 表名rename column 舊列名 to 新列名

  l 將表轉移到另一個表空間中: alter table 表名 move tablespace 新的表空間

  刪除數據表: 當一個數據表沒有存在的意義時,則需要執行刪除操作

  drop table 命名

  有時,由於某些約束的存在,例如,當前表的主鍵被其他表用作外鍵,會導致無法成功刪除。利用casca

de constraints選項可以將約束同時刪除,從而保證drop table 命令一定能夠成功執行。

  3.利用user_tab_cols根據列名獲得所在表的信息

  例如:

  Select table_name from user_tab_cols wherelower(column_name)='student_id';

  4.更新數據

  向數據表插入數據: insert into 表名(列名1,列名2,列名3...列名n)

  values(值1,值2,值3...值n);

  更新數據:

  ? 更新單列:update 表名 set 列=新值;

  ? 更新多列:update 表名 set 列1=新值1,列2=新值2,...

  ? 注意事項:對於update操作,最容易被忽視的就是添加where條件。上面兩條語句是很危險的。因為沒有添加任何限制條件,因此Oracle將更新表中的所有數據。而實際應用中,往往只需要更新部分數據。因此,對於重要數據的update操作,

首先添加where關鍵字是一個好的習慣,盡管有時候並不需要過濾條件。例:update 表名 set 列=新值 where...;

  5.刪除數據

  delete 操作用於刪除表中數據。除了delete語句之外,truncate命令同樣可以刪除表中數據。

  delete from 表名 因為刪除動作的作用對象為記錄級別,因此無需指定列名信息。

  delete from students where student_id>10;如同update 語句,在使用delete語句時,添加where字句是一個好的習慣。

這樣可以避免刪除表中的所有數據。

  truncate table語句與delete 語句是有本質區別的。Delete語句與insert、update語句同屬於DML——數據操作語言的范疇,當數據修改之後,可以通過回滾操作,忽略所做的數據修改。而truncatetable語句則是屬於DDL——數據定義語言的范疇,當數據被刪除之後,無法回滾。 通過truncate table命令刪除表students的數據。 Truncate table students;

  6.Oracle中的字符型及處理方法

  ü 固定長度字符串char(n)

  ü 可變長度字符串varchar(n) 當實際字符串的長度不足時,不會使用空格進行填充

  ü varchar2(n) 與varchar(n)類型一樣是可變長度字符串類型,最大長度都為4000。Oracle在工業標准之外,

自定義了該類型。使用varchar2(n)可以獲得Oracle向後兼容性的保證。

  ü 變量聲明中的字符串類型 3種字符串類型——char(n)、varchar(n)、varchar2(n),都可以用於聲明變量,

但是,最大長度均為32767ü 字符型處理:

  l 返回字符串的小寫和大寫形式——lower()和upper()函數

  l 單詞首字符大寫——initcap() 不管字符是全大寫還是全小寫形式,經過initcap()函數轉變後,都為首字符大寫,

其余小寫的形式。

  l 返回字符串長度——length() 例:select length(‘12345’) from dual;

  l 截取字符串——substr()函數 substr(string,start_index,length)

  l 刪除字符串左側和右側空格和兩側空格——ltrim()和rtrim()和trim() 例:select ltrim(‘ 000’) new_str from dual;

  l 串聯字符串——concat()函數 將兩個字符串進行連接

  l 反轉字符串——reverse()函數 例:select reverse(‘abcdef’) from dual; 輸出結果為:fedcba

  7.Oracle中的數值型及處理方法

  2 將ASCII碼轉換為字符——chr()函數 select chr(65) character from dual;將輸出大寫字符A

  2 格式化數值——to_char()函數 to_char(原數值,格式) 其中格式參數由一系列的字符組成。常用字符包括:0、9、,、FM、$、L、C、X

  8.Oracle中的日期型及處理方法

  獲得當前日期——sysdate() select sysdatefrom dual;

  為日期加上特定月份——add_months()函數 例如為當前加一個月:selectadd_months(sysdate,1) new

_date from dual;

  返回特定日期所在月的最後一天——last_day()函數

  將日期轉換為字符串——to_char()函數 to_char()函數不僅可以用於數值的格式化,同樣可以對日期進行格式化。

to_char()函數格式化日期的使用方法如下所示。to_char(日期,格式) 例子:selectto_char(sysdate,’YYYY-MM-DD’)

new_date from dual; 對於to_char()函數來說,所能使用的格式也是Oracle預定義的。如下表:

  To_char()函數中,用於日期的格式信息

格式代碼

說明

轉換結果實例

YEAR

獲得年份的全拼

Two thousand nine

YYYY

四位年份

2009

YYY

年份的後三位

009

YY

年份的後兩位

09

Y

年份的後一位

9

Q

季度

2

MM

兩位月份

06

MON

月份的縮寫

6月

MONTH

月份

6月

WW

一年中的第幾周

26

W

一月中的第幾周

4

D

一周中的第幾天

5

DAY

一周中的星期幾

星期四

DD

一月中的第幾天

25

DDD

一年中的第幾天

176

DY

一周中星期幾的縮寫

星期四

HH

某時刻的小時數

11

copyright © 萬盛學電腦網 all rights reserved