sql語言基礎
1.結構化語言分類:
DDL 數據定義語言包括:create alter drop
DCL數據控制語言包括:grant revoke
DML數據操作語言包括:select insert delete update
給用戶授權 grant select on dept to panpan;
收回權限 revoke select on dept from panapn;
將abc表中b字段的所有值修改成ttt update abc set b ='ttt'
修改指定條記錄 update abc set b ='yyy' where a = 'abc'
刪除數據 delete from abc where a='abc'
2.常用系統函數
<1>字符函數 length ltrim replace rtrim substr trim
1.查詢有字符個數 select length('abc好') from dual 結果是4
2.查詢有字節個數 select lengthb('abc好') from dual 結果是5
3.去掉右邊空格函數ltrim 去掉左邊空格用rtrim 去掉左邊和右邊的空格用trim
例如:select length(ltrim(' abc好'))from dual 結果爲4
oracle中如果字段長度如果定製固定了,那麼如果數據內容不夠則用空字符來填充,那麼數據查詢的時候有些數據會有空格存在
4.取字符串select substr('abcdefg'2,3)from dual 從第二個開始取,取三個。
oracle不支持左取字符串和右取字符串但有辦法變通,左取字符串函數直接用substr,從右邊開始取從第三個開始取如:
select substr('abcdef',length('abcdef')-3+1,3) from dual
<2>日期函數 Sysdate next_day
1.取數據庫當前時間:select sysdate from dual;
2.取數據庫當前時間:select current_date from dual;
3.設置時間顯示格式:alter session set nls_date_format='dd-mon-yyyy hh-mi:ss'
4.查詢下個星期三的時間:select next_day(sysdate,'星期三') from dual;
<3>轉換函數 To_char to_date to_number
1.把日期型轉換成字符型並且設置格式:select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
2.字符轉換成日期型:select to_date('12-3月-11') from dual;
3.把字符轉換成整型(字符必須是數字或者數值或日期纔可以轉換):select to_number('00333') from dual;
<4>聚集函數Sum avg max min count
select sum(字段) from dual; 求和
select avg(字段)from dual;求平均
select max(字段) from dual; 查最大的
select min(字段) from dual;查最小的
select count(字段)from dual;查詢多少行
<5>其他 user decode nvl
1.select user from dual; 查詢當前用戶
2.select sum(decode(sex,'男',1,0)) ,sum(decode(sex,'女',1,0)) from tablename; decode其實是一個布爾型的判斷函數。
3.select nvl(字段,'未輸入') from tablename;如果字段有空值的將顯示未輸入
3.一個語法:如果要查詢字段爲空的應該寫成 select 字段 from table where is null; 不爲空可以使 is not null;
不能寫成select 字段 from table where 字段=null;語法是正確的,但是數據庫不支持。
4.一個字段有重複的數據如果只讓他顯示不重複的可以:select distinct 字段 from table;
oracle10g 基礎以及SQL函數使用方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.