1、插入數據:insert
語法:insert into 表名(字段名1,字段名2,……)values(數據1,數據2,……);
注意:
1.表名後字段的書寫根據實際需要插入數據來給定,字段名的名寫順序可以自定義;
2.字段名和數據前後必須對應(類型、個數};
1.1、插入數據時,關於NULL值的問題
在插入數據時,若不給字段數據這時字段中時NULL值,但是如果字段被設置了非空約束的話,在插入操作時必須給該給字段一個確定的數據。NULL值得插入方式有兩種:飲食插入、顯示插入。
1.2、插入數據時,關於默認值的問題
若字段被設置了默認值約束,在插入數據操作時不給定該字段數據,該字段中的數據以默認值爲準。
2、查詢數據:select
語法:select 字段名1,字段名2,…… from 表名 where 條件;
2.1、查詢中別名的使用
在查詢操作時,顯示的結果是按照字段名依次顯示的。別名就是在查詢中用來給顯示的字段名重命名的,在使用別名的時候不可以有空格或其他字符,如果想要有的話必須使用一對雙引號將別名括起來使用。
2.2、查詢的拼接操作
-
concat函數
語法:concat(數據1,數據2),作用是實現兩個數據連接之後的結果,連接的數據可以是任意類型,concat連接之後的結果是字符串類型。
2.3、字符串數據長度計算
語法:length(char),作用是計算字符串char的實際佔用長度,如果是char類型的字符串,實際長度是定義長度;如果是varchar2類型的字符串,實際長度是根據具體數據長度變化的。
2.4、字符串大小寫轉換函數
語法:
upper(char)-----將char中的所有字母全部轉換爲大寫
lower(char)-----將char中的所有字母全部轉換爲小寫
initcap(char)----將char中的每個單詞的首字母大寫,其餘小寫
2.5、字符串截去函數
語法:
trim(char2 from char1)----將char1的左右兩邊截去char2顯示;
ltrim(char1,char2)-------------將char1的左邊截去char2顯示;
rtrim(char1,char2)-------------將char1的右邊截去char2顯示;
2.6、數字的四捨五入函數
語法:round(n,m),作用是將數字n按照m的數位進行四捨五入操作。n是被四捨五入的數字,m是n的數位。
數字---------- 1 2 .3 4 5
數位---------- -1 0 1 2 3
注意:m的值大部分都是取整數形式,若m是小數數位時,會先對m進行取整操作,然後再四捨五入;若省略m的值,則按照0位進行四捨五入操作。
2.7、數字截取函數
語法:trunc(n,m),n和m的定義與round一致,不同的是trunc是按照截取的方式來處理數字的。
2.8、NULL值函數
數據庫中的NULL值可以是任意數據類型,在查詢中null值會被視爲無窮大,在查詢中需要對NULL值進行替換操作。
* nvl
語法:nvl(字段名,數據),作用是將字段名中如果是NULL值的時候,用對應的數據來進行替換操作。需要注意的是:字段名和替換數據的類型必須一致。
* nvl2
語法:nvl2(字段名,數據1,數據2),作用是判斷字段名中是否爲NULL值,如果不是NULL值,則用數據1來替換;如果是NULL值,則用數據2來替換。
2.9、查詢中日期類型的函數
2.9.1、獲取當前時間:sysdate
sysdate函數是可以直接使用的,作用是獲取當前的日期時間值,精確到秒。顯示的結果是按照日期的默認格式DD-MM-YY來操作
2.9.2、日期格式轉換函數:to_date、to_char
* to_char
語法:to_char(date,日期格式),作用是將日期date按照指定的格式轉換爲字符串類型。日期格式的書寫具體如下:
年份----YY(兩位年份)、YYYY(四位年份)
月份---MM
日------DD
小時---HH(12小時制)、HH24(24小時制)
分鐘---MI
秒-------SS
日期格式必須用一對單引號括起來,如果格式中想要有中文或其他字符的話,需要使用雙引號將中文或其他字符括起來。
* to_date
語法:to_date(char,日期格式),作用是將字符串char按照指定的日期格式轉換爲日期時間類型。
2.9.3、last_day
語法:last_day(date),作用是計算日期date所在月份的最後一天日期值。
2.9.4、next_day
語法:next_day(date,char),作用是計算日期date的下一個周幾(下一個周幾和下週幾不同)?具體的周幾由char的值來決定。爲了避免麻煩,可以直接使用數字1-7來表示具體的周幾,1-7來表示週日-週六。
2.9.5、add_months
語法:add_months(date,n),作用是計算日期date加上n個月之後的日期值,對於n來說大部分時候取正整數形式,如果n是小數時,則先對n進行取整操作,然後再計算;如果n是負數時,則計算的是減去n個月之後日期值。
2.9.6、extract
語法:
extract(year from date)----作用是從日期date中抽取四位年份值
extract(month from date)----作用是從日期date中抽取月份值
extract(day from date)--------作用是從日期date中抽取日
3、where條件查詢
3.1比較查詢
在where條件查詢中,可以使用>、<、>=,<=、=、!=(<>)來進行比較查詢。
3.2、NULL值條件查詢
Oracle數據庫中與NULL值的條件查詢有兩種情況:
is null(爲空值)、is not null(不爲空值)
3.3、模糊條件查詢(百度、谷歌)
Oracle數據庫中使用like來進行模糊查詢,like不是單獨使用的,在使用時like需要配合兩個通配符一起使用:
%------表示0或多個內容
_-------表示單個內容
3.4、指定範圍條件查詢(在……之間)
語法:between 起始值 and 結束值
between…and可以對任意數據類型進行範圍條件查詢,主要用於數字類型的範圍查詢。
3.5、邏輯條件查詢
Oracle數據庫中的邏輯條件查詢有:and(與)、or(或)、not(非)
4、查詢中的排序操作(order by)
語法:order by 字段名/別名 ASC/DESC
注意:order by語句必須放在查詢語句的末尾,asc是按照升序排,desc是按照降序排,如果不寫默認是升序排。因爲NULL值被視爲無窮大,所以需要通過where條件將NULL值的情況剔除。
5、查詢中組函數的使用
在查詢中,經常會涉及到求總和、求平均值、求最大值、求最小值等等操作,這些操作就需要使用專門的組函數來操作。在查詢中,經常會涉及到求總和、求平均值、求最大值、求最小值等等操作,這些操作就需要使用專門的組函數來操作。
5.1、求總和:sum
語法:sum(字段名)
注意:sum只能用於數字類型的操作,並且sum是會自動忽略NULL值。
5.2、求平均值:avg
語法:avg(字段名)
注意:avg和sum一樣也只能用於求數字類型的操作,也是忽略NULL值.
5.3、求最大值(max)和最小值(min)
語法:max(字段名)、min(字段名)
注意:max和min可以用於任意數據類型的操作,多數情況下用於數字類型的操作,max和min也是自動忽略NULL值。