• <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>

            山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

            Blog @ Blog

            當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見。 -- 聶魯達(dá)

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            BBS

            Blog

            Web

            最新評(píng)論

            用SQL創(chuàng)建數(shù)據(jù)庫

            首先說說怎么用SQL語句創(chuàng)建數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫的語句有如下幾種:  
               
            1CREATE TABLE(創(chuàng)建新表)  
               
            2CREATE INDEX(增加索引)  
               
            3DROP INDEX(刪除索引)  
               
            4CONSTRAINT(約束語句)  
               
            5ALTER TABLE(修改表)  
               
            6DROP TABLE(刪除表)  

            CREATE TABLE語句:  
            在數(shù)據(jù)庫中生成新表,表中字段的類型可以為:
            INTEGER(整型)、LONG(長(zhǎng)整型)、 SINGLE(單精度浮點(diǎn)數(shù))、DOUBLE(雙精度浮點(diǎn)數(shù))、DATETIME(日期型,也可以寫成DATE)、BIT(布爾型)、 TEXT(字符串型,最大255個(gè)字節(jié))、MEMO(字符串型,最大可達(dá)1.2G字節(jié))、 COUNTER(自動(dòng)遞增長(zhǎng)整型,可確定記錄的唯一性)、CURRENCY(貨幣型,精確到小數(shù)點(diǎn)左邊15位,右邊4位)、 BINARY(字節(jié)型,最大255個(gè))、LONGBINARY(用于OLE對(duì)象)、GUID(全局唯一標(biāo)識(shí)符)。   
            生成表NewTable,該表有文本字段Field1和整型字段Field2,表名和字段名可以隨便你取,不區(qū)分大小寫,但是,有些保留字不能用作表名字段名,比如Number   
            CREATE TABLE NewTable(Field1 TEXT(30), Field2 INTEGER);   
            CREATE INDEX語句:  
            INDEX是為了加快查找記錄的速度,或者是為了增加字段約束關(guān)系而設(shè)置的。   
            創(chuàng)建索引語句執(zhí)行前表中可以有記錄,但存在的記錄必須滿足該索引語句的約束關(guān)系,否則語句不能執(zhí)行,另外要注意的是在同一個(gè)數(shù)據(jù)庫中(而不僅僅是在同一個(gè)表中),索引名不能相同,否則語句也會(huì)失敗。   
            生成字段Field1的索引字段NewIndex,兩條語句作用相同  
            生成后Field1字段可以有相同的值,可以有空值(
            NULL)   
            CREATE INDEX NewIndex ON NewTable (Field1);  
            CREATE INDEX NewIndex ON NewTable (Field1) WITH IGNORE NULL;  

            生成字段Field1的索引字段NewIndex,注意,每個(gè)表里只能有一個(gè)主索引(
            PRIMARY)。生成后Field1字段不能有相同的值,不能有空值(當(dāng)然,如果是TEXT類型,可以有一個(gè)空串,但是空串不是空值)   
            CREATE INDEX NewIndex ON NewTable(Field1) WITH PRIMARY;  

            字段Field1不能有相同的值,但可以有空值(兩個(gè)空值不算相同的值)   
            CREATE UNIQUE INDEX NewIndex ON NewTable(Field1);  

            字段Field1可以有相同的值,但不能有空值   
            CREATE INDEX NewIndex ON NewTable(Field2) WITH DISALLOW NULL  

            可以在索引語句中加入ASC(升序)或DESC(降序)來控制記錄排列順序如果不使用順序字,SQL則默認(rèn)使用ASC順序   
            CREATE INDEX NewIndex ON NewTable(Field1 ASC, Field2 DESC);   
            DROP INDEX語句:  
            刪除表NewTable中的索引NewIndex,語句執(zhí)行前索引NewIndex必須存在   
            DROP INDEX NewIndex ON NewTable;  

            CONSTRAINT語句:  
            CONSTRAINT子句用于創(chuàng)建數(shù)據(jù)庫完整性的索引,它和INDEX語句作用一樣,有些地方可以互相替代,它可以使用PRIMARY 
            KEY(主關(guān)鍵字),UNIQUE(唯一)和FOREIGN KEY(外部關(guān)鍵字),和INDEX相比不能使用IGNOR NULL和DISALLOW NULL,但多了FOREIGN KEY(這也是它最強(qiáng)大的地方)。另外, CONSTRAINT語句必須和CREATE TABLE或ALTER TABLE語句一起使用。   
            生成表NewTable,主關(guān)鍵字段是Field1,主索引是NewPK   
            CREATE TABLE NewTable(Field1 LONG CONSTRAINT NewPK PRIMARY KEY, Field2 MEMO, Field3 DATETIME);  


            生成索引為NewUK的表NewTable,F(xiàn)ield1不能有相同值,可以有空值   
            CREATE TABLE NewTable(Field1 INTEGER CONSTRAINT NewUK UNIQUE);  


            生成多列的主索引,兩條記錄的Field1和Field2不能全部相同,也不能為空值   
            CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewPK PRIMARY KEY(Field1, Field2));  


            生成多列的UNIQUE索引,兩條記錄的Field1和Field2不能全部相同注意,如果兩條記錄其中一個(gè)字段相同而另一個(gè)字段都是空值,那也算兩個(gè)字段不同   
            CREATE TABLE NewTable(Field1 INTEGER, Field2 CURRENCY, CONSTRAINT NewUK UNIQUE(Field1, Field2));   
            要在幾個(gè)不同的表之間建立聯(lián)系,就要使用FOREIGN 
            KEY REFERENCES子句,它可以限定某個(gè)表的字段內(nèi)容必須存在于另外一個(gè)表中。   
            第一個(gè)例子:  
            首先,生成主關(guān)鍵字段為Field1的表NewTable1   
            CREATE TABLE NewTable1(Field1 INTEGER CONSTRAINT NewPK PRIMARY KEY);  


            然后,再生成外部索引,兩個(gè)表的Field1必須類型相同,并且第一個(gè)表的Field1是主關(guān)鍵字段或UNIQUE字段。生成外部索引后,表NewTable2要增加記錄,它的Field1字段值必須已經(jīng)存在于表NewTable1的Field1字段中。   
            下面兩條語句作用相同,因?yàn)镕ield1是NewTable1的主關(guān)鍵字段,可以省略不寫   
            CREATE TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1);  
            CREATE TABLE NewTable2(Field1 INTEGER CONSTRAINT NewFK REFERENCES NewTable1(Field1));  


            第二個(gè)例子:  
            首先,生成主關(guān)鍵字段為Field1和Field2的表NewTable1   
            CREATE TABLE NewTable1(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewPK PRIMARY KEY(Field1, Field2));  


            然后,生成多列外部索引   
            CREATE TABLE NewTable2(Field1 INTEGER, Field2 TEXT(20), CONSTRAINT NewFK FOREIGN KEY(Field1, Field2) REFERENCES NewTable1(Field1, Field2));   
            ALTER TABLE語句:  
            在表生成之后,如果想修改表的結(jié)構(gòu),就使用這條語句,它能增加或刪除字段以及約束關(guān)系。   
            給表NewTable增加日期型字段Field3,語句執(zhí)行前表NewTalbe必須沒有字段Field3   
            ALTER TABLE NewTable ADD COLUMN Field3 DATE;  

            刪除表NewTable中的字段Field3,語句執(zhí)行前字段Field3必須存在表NewTable中   
            ALTER TABLE NewTable DROP COLUMN Field3;  

            給表NewTable增加NewUK約束關(guān)系   
            ALTER TABLE NewTable ADD CONSTRAINT NewUK UNIQUE(Field1,Field2);  

            刪除表NewTable的NewUK約束關(guān)系   
            ALTER TABLE NewTable DROP CONSTRAINT NewUK;   
            DROP TABLE語句:  
            刪除表NewTable,語句執(zhí)行前表NewTable必須存在   
            DROP TABLE NewTable; 

            posted on 2008-06-16 21:00 isabc 閱讀(429) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫

            評(píng)論

            # re: 用SQL創(chuàng)建數(shù)據(jù)庫 2008-06-16 21:51 sql

            W3School:http://www.w3school.com.cn/sql/sql_create.asp  回復(fù)  更多評(píng)論   

            廣告信息(免費(fèi)廣告聯(lián)系)

            中文版MSDN:
            歡迎體驗(yàn)

            亚洲国产日韩综合久久精品| 亚洲精品WWW久久久久久| 久久精品国产精品国产精品污| 久久久久亚洲AV无码麻豆| 国产精品毛片久久久久久久 | 伊人久久成人成综合网222| 99久久做夜夜爱天天做精品| 狠狠88综合久久久久综合网 | 久久久久se色偷偷亚洲精品av| 久久久久亚洲av无码专区喷水| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲国产综合久久天堂| 久久精品欧美日韩精品| 久久久久国产精品三级网| 色婷婷综合久久久久中文一区二区| 久久久国产精品福利免费 | 久久精品国产亚洲AV无码偷窥| 精品久久久久久久久久中文字幕 | 亚洲va中文字幕无码久久| 国产精品99久久久久久董美香| 亚洲精品美女久久久久99| 久久久久久国产精品无码下载| 99久久无色码中文字幕| 久久精品国产亚洲AV久| 久久久精品国产亚洲成人满18免费网站| 亚洲中文字幕无码一久久区| 色诱久久av| 色播久久人人爽人人爽人人片aV| 亚洲精品国产成人99久久| 精品午夜久久福利大片| 久久久无码一区二区三区| 国产偷久久久精品专区| 久久久久久精品无码人妻| 久久强奷乱码老熟女网站| 狠狠色丁香婷婷久久综合五月| 亚洲国产成人精品久久久国产成人一区二区三区综| 日韩精品久久久久久免费| 色欲久久久天天天综合网| 亚洲精品乱码久久久久久| 久久亚洲AV无码精品色午夜 | 久久婷婷五月综合色奶水99啪|