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

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

            Blog @ Blog

            當華美的葉片落盡,生命的脈絡才歷歷可見。 -- 聶魯達

            常用鏈接

            統計

            積分與排名

            BBS

            Blog

            Web

            最新評論

            用SQL創建數據庫

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

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

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

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

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

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

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


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


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


            第二個例子:  
            首先,生成主關鍵字段為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語句:  
            在表生成之后,如果想修改表的結構,就使用這條語句,它能增加或刪除字段以及約束關系。   
            給表NewTable增加日期型字段Field3,語句執行前表NewTalbe必須沒有字段Field3   
            ALTER TABLE NewTable ADD COLUMN Field3 DATE;  

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

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

            刪除表NewTable的NewUK約束關系   
            ALTER TABLE NewTable DROP CONSTRAINT NewUK;   
            DROP TABLE語句:  
            刪除表NewTable,語句執行前表NewTable必須存在   
            DROP TABLE NewTable; 

            posted on 2008-06-16 21:00 isabc 閱讀(426) 評論(1)  編輯 收藏 引用 所屬分類: 數據庫

            評論

            # re: 用SQL創建數據庫 2008-06-16 21:51 sql

            W3School:http://www.w3school.com.cn/sql/sql_create.asp  回復  更多評論   

            廣告信息(免費廣告聯系)

            中文版MSDN:
            歡迎體驗

            99久久精品无码一区二区毛片 | 久久久久久久91精品免费观看| 囯产精品久久久久久久久蜜桃| 久久国产午夜精品一区二区三区| 国产综合久久久久| 亚洲午夜久久久影院| 亚洲国产另类久久久精品| 久久婷婷人人澡人人爽人人爱| 久久精品综合一区二区三区| 国产农村妇女毛片精品久久| 麻豆国内精品久久久久久| 久久国产免费直播| 亚洲精品无码久久久| 久久久国产精华液| 国产精品久久久亚洲| 青青国产成人久久91网| 久久亚洲精品无码播放| 少妇熟女久久综合网色欲| 亚洲精品无码久久久影院相关影片| 色偷偷偷久久伊人大杳蕉| 久久精品人人做人人妻人人玩 | 91精品久久久久久无码| 亚洲国产精品久久久久| 久久久久久毛片免费看| 99久久国产综合精品女同图片| 奇米综合四色77777久久| 久久久九九有精品国产| 久久久这里有精品中文字幕| 模特私拍国产精品久久| 国产精品99久久精品| 久久黄视频| 久久久精品2019免费观看| 99久久99久久精品国产| 久久精品国产99国产精品导航 | 久久亚洲国产精品123区| 无码国内精品久久人妻| 欧美精品一区二区久久| 99久久国产热无码精品免费| 久久人妻少妇嫩草AV蜜桃| 91精品国产9l久久久久| 久久人与动人物a级毛片|