數(shù)據(jù)庫常用函數(shù)_第1頁
數(shù)據(jù)庫常用函數(shù)_第2頁
數(shù)據(jù)庫常用函數(shù)_第3頁
數(shù)據(jù)庫常用函數(shù)_第4頁
數(shù)據(jù)庫常用函數(shù)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、*Transact_SQL*-語 句                      功 能-數(shù)據(jù)操作SELECT    -從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列INSERT    -向數(shù)據(jù)庫表添加新數(shù)據(jù)行DELETE    -從數(shù)據(jù)庫表中刪除數(shù)據(jù)行UPDATE    -更新數(shù)據(jù)庫表中的數(shù)據(jù)-數(shù)據(jù)定義CREATE TABLE   -創(chuàng)建一個(gè)數(shù)據(jù)庫表DROP TABLE

2、0;   -從數(shù)據(jù)庫中刪除表ALTER TABLE    -修改數(shù)據(jù)庫表結(jié)構(gòu)CREATE VIEW    -創(chuàng)建一個(gè)視圖DROP VIEW    -從數(shù)據(jù)庫中刪除視圖CREATE INDEX   -為數(shù)據(jù)庫表創(chuàng)建一個(gè)索引DROP INDEX    -從數(shù)據(jù)庫中刪除索引CREATE PROCEDURE  -創(chuàng)建一個(gè)存儲(chǔ)過程DROP PROCEDURE   -從數(shù)據(jù)庫中刪除存儲(chǔ)過程CREATE TRIGGER   -創(chuàng)建一個(gè)觸發(fā)器

3、DROP TRIGGER   -從數(shù)據(jù)庫中刪除觸發(fā)器CREATE SCHEMA   -向數(shù)據(jù)庫添加一個(gè)新模式DROP SCHEMA    -從數(shù)據(jù)庫中刪除一個(gè)模式CREATE DOMAIN   -創(chuàng)建一個(gè)數(shù)據(jù)值域ALTER DOMAIN   -改變域定義DROP DOMAIN    -從數(shù)據(jù)庫中刪除一個(gè)域-數(shù)據(jù)控制GRANT    -授予用戶訪問權(quán)限D(zhuǎn)ENY    -拒絕用戶訪問REVOKE    -解除用戶訪問權(quán)限

4、-事務(wù)控制COMMIT    -結(jié)束當(dāng)前事務(wù)ROLLBACK    -中止當(dāng)前事務(wù)SET TRANSACTION   -定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征-程序化SQLDECLARE    -為查詢?cè)O(shè)定游標(biāo)EXPLAN    -為查詢描述數(shù)據(jù)訪問計(jì)劃OPEN    -檢索查詢結(jié)果打開一個(gè)游標(biāo)FETCH    -檢索一行查詢結(jié)果CLOSE    -關(guān)閉游標(biāo)PREPARE    -為動(dòng)態(tài)執(zhí)行準(zhǔn)備SQL 語句EXECUTE 

5、;   -動(dòng)態(tài)地執(zhí)行SQL 語句DESCRIBE    -描述準(zhǔn)備好的查詢-局部變量declare id char(10)-set id = '10010001'select id = '10010001'-全局變量-必須以開頭-IF ELSEdeclare x int y int z intselect x = 1 y = 2 z=3if x > yprint 'x > y' -打印字符串'x > y'else if

6、y > zprint 'y > z'else print 'z > y'-CASEuse panguupdate employeeset e_wage =case  when job_level = 1 then e_wage*1.08  when job_level = 2 then e_wage*1.07  when job_level = 3 then e_wage*1.06  else e_wage*1.05end-WHILE

7、 CONTINUE BREAKdeclare x int y int c intselect x = 1 y=1while x < 3begin  print x -打印變量x 的值  while y < 3  begin   select c = 100*x + y   print c -打印變量c 的值   select y = y + 1  end  select x = x + 1  select

8、 y = 1end-WAITFOR-例 等待1 小時(shí)2 分零3 秒后才執(zhí)行SELECT 語句waitfor delay 01:02:03select * from employee-例 等到晚上11 點(diǎn)零8 分后才執(zhí)行SELECT 語句waitfor time 23:08:00select * from employee*SELECT*  select *(列名) from table_name(表名) where column_name operator value  ex:(宿主)  select * from stock_inf

9、ormation where stockid  = str(nid)    stockname = &#39;str_name&#39;     stockname like &#39;% find this %&#39;     stockname like &#39;a-zA-Z%&#39; - (指定值的范圍)    stockname like &#39;F-M%&#39;  - (排除指定范圍)

