• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            醬壇子

            專注C++技術(shù) 在這里寫下自己的學(xué)習(xí)心得 感悟 和大家討論 共同進(jìn)步(歡迎批評(píng)!!!)

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              66 Posts :: 16 Stories :: 236 Comments :: 0 Trackbacks

            公告

            王一偉 湖南商學(xué)院畢業(yè) 電子信息工程專業(yè)

            常用鏈接

            留言簿(19)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            積分與排名

            • 積分 - 388625
            • 排名 - 64

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

             

             SQL參考

            一、資料定義 ddl(data definition language)
            資料定語言是指對(duì)資料的格式和形態(tài)下定義的語言,他是每個(gè)資料庫(kù)要建立時(shí)候時(shí)首先
            要面對(duì)的,舉凡資料分哪些表格關(guān)系、表格內(nèi)的有什麼欄位主鍵、表格和表格之間互相
            參考的關(guān)系等等,都是在開始的時(shí)候所必須規(guī)劃好的。

            1、建表格:
            create table table_name(
            column1 datatype [not null] [not null primary key],
            column2 datatype [not null],
            ...)
            說明: 
            datatype --是資料的格式,詳見表。
            nut null --可不可以允許資料有空的(尚未有資料填入)。
            primary key --是本表的主鍵。

            2、更改表格 
            alter table table_name
            add column column_name datatype
            說明:增加一個(gè)欄位(沒有刪除某個(gè)欄位的語法。
            alter table table_name
            add primary key (column_name)
            說明:更改表得的定義把某個(gè)欄位設(shè)為主鍵。
            alter table table_name
            drop primary key (column_name)
            說明:把主鍵的定義刪除。

            3、建立索引 
            create index index_name on table_name (column_name)
            說明:對(duì)某個(gè)表格的欄位建立索引以增加查詢時(shí)的速度。

            4、刪除 
            drop table_name
            drop index_name

            二、的資料形態(tài) datatypes
            smallint
            16 位元的整數(shù)。
            interger
            32 位元的整數(shù)。
            decimal(p,s)
            p 精確值和 s 大小的十進(jìn)位整數(shù),精確值p是指全部有幾個(gè)數(shù)(digits)大小值,s是指小
            數(shù)
            點(diǎn)後有幾位數(shù)。如果沒有特別指定,則系統(tǒng)會(huì)設(shè)為 p=5; s=0 。
            float
            32位元的實(shí)數(shù)。
            double
            64位元的實(shí)數(shù)。
            char(n)
            n 長(zhǎng)度的字串,n不能超過 254。
            varchar(n)
            長(zhǎng)度不固定且其最大長(zhǎng)度為 n 的字串,n不能超過 4000。
            graphic(n)
            和 char(n) 一樣,不過其單位是兩個(gè)字元 double-bytes, n不能超過127。這個(gè)形態(tài)是

            了支援兩個(gè)字元長(zhǎng)度的字體,例如中文字。
            vargraphic(n)
            可變長(zhǎng)度且其最大長(zhǎng)度為 n 的雙字元字串,n不能超過 2000。
            date
            包含了 年份、月份、日期。
            time
            包含了 小時(shí)、分鐘、秒。
            timestamp
            包含了 年、月、日、時(shí)、分、秒、千分之一秒。

            三、資料操作 dml (data manipulation language)
            資料定義好之後接下來的就是資料的操作。資料的操作不外乎增加資料(insert)、查詢
            資料(query)、更改資料(update) 、刪除資料(delete)四種模式,以下分 別介紹
            他們的語法:

            1、增加資料:
            insert into table_name (column1,column2,...)
            values ( value1,value2, ...)
            說明:
            1.若沒有指定column 系統(tǒng)則會(huì)按表格內(nèi)的欄位順序填入資料。
            2.欄位的資料形態(tài)和所填入的資料必須吻合。
            3.table_name 也可以是景觀 view_name。

            insert into table_name (column1,column2,...)
            select columnx,columny,... from another_table
            說明:也可以經(jīng)過一個(gè)子查詢(subquery)把別的表格的資料填入。

            2、查詢資料:
            基本查詢
            select column1,columns2,...
            from table_name
            說明:把table_name 的特定欄位資料全部列出來
            select *
            from table_name
            where column1 = xxx
            [and column2 > yyy] [or column3 <> zzz]
            說明:
            1.'*'表示全部的欄位都列出來。
            2.where 之後是接條件式,把符合條件的資料列出來。

            select column1,column2
            from table_name
            order by column2 [desc]
            說明:order by 是指定以某個(gè)欄位做排序,[desc]是指從大到小排列,若沒有指明,則
            是從小到大
            排列

            組合查詢
            組合查詢是指所查詢得資料來源并不只有單一的表格,而是聯(lián)合一個(gè)以上的
            表格才能夠得到結(jié)果的。
            select *
            from table1,table2
            where table1.colum1=table2.column1
            說明:
            1.查詢兩個(gè)表格中其中 column1 值相同的資料。
            2.當(dāng)然兩個(gè)表格相互比較的欄位,其資料形態(tài)必須相同。
            3.一個(gè)復(fù)雜的查詢其動(dòng)用到的表格可能會(huì)很多個(gè)。

            整合性的查詢:
            select count (*)
            from table_name
            where column_name = xxx
            說明:
            查詢符合條件的資料共有幾筆。
            select sum(column1)
            from table_name
            說明:
            1.計(jì)算出總和,所選的欄位必須是可數(shù)的數(shù)字形態(tài)。
            2.除此以外還有 avg() 是計(jì)算平均、max()、min()計(jì)算最大最小值的整合性查詢。
            select column1,avg(column2)
            from table_name
            group by column1
            having avg(column2) > xxx
            說明:
            1.group by: 以column1 為一組計(jì)算 column2 的平均值必須和 avg、sum等整合性查詢
            的關(guān)鍵字
            一起使用。
            2.having : 必須和 group by 一起使用作為整合性的限制。

            復(fù)合性的查詢
            select *
            from table_name1
            where exists (
            select *
            from table_name2
            where conditions )
            說明:
            1.where 的 conditions 可以是另外一個(gè)的 query。
            2.exists 在此是指存在與否。
            select *
            from table_name1
            where column1 in (
            select column1
            from table_name2
            where conditions )
            說明: 
            1. in 後面接的是一個(gè)集合,表示column1 存在集合里面。
            2. select 出來的資料形態(tài)必須符合 column1。

            其他查詢
            select *
            from table_name1
            where column1 like 'x%'
            說明:like 必須和後面的'x%' 相呼應(yīng)表示以 x為開頭的字串。
            select *
            from table_name1
            where column1 in ('xxx','yyy',..)
            說明:in 後面接的是一個(gè)集合,表示column1 存在集合里面。
            select *
            from table_name1
            where column1 between xx and yy
            說明:between 表示 column1 的值介於 xx 和 yy 之間。

            3、更改資料:
            update table_name
            set column1='xxx'
            where conditoins
            說明:
            1.更改某個(gè)欄位設(shè)定其值為'xxx'。
            2.conditions 是所要符合的條件、若沒有 where 則整個(gè) table 的那個(gè)欄位都會(huì)全部被
            更改。

            4、刪除資料:
            delete from table_name
            where conditions
            說明:刪除符合條件的資料。

            說明:關(guān)于where條件后面如果包含有日期的比較,不同數(shù)據(jù)庫(kù)有不同的表達(dá)式。具體如
            下:
            (1)如果是access數(shù)據(jù)庫(kù),則為:where mydate>#2000-01-01#
            (2)如果是oracle數(shù)據(jù)庫(kù),則為:where mydate>cast('2000-01-01' as date)
            或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
            在delphi中寫成:
            thedate='2000-01-01';
            query1.sql.add('select * from abc where mydate>cast('+''''+thedate+''''+' as
            date)');

            如果比較日期時(shí)間型,則為:
            where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')

             

                                                             

            posted on 2007-05-27 00:23 @王一偉 閱讀(1027) 評(píng)論(1)  編輯 收藏 引用

            Feedback

            # re: SQL參考 2007-11-30 17:16 季岳
            這些用得挺多的  回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久精品国产亚洲AV蜜臀色欲| 人妻精品久久久久中文字幕| 国内精品九九久久久精品| 亚洲午夜久久久久久久久久| 久久亚洲国产成人精品性色| 日韩欧美亚洲综合久久影院d3| 日韩电影久久久被窝网| 97久久精品国产精品青草| 中文字幕久久精品无码| 久久精品国产只有精品2020| 2021国产精品午夜久久| 久久国产一区二区| 亚洲欧美成人综合久久久| 亚洲乱亚洲乱淫久久| 欧美噜噜久久久XXX| 久久久久久久精品妇女99| 久久精品国产精品亜洲毛片| 午夜不卡久久精品无码免费| 亚洲国产天堂久久久久久| 久久se精品一区精品二区国产| 丰满少妇人妻久久久久久| 中文成人无码精品久久久不卡 | 国产精品久久久久jk制服| 久久久噜噜噜久久| 97久久精品人人澡人人爽| 国内精品久久久久影院优| 亚洲精品国产字幕久久不卡| 久久丫忘忧草产品| 中文成人久久久久影院免费观看| 久久www免费人成精品香蕉| 久久se精品一区二区| 久久福利青草精品资源站免费 | 国产成人精品久久| 中文字幕精品久久| 噜噜噜色噜噜噜久久| 热久久最新网站获取| 伊人精品久久久久7777| 亚洲欧美日韩久久精品| 久久久久亚洲AV成人网人人网站| 久久婷婷午色综合夜啪| 亚洲AV无码久久精品蜜桃|