Oracle操作
來源:易賢網 閱讀:1296 次 日期:2014-10-17 10:17:15
溫馨提示:易賢網小編為您整理了“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

HH12

某時刻的12進制小時數

11

HH24

某時刻的24進制小時數

23

MI

某時刻的分鐘數

30

SS

某時刻的秒數

30

FF

某時刻的毫秒數

121

一. Oracle中的復雜數據處理

1. avg()函數用于獲得一組數據的平均值,該函數只能作用于數值型。

2. sum() 同樣只能應用于數值型

3. count()函數用于統計記錄數目。有三種情形

l 統計單列 列名作為count()函數的參數。當列值不為空時,將計數1,否則,將計數0

l 統計所有列 即count(*)進行統計,即使所有列值均為空,Oracle仍將計數

l 利用count(1)進行統計。 count(1)和count(*)返回值相同,對每條記錄都計數1

二.Oracle中的運算

1.數學運算 包括加(+)、減(—)、乘(*)、除(/)、四種。無論操作數是何種數據類型,都將首先轉換為數值型,

然后才參與運算。 值得注意的是,當其中一個操作數的值為null時,運算結果仍然為null。

2.

三.Oracle中的特殊判式

Oracle進行條件判斷時,最常見的操作符為“=”。除此之外,Oracle還提供了若干特殊判式進行邏輯判斷。

這些判式包括:

u between 范圍測試

u in 集合成員測試

u like 模糊匹配 %(匹配任意長度的任意字符) _(匹配單個字符)

u is null 空置判斷

u exits 存在性判斷

u all、some、any 數量判斷

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:Oracle操作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看