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

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

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

    Happy New Year (*^__^*)

    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è)存儲(chǔ)過程
    DROP PROCEDURE --從數(shù)據(jù)庫中刪除存儲(chǔ)過程
    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 stock*** = ’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ù)會(huì)返回一個(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 的值

    sql中的保留字

    action add aggregate all
    alter after and as
    asc avg avg_row_length auto_increment
    between bigint bit binary
    blob bool both by
    cascade case char character
    change check checksum column
    columns comment constraint create
    cross current_date current_time current_timestamp
    data database databases date
    datetime day day_hour day_minute
    day_second dayofmonth dayofweek dayofyear
    dec decimal default delayed
    delay_key_write delete desc describe
    distinct distinctrow double drop
    end else escape escaped
    enclosed enum explain exists
    fields file first float
    float4 float8 flush foreign
    from for full function
    global grant grants group
    having heap high_priority hour
    hour_minute hour_second hosts identified
    ignore in index infile
    inner insert insert_id int
    integer interval int1 int2
    int3 int4 int8 into
    if is isam join
    key keys kill last_insert_id
    leading left length like
    lines limit load local
    lock logs long longblob
    longtext low_priority max max_rows
    match mediumblob mediumtext mediumint
    middleint min_rows minute minute_second
    modify month monthname myisam
    natural numeric no not
    null on optimize option
    optionally or order outer
    outfile pack_keys partial password
    precision primary procedure process
    processlist privileges read real
    references reload regexp rename
    replace restrict returns revoke
    rlike row rows second
    select set show shutdown
    smallint soname sql_big_tables sql_big_selects
    sql_low_priority_updates sql_log_off sql_log_update sql_select_limit
    sql_small_result sql_big_result sql_warnings straight_join
    starting status string table
    tables temporary terminated text
    then time timestamp tinyblob
    tinytext tinyint trailing to
    type use using unique
    unlock unsigned update usage
    values varchar variables varying
    varbinary with write when
    where year year_month zerofill

    posted on 2007-12-27 16:39 cyanbomb 閱讀(369) 評論(2)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

    Feedback

    # re: SQL語法大全 2007-12-31 16:54 拉拉

    請問:從表中刪除指定列,在界面的表中要立即顯示刪除,且同時(shí)數(shù)據(jù)庫中的相應(yīng)列也要?jiǎng)h除。要怎樣實(shí)現(xiàn)?  回復(fù)  更多評論   

    # re: SQL語法大全 2008-01-04 10:54 cyanbomb

    刪除列應(yīng)該為: ALTER TABLE 表名 DROP COLUMN 列名
    為什么要在編程的時(shí)候動(dòng)態(tài)刪除一列?數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的時(shí)候就應(yīng)該考慮到了吧?
    刪除一列可能造成很多后續(xù)問題,比如關(guān)聯(lián)等問題。  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产综合第一精品小说| 亚洲午夜无码久久久久小说 | 色综合久久精品亚洲国产| 日韩精品成人亚洲专区| 你懂的网址免费国产| 亚洲91精品麻豆国产系列在线| 免费无码黄网站在线观看| 三年在线观看免费观看完整版中文| 久久亚洲sm情趣捆绑调教 | 亚洲&#228;v永久无码精品天堂久久 | 久久久久亚洲精品男人的天堂| 久久国产色AV免费观看| 亚洲a∨国产av综合av下载 | 在线观看亚洲免费| 亚洲av成人无码久久精品| 全免费A级毛片免费看网站| 国产线视频精品免费观看视频| 久久亚洲国产成人影院| 亚洲国产精彩中文乱码AV| 青青青青青青久久久免费观看 | 久久亚洲中文字幕精品一区| 国产香蕉九九久久精品免费 | 毛片a级毛片免费播放下载| 巨胸狂喷奶水视频www网站免费| 亚洲第一男人天堂| 国产成人精品日本亚洲专区61| 午夜免费不卡毛片完整版| 啦啦啦完整版免费视频在线观看 | 久久久久久久99精品免费观看 | 无码精品国产一区二区三区免费 | 亚洲AV香蕉一区区二区三区| 4480yy私人影院亚洲| 亚洲三区在线观看无套内射| 四虎影在线永久免费四虎地址8848aa| 18成禁人视频免费网站| 91免费国产视频| 午夜在线免费视频 | 亚洲av成人无码久久精品| 久久亚洲精品无码播放| 国产免费观看黄AV片| 毛片免费全部免费观看|