• <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:
            歡迎體驗

            久久久久亚洲AV无码去区首| 亚洲伊人久久综合影院| 99久久综合国产精品免费| 久久99九九国产免费看小说| 伊人久久大香线蕉综合网站| 久久亚洲AV无码精品色午夜麻豆 | 午夜精品久久久久久毛片| 久久久久国产亚洲AV麻豆| 久久天天躁狠狠躁夜夜躁2014| 色偷偷久久一区二区三区| 国产精品久久99| 色天使久久综合网天天| 2022年国产精品久久久久 | 一本色道久久HEZYO无码| 国产亚洲精品久久久久秋霞| 99久久免费国产特黄| 久久久黄色大片| 久久无码av三级| 国产成年无码久久久免费| 久久综合中文字幕| 99久久99久久| 少妇人妻综合久久中文字幕| 久久精品国产一区二区三区日韩| 中文字幕乱码久久午夜| 午夜精品久久久内射近拍高清| 国产三级久久久精品麻豆三级| 久久久久久国产精品无码下载 | 久久这里有精品视频| 亚洲国产二区三区久久| 久久精品国产99久久无毒不卡| 国产美女亚洲精品久久久综合 | 久久―日本道色综合久久| 久久人人爽人人爽人人片AV高清 | 日日狠狠久久偷偷色综合96蜜桃| 久久久久久人妻无码| 香港aa三级久久三级老师2021国产三级精品三级在| 久久精品aⅴ无码中文字字幕不卡| 国产精品久久久99| 婷婷综合久久中文字幕| 狠狠88综合久久久久综合网| 久久婷婷成人综合色综合|