<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    ?

    *******************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???? --從數(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è)存儲過程
    DROP PROCEDURE??? --從數(shù)據(jù)庫中刪除存儲過程
    CREATE TRIGGER??? --創(chuàng)建一個(gè)觸發(fā)器
    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)限
    DENY????? --拒絕用戶訪問
    REVOKE????? --解除用戶訪問權(quán)限
    --事務(wù)控制
    COMMIT????? --結(jié)束當(dāng)前事務(wù)
    ROLLBACK???? --中止當(dāng)前事務(wù)
    SET TRANSACTION??? --定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征
    --程序化SQL
    DECLARE????? --為查詢設(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????? --動(dòng)態(tài)地執(zhí)行SQL 語句
    DESCRIBE???? --描述準(zhǔn)備好的查詢

    ---局部變量
    declare @id char(10)
    --set @id = '10010001'
    select @id = '10010001'

    ---全局變量
    ---必須以@@開頭

    --IF ELSE
    declare @x int @y int @z int
    select @x = 1 @y = 2 @z=3
    if @x > @y
    ?print 'x > y' --打印字符串'x > y'
    else if @y > @z
    ?print 'y > z'
    else print 'z > y'

    --CASE
    use pangu
    update employee
    set 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.05
    ?end

    --WHILE CONTINUE BREAK
    declare @x int @y int @c int
    select @x = 1 @y=1
    while @x < 3
    ?begin
    ? 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 @y = 1
    ?end

    --WAITFOR
    --例 等待1 小時(shí)2 分零3 秒后才執(zhí)行SELECT 語句
    waitfor delay ’01:02:03’
    select * from employee
    --例 等到晚上11 點(diǎn)零8 分后才執(zhí)行SELECT 語句
    waitfor time ’23:08:00’
    select * from employee

    ?

    ***SELECT***

    ?? select *(列名) from table_name(表名) where column_name operator value
    ?? ex:(宿主)
    ? select * from stock_information where stockid?? = str(nid)
    ???? stockname = 'str_name'
    ???? stockname like '% find this %'
    ???? stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)
    ???? stockname like '[^F-M]%'?? --------- (^排除指定范圍)
    ???? --------- 只能在使用like關(guān)鍵字的where子句中使用通配符)
    ???? or stockpath = 'stock_path'
    ???? or stocknumber < 1000
    ???? and stockindex = 24
    ???? not stocksex = 'man'
    ???? stocknumber between 20 and 100
    ???? stocknumber in(10,20,30)
    ???? order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
    ???? order by 1,2 --------- by列號
    ???? stockname = (select stockname from stock_information? where stockid? = 4)
    ???? --------- 子查詢
    ???? --------- 除非能確保內(nèi)層select只返回一個(gè)行的值,
    ???? --------- 否則應(yīng)在外層where子句中用一個(gè)in限定符
    ? 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
    ????????????????????????????????????? --------- group by 將表按行分組,指定列中有相同的值
    ????????? having count(*) = 2? ---------? having選定指定的組
    ???????
    ? select *
    ? from table1, table2?????????????????
    ? 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 into 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]
    ???????? 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)

    ? 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 constraint Stockname_default ---- 刪除Stockname的default約束
    ???
    ***function(/*常用函數(shù)*/)***

    ----統(tǒng)計(jì)函數(shù)----
    AVG??? --求平均值
    COUNT?? --統(tǒng)計(jì)數(shù)目
    MAX??? --求最大值
    MIN??? --求最小值
    SUM??? --求和

    --AVG
    use pangu
    select avg(e_wage) as dept_avgWage
    from employee
    group by dept_id

    --MAX
    --求工資最高的員工姓名
    use pangu
    select e_name
    from employee
    where 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) --返回以弧度表示的角的正切
    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的以弧度表示的角
    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)? --返回表達(dá)式的指數(shù)值
    LOG(float_expression)? --返回表達(dá)式的自然對數(shù)值
    LOG10(float_expression)--返回表達(dá)式的以10 為底的對數(shù)值
    SQRT(float_expression) --返回表達(dá)式的平方根
    /***取近似值函數(shù)***/
    CEILING(numeric_expression)? --返回>=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為
    ??????? --INTEGER/MONEY/REAL/FLOAT 類型
    FLOOR(numeric_expression)??? --返回<=表達(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á)式的絕對值返回的數(shù)據(jù)類型與表達(dá)式相同可為
    ??????? --INTEGER/MONEY/REAL/FLOAT 類型
    SIGN(numeric_expression)???? --測試參數(shù)的正負(fù)號返回0 零值1 正數(shù)或-1 負(fù)數(shù)返回的數(shù)據(jù)類型
    ??????? --與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT 類型
    PI()?????? --返回值為π 即3.1415926535897936
    RAND([integer_expression])?? --用任選的[integer_expression]做種子值得出0-1 間的隨機(jī)浮點(diǎn)數(shù)


    ----字符串函數(shù)----
    ASCII()???????? --函數(shù)返回字符表達(dá)式最左端字符的ASCII 碼值
    CHAR()?? --函數(shù)用于將ASCII 碼轉(zhuǎn)換為字符
    ??? --如果沒有輸入0 ~ 255 之間的ASCII 碼值CHAR 函數(shù)會返回一個(gè)NULL 值
    LOWER()?? --函數(shù)把字符串全部轉(zhuǎn)換為小寫
    UPPER()?? --函數(shù)把字符串全部轉(zhuǎn)換為大寫
    STR()?? --函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)
    LTRIM()?? --函數(shù)把字符串頭部的空格去掉
    RTRIM()?? --函數(shù)把字符串尾部的空格去掉
    LEFT(),RIGHT(),SUBSTRING()? --函數(shù)返回部分字符串
    CHARINDEX(),PATINDEX()? --函數(shù)返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置
    SOUNDEX()? --函數(shù)返回一個(gè)四位字符碼
    ??? --SOUNDEX函數(shù)可用來查找聲音相似的字符串但SOUNDEX函數(shù)對數(shù)字和漢字均只返回0 值????
    DIFFERENCE()??? --函數(shù)返回由SOUNDEX 函數(shù)返回的兩個(gè)字符表達(dá)式的值的差異
    ??? --0 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符不同
    ??? --1 兩個(gè)SOUNDEX 函數(shù)返回值的第一個(gè)字符相同
    ??? --2 兩個(gè)SOUNDEX 函數(shù)返回值的第一二個(gè)字符相同
    ??? --3 兩個(gè)SOUNDEX 函數(shù)返回值的第一二三個(gè)字符相同
    ??? --4 兩個(gè)SOUNDEX 函數(shù)返回值完全相同
    ??????????????????????????????????????

    QUOTENAME()? --函數(shù)返回被特定字符括起來的字符串
    /*select quotename('abc', '{') quotename('abc')
    運(yùn)行結(jié)果如下
    ----------------------------------{
    {abc} [abc]*/

    REPLICATE()???? --函數(shù)返回一個(gè)重復(fù)character_expression 指定次數(shù)的字符串
    /*select replicate('abc', 3) replicate( 'abc', -2)
    運(yùn)行結(jié)果如下
    ----------- -----------
    abcabcabc NULL*/

    REVERSE()?????? --函數(shù)將指定的字符串的字符排列順序顛倒
    REPLACE()?????? --函數(shù)返回被替換了指定子串的字符串
    /*select replace('abc123g', '123', 'def')
    運(yùn)行結(jié)果如下
    ----------- -----------
    abcdefg*/

    SPACE()?? --函數(shù)返回一個(gè)有指定長度的空白字符串
    STUFF()?? --函數(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()?? --函數(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ù)值的形式返回日期的指定部分
    GETDATE()? --函數(shù)以DATETIME 的缺省格式返回系統(tǒng)當(dāng)前的日期和時(shí)間

    ----系統(tǒng)函數(shù)----
    APP_NAME()????? --函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱
    COALESCE()? --函數(shù)返回眾多表達(dá)式中第一個(gè)非NULL 表達(dá)式的值
    COL_LENGTH(<'table_name'>, <'column_name'>) --函數(shù)返回表中指定字段的長度值
    COL_NAME(<table_id>, <column_id>)?? --函數(shù)返回表中指定字段的名稱即列名
    DATALENGTH() --函數(shù)返回?cái)?shù)據(jù)表達(dá)式的數(shù)據(jù)的實(shí)際長度
    DB_ID(['database_name']) --函數(shù)返回?cái)?shù)據(jù)庫的編號
    DB_NAME(database_id)? --函數(shù)返回?cái)?shù)據(jù)庫的名稱
    HOST_ID()???? --函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱
    HOST_NAME()???? --函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱
    IDENTITY(<data_type>[, seed increment]) [AS column_name])
    ?--IDENTITY() 函數(shù)只在SELECT INTO 語句中使用用于插入一個(gè)identity column列到新表中
    /*select identity(int, 1, 1) as column_name
    ?into newtable
    ?from oldtable*/
    ISDATE()? --函數(shù)判斷所給定的表達(dá)式是否為合理日期
    ISNULL(<check_expression>, <replacement_value>) --函數(shù)將表達(dá)式中的NULL 值用指定值替換
    ISNUMERIC()? --函數(shù)判斷所給定的表達(dá)式是否為合理的數(shù)值
    NEWID()?? --函數(shù)返回一個(gè)UNIQUEIDENTIFIER 類型的數(shù)值
    NULLIF(<expression1>, <expression2>)
    ?--NULLIF 函數(shù)在expression1 與expression2 相等時(shí)返回NULL 值若不相等時(shí)則返回expression1 的值


    posted on 2006-03-30 12:53 SIMONE 閱讀(323) 評論(0)  編輯  收藏 所屬分類: SQL SERVER
    主站蜘蛛池模板: 国产亚洲视频在线观看| 亚洲AV无码国产剧情| 爽爽爽爽爽爽爽成人免费观看| 国产免费131美女视频| 欧美日韩亚洲精品| 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲AV性色在线观看| 凹凸精品视频分类国产品免费| 老司机亚洲精品影院在线观看| 免费国产成人高清视频网站| 美女黄频免费网站| 伊伊人成亚洲综合人网7777| 成人无码a级毛片免费| 99久久亚洲综合精品成人网| 免费精品国产自产拍在| 亚洲JLZZJLZZ少妇| 亚洲宅男天堂在线观看无病毒| 免费播放在线日本感人片| 亚洲第一页在线观看| 毛片a级毛片免费观看免下载| 亚洲AV无码精品国产成人| 亚洲午夜福利精品无码| 男人j进入女人j内部免费网站| 亚洲精品福利在线观看| 午夜一级免费视频| 亚洲精品黄色视频在线观看免费资源 | 日本久久久免费高清| 免费无码午夜福利片 | 亚洲AV无码成人精品区日韩| 亚洲精品成人网久久久久久| 免费成人在线视频观看| 亚洲精品中文字幕无乱码麻豆| 免费一级毛片正在播放| 日本免费人成网ww555在线 | 亚洲国产成人精品无码一区二区| 日韩免费在线观看| 免费h视频在线观看| 亚洲欧美国产国产综合一区| 国产成人亚洲综合| AV大片在线无码永久免费| 免费激情网站国产高清第一页|