Oracle—day02:插入數據、查詢數據 20190912

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值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章