10、0;   - 只能在使用like關(guān)鍵字的where子句中使用通配符)    or stockpath = &#39;stock_path&#39;    or stocknumber < 1000    and stockindex = 24    not stocksex = &#39;man&#39;    stocknumber between 20 and 100    stocknumber in(10,20,30)&

11、#160;   order by stockid desc(asc) - 排序,desc-降序,asc-升序    order by 1,2 - by列號(hào)    stockname = (select stockname from stock_information  where stockid  = 4)    - 子查詢    - 除非能確保內(nèi)層select只返回一個(gè)行的值,    - 否則應(yīng)在外層where子句中用一個(gè)in限定符 

12、 select distinct column_name form table_name - distinct指定檢索獨(dú)有的列值,不重復(fù)  select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name  select stockname , "stocknumber" = count(*) from table_name group by stockname       

13、                   - group by 將表按行分組,指定列中有相同的值 having count(*) = 2  -  having選定指定的組        select *   from table1, table2           

14、60;  where table1.id *= table2.id - 左外部連接,table1中有的而table2中沒有得以null表示    table1.id =* table2.id - 右外部連接   select stockname from table1  union all  -  union合并查詢結(jié)果集,all-保留重復(fù)行  select stockname from table2*insert*  insert i

15、nto table_name (Stock_name,Stock_number) value ("xxx","xxxx")          value (select Stockname , Stocknumber from Stock_table2)-value為select語句*update*  update table_name set Stockname = "xxx" where Stockid = 3     &

16、#160;Stockname = default      Stockname = null      Stocknumber = Stockname + 4*delete*  delete from table_name where Stockid = 3  truncate table_name - 刪除表中所有行,仍保持表的完整性  drop table table_name - 完全刪除表*alter table* - 修改數(shù)據(jù)庫表結(jié)構(gòu) 

17、 alter table database.owner.table_name add column_name char(2) null .  sp_help table_name - 顯示表已有特征  create table table_name (name char(20), age smallint, lname varchar(30)  insert into table_name select . - 實(shí)現(xiàn)刪除列的方法(創(chuàng)建新表)  alter table table_name drop con

18、straint Stockname_default - 刪除Stockname的default約束   *function(/*常用函數(shù)*/)*-統(tǒng)計(jì)函數(shù)-AVG   -求平均值COUNT  -統(tǒng)計(jì)數(shù)目MAX   -求最大值MIN   -求最小值SUM   -求和-AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id-MAX-求工資最高的員工姓名use panguselect e

19、_namefrom employeewhere e_wage =(select max(e_wage)  from employee)-STDEV()-STDEV()函數(shù)返回表達(dá)式中所有數(shù)據(jù)的標(biāo)準(zhǔn)差-STDEVP()-STDEVP()函數(shù)返回總體標(biāo)準(zhǔn)差-VAR()-VAR()函數(shù)返回表達(dá)式中所有值的統(tǒng)計(jì)變異數(shù)-VARP()-VARP()函數(shù)返回總體變異數(shù)-算術(shù)函數(shù)-/*三角函數(shù)*/SIN(float_expression) -返回以弧度表示的角的正弦COS(float_expression) -返回以弧度表示的角的余弦TAN(float_expression) -返回以弧度

20、表示的角的正切COT(float_expression) -返回以弧度表示的角的余切/*反三角函數(shù)*/ASIN(float_expression) -返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) -返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) -返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)       -返回正切是float_expression1 /float_expres-sion2的以弧度表

21、示的角DEGREES(numeric_expression)                -把弧度轉(zhuǎn)換為角度返回與表達(dá)式相同的數(shù)據(jù)類型可為      -INTEGER/MONEY/REAL/FLOAT 類型RADIANS(numeric_expression) -把角度轉(zhuǎn)換為弧度返回與表達(dá)式相同的數(shù)據(jù)類型可為      -INTEGER/MONEY/REAL/FLOAT 類型EXP(float_expression

22、)  -返回表達(dá)式的指數(shù)值LOG(float_expression)  -返回表達(dá)式的自然對(duì)數(shù)值LOG10(float_expression)-返回表達(dá)式的以10 為底的對(duì)數(shù)值SQRT(float_expression) -返回表達(dá)式的平方根/*取近似值函數(shù)*/CEILING(numeric_expression)  -返回>=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為      -INTEGER/MONEY/REAL/FLOAT 類型FLOOR(numeric_expression)

23、   -返回<=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為      -INTEGER/MONEY/REAL/FLOAT 類型ROUND(numeric_expression)   -返回以integer_expression 為精度的四舍五入值返回的數(shù)據(jù)      -類型與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT 類型ABS(numeric_expression)    -返回表達(dá)式的絕對(duì)值返回的數(shù)據(jù)類型與表達(dá)式相同可為&

24、#160;     -INTEGER/MONEY/REAL/FLOAT 類型SIGN(numeric_expression)    -測(cè)試參數(shù)的正負(fù)號(hào)返回0 零值1 正數(shù)或-1 負(fù)數(shù)返回的數(shù)據(jù)類型      -與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT 類型PI()     -返回值為 即3.1415926535897936RAND(integer_expression)  -用任選的integer_expression做種

25、子值得出0-1 間的隨機(jī)浮點(diǎn)數(shù)-字符串函數(shù)-ASCII()      -函數(shù)返回字符表達(dá)式最左端字符的ASCII 碼值CHAR()  -函數(shù)用于將ASCII 碼轉(zhuǎn)換為字符   -如果沒有輸入0 255 之間的ASCII 碼值CHAR 函數(shù)會(huì)返回一個(gè)NULL 值LOWER()  -函數(shù)把字符串全部轉(zhuǎn)換為小寫UPPER()  -函數(shù)把字符串全部轉(zhuǎn)換為大寫STR()  -函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)LTRIM()  -函數(shù)把字符串頭部的空

26、格去掉RTRIM()  -函數(shù)把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING()  -函數(shù)返回部分字符串CHARINDEX(),PATINDEX()  -函數(shù)返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置SOUNDEX()  -函數(shù)返回一個(gè)四位字符碼    -SOUNDEX函數(shù)可用來查找聲音相似的字符串但SOUNDEX函數(shù)對(duì)數(shù)字和漢字均只返回0 值    DIFFERENCE()   -函數(shù)返回由SOUNDEX 函數(shù)返回的兩個(gè)字符表達(dá)式的

27、值的差異   -0 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符不同   -1 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符相同   -2 兩個(gè)SOUNDEX 函數(shù)返回值的第一二個(gè)字符相同   -3 兩個(gè)SOUNDEX 函數(shù)返回值的第一二三個(gè)字符相同   -4 兩個(gè)SOUNDEX 函數(shù)返回值完全相同                       

28、0;  QUOTENAME()  -函數(shù)返回被特定字符括起來的字符串/*select quotename(&#39;abc&#39;, &#39;&#39;) quotename(&#39;abc&#39;)運(yùn)行結(jié)果如下-abc abc*/REPLICATE()    -函數(shù)返回一個(gè)重復(fù)character_expression 指定次數(shù)的字符串/*select replicate(&#39;abc&#39;, 3) replicate( &#39;abc&

29、#39;, -2)運(yùn)行結(jié)果如下- -abcabcabc NULL*/REVERSE()     -函數(shù)將指定的字符串的字符排列順序顛倒REPLACE()     -函數(shù)返回被替換了指定子串的字符串/*select replace(&#39;abc123g&#39;, &#39;123&#39;, &#39;def&#39;)運(yùn)行結(jié)果如下- -abcdefg*/SPACE()  -函數(shù)返回一個(gè)有指定長度的空白字符串STUFF()  

30、;-函數(shù)用另一子串替換字符串指定位置長度的子串-數(shù)據(jù)類型轉(zhuǎn)換函數(shù)-CAST() 函數(shù)語法如下CAST() (<expression> AS <data_ type> length )CONVERT() 函數(shù)語法如下CONVERT() (<data_ type> length , <expression> , style)select cast(100+99 as char) convert(varchar(12), getdate()運(yùn)行結(jié)果如下- -199  Jan 15 2000-日期函數(shù)-DAY()  

31、;-函數(shù)返回date_expression 中的日期值MONTH()  -函數(shù)返回date_expression 中的月份值YEAR()  -函數(shù)返回date_expression 中的年份值DATEADD(<datepart> ,<number> ,<date>)    -函數(shù)返回指定日期date 加上指定的額外日期間隔number 產(chǎn)生的新日期DATEDIFF(<datepart> ,<number> ,<date>)   -函數(shù)返回兩個(gè)指定日期在datepart 方面的不同之處DATENAME(<datepart> , <date>)  -函數(shù)以字符串的形式返回日期的指定部分DATEPART(<datepart> , <date>)  -函數(shù)以整數(shù)值的形式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論