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 數量判斷