Oracle操作
來源:易賢網(wǎng) 閱讀:1111 次 日期:2014-10-17 10:17:15
溫馨提示:易賢網(wǎng)小編為您整理了“Oracle操作”,方便廣大網(wǎng)友查閱!

1.查看當(dāng)前數(shù)據(jù)庫(kù)的實(shí)例名: show parameter instance_name

2.數(shù)據(jù)表結(jié)構(gòu)的相關(guān)操作

創(chuàng)建數(shù)據(jù)表: create table 表名(列1 數(shù)據(jù)類型1,列2 數(shù)據(jù)類型2…….) tablespace 表空間名

修改數(shù)據(jù)表:

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

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

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

l 將表轉(zhuǎn)移到另一個(gè)表空間中: alter table 表名 move tablespace 新的表空間

刪除數(shù)據(jù)表: 當(dāng)一個(gè)數(shù)據(jù)表沒有存在的意義時(shí),則需要執(zhí)行刪除操作

drop table 命名

有時(shí),由于某些約束的存在,例如,當(dāng)前表的主鍵被其他表用作外鍵,會(huì)導(dǎo)致無法成功刪除。利用casca

de constraints選項(xiàng)可以將約束同時(shí)刪除,從而保證drop table 命令一定能夠成功執(zhí)行。

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

例如:

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

4.更新數(shù)據(jù)

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

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

更新數(shù)據(jù):

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

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

? 注意事項(xiàng):對(duì)于update操作,最容易被忽視的就是添加where條件。上面兩條語句是很危險(xiǎn)的。因?yàn)闆]有添加任何限制條件,因此Oracle將更新表中的所有數(shù)據(jù)。而實(shí)際應(yīng)用中,往往只需要更新部分?jǐn)?shù)據(jù)。因此,對(duì)于重要數(shù)據(jù)的update操作,

首先添加where關(guān)鍵字是一個(gè)好的習(xí)慣,盡管有時(shí)候并不需要過濾條件。例:update 表名 set 列=新值 where...;

5.刪除數(shù)據(jù)

delete 操作用于刪除表中數(shù)據(jù)。除了delete語句之外,truncate命令同樣可以刪除表中數(shù)據(jù)。

delete from 表名 因?yàn)閯h除動(dòng)作的作用對(duì)象為記錄級(jí)別,因此無需指定列名信息。

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

這樣可以避免刪除表中的所有數(shù)據(jù)。

truncate table語句與delete 語句是有本質(zhì)區(qū)別的。Delete語句與insert、update語句同屬于DML——數(shù)據(jù)操作語言的范疇,當(dāng)數(shù)據(jù)修改之后,可以通過回滾操作,忽略所做的數(shù)據(jù)修改。而truncatetable語句則是屬于DDL——數(shù)據(jù)定義語言的范疇,當(dāng)數(shù)據(jù)被刪除之后,無法回滾。 通過truncate table命令刪除表students的數(shù)據(jù)。 Truncate table students;

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

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

ü 可變長(zhǎng)度字符串varchar(n) 當(dāng)實(shí)際字符串的長(zhǎng)度不足時(shí),不會(huì)使用空格進(jìn)行填充

ü varchar2(n) 與varchar(n)類型一樣是可變長(zhǎng)度字符串類型,最大長(zhǎng)度都為4000。Oracle在工業(yè)標(biāo)準(zhǔn)之外,

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

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

但是,最大長(zhǎng)度均為32767ü 字符型處理:

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

l 單詞首字符大寫——initcap() 不管字符是全大寫還是全小寫形式,經(jīng)過initcap()函數(shù)轉(zhuǎn)變后,都為首字符大寫,

其余小寫的形式。

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

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

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

l 串聯(lián)字符串——concat()函數(shù) 將兩個(gè)字符串進(jìn)行連接

l 反轉(zhuǎn)字符串——reverse()函數(shù) 例:select reverse(‘a(chǎn)bcdef’) from dual; 輸出結(jié)果為:fedcba

7.Oracle中的數(shù)值型及處理方法

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

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

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

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

為日期加上特定月份——add_months()函數(shù) 例如為當(dāng)前加一個(gè)月:selectadd_months(sysdate,1) new

_date from dual;

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

將日期轉(zhuǎn)換為字符串——to_char()函數(shù) to_char()函數(shù)不僅可以用于數(shù)值的格式化,同樣可以對(duì)日期進(jìn)行格式化。

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

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

To_char()函數(shù)中,用于日期的格式信息

格式代碼

說明

轉(zhuǎn)換結(jié)果實(shí)例

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

某時(shí)刻的小時(shí)數(shù)

11

HH12

某時(shí)刻的12進(jìn)制小時(shí)數(shù)

11

HH24

某時(shí)刻的24進(jìn)制小時(shí)數(shù)

23

MI

某時(shí)刻的分鐘數(shù)

30

SS

某時(shí)刻的秒數(shù)

30

FF

某時(shí)刻的毫秒數(shù)

121

一. Oracle中的復(fù)雜數(shù)據(jù)處理

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

2. sum() 同樣只能應(yīng)用于數(shù)值型

3. count()函數(shù)用于統(tǒng)計(jì)記錄數(shù)目。有三種情形

l 統(tǒng)計(jì)單列 列名作為count()函數(shù)的參數(shù)。當(dāng)列值不為空時(shí),將計(jì)數(shù)1,否則,將計(jì)數(shù)0

l 統(tǒng)計(jì)所有列 即count(*)進(jìn)行統(tǒng)計(jì),即使所有列值均為空,Oracle仍將計(jì)數(shù)

l 利用count(1)進(jìn)行統(tǒng)計(jì)。 count(1)和count(*)返回值相同,對(duì)每條記錄都計(jì)數(shù)1

二.Oracle中的運(yùn)算

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

然后才參與運(yùn)算。 值得注意的是,當(dāng)其中一個(gè)操作數(shù)的值為null時(shí),運(yùn)算結(jié)果仍然為null。

2.

三.Oracle中的特殊判式

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

這些判式包括:

u between 范圍測(cè)試

u in 集合成員測(cè)試

u like 模糊匹配 %(匹配任意長(zhǎng)度的任意字符) _(匹配單個(gè)字符)

u is null 空置判斷

u exits 存在性判斷

u all、some、any 數(shù)量判斷

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看數(shù)據(jù)庫(kù)
易賢網(wǎng)手機(jī)網(wǎng)站地址:Oracle操作
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)