亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

SQL語句---創建表

2024-07-21 02:45:03
字體:
來源:轉載
供稿:網友
1.定義基本表語句

    語法:

    USE 數據庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT'默認值',

                                                         列名 類型(大小) DEFAULT'默認值',   

                                                         列名 類型(大小) DEFAULT'默認值',

                                                         ... ...);

    注:綠色部份是可以省略的。

    例:CREATE TABLE S (SNO char(2), SNAME char(8), AGE decimal(2), SEX char(2) DEFAULT'男', DEPT char(2));

          創建了一個五列的表,其中第四列的默認值為‘男’。


--------------------------------------------------------------------------------


2.定義完整性約束

    語法:

    USE 數據庫名 CREATE TABLE 表名 (列名 類型(大小) DEFAULT'默認值' CONSTRAINT 約束名 約束定義,

                                                         列名 類型(大小) DEFAULT'默認值' CONSTRAINT 約束名 約束定義,   

                                                         列名 類型(大小) DEFAULT'默認值' CONSTRAINT 約束名 約束定義,

                                                         ... ...);

    注:(1) 綠色部份是可以省略的。

          (2) 一個列是可以有多個約束的。

    約束定義:

    (1)NULL | NOT NULL  用于定義列的空值約束。(定義列)  (下面的藍色部份是單選其中之一)

            語法:CONSTRAINT 約束名 NULL | NOT NULL


            注意:

                    a. NOT NULL 約束強制列不接受 NULL 值。

                    b. NOT NULL 約束強制字段始終包含值。這意味著,如果不向字段添加值,就無法插入新紀錄或者更新記錄。

            例:

                    下面的 SQL 語句強制 "Id_P" 列和 "LastName" 列不接受 NULL 值:

                     CREATE TABLE Persons
                     (
                     Id_P int NOT NULL,
                     LastName varchar(255) NOT NULL,
                     FirstName varchar(255),
                     Address varchar(255),
                     City varchar(255)
                     )

    (2)UNIQUE  約束唯一標識數據庫表中的每條記錄。(即可以定義列也可能定義表)

            語法:CONSTRAINT 約束名 UNIQUE (列名, 列名, ... ...);

            說明:用于指定基本表在某一個列或多個列的組合上取值必須唯一。定義了UNIQUE約束的那些列稱為唯一鍵。如果為基本表的革一列或多個列的組合指定了UNIQUE約束,則系統將為這些列建立唯一索引,從而保證在表中的任意兩行記錄在指定的列或列組合上不能取同樣的值。

            注意:

                    a. UNIQUE 約束唯一標識數據庫表中的每條記錄。

                    b. UNIQUE 和 PRIMARY KEY 約束均為列或列集合提供了唯一性的保證。

                    c. PRIMARY KEY 擁有自動定義的 UNIQUE 約束。

                    d.請注意,每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束。

           例:

                 下面的 SQL 在 "Persons" 表創建時在 "Id_P" 列創建 UNIQUE 約束:

               MySQL:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 UNIQUE (Id_P)
                 )

              SQL Server / Oracle / MS access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL UNIQUE,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255)
                  )

                 如果需要命名 UNIQUE 約束,以及為多個列定義 UNIQUE 約束,請使用下面的 SQL 語法:

              MySQL / SQL Server / Oracle / MS Access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
                 )


    (3)PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。(即可以定義列也可能定義表)

            語法:CONSTRAINT 約束名 PRIMARY KEY (列名, 列名, ... ...);

            說明:用于定義基本表的主鍵。與UNIQUE約束類似,PRIMARY KEY 約束也是通過建立唯一索引來保證基本表在主鍵列(某一個列或多個列的組合)上取值的唯一性。然而它們之間也存在著很大差別:在一個基本表中只能定義一個 PRIMARY KEY 約束,卻能定義多個UNIQUE約束。如果為基本表的某一個列或多個列的組合指定了 PRIMARY KEY 約束,那么其中在任何一個列都不能出現空值;而 UNIQUE 約束允許出現空值。

            注意:

                    a. 主鍵必須包含唯一的值。

                    b. 主鍵列不能包含 NULL 值。

                    c. 每個表應該都一個主鍵,并且每個表只能有一個主鍵。

            例:

                 下面的 SQL 在 "Persons" 表創建時在 "Id_P" 列創建 PRIMARY KEY 約束:

              MySQL:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 PRIMARY KEY (Id_P)
                 )

              SQL Server / Oracle / MS Access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL PRIMARY KEY,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255)
                 )

                 如果需要命名 PRIMARY KEY 約束,以及為多個列定義 PRIMARY KEY 約束,請使用下面的 SQL 語法:

              MySQL / SQL Server / Oracle / MS Access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)
                 )

    (4)FOREIGN KEY 外鍵 (即可以定義列也可能定義表)

            語法:CONSTRAINT 約束名 FOREIGN KEY (列名, 列名, ... ...) REFERENCES (列名, 列名, ... ...) ;

            說明:指定某一個列或多個列的組合作為外部鍵,并在外部鍵和它所引用的主鍵或唯一鍵之間建立聯系。在這種聯系中,包含外部鍵的基本表稱為從表,包含外部鍵引用的主鍵或唯一鍵的表稱為主表。一旦為一列或列的組合定義了 FOREIGN KEY 約束,系統將保證從表在外部鍵上的取值要么是主表中某一個主鍵值或唯一鍵值,要么取空值。

            注意:

                    a.在REFERENCES 中引用的列必須和 FOREIGN KEY 的外部鍵列一一對應,即列數目相等并且相應列的數據類型相同。

            例:

                 下面的 SQL 在 "Orders" 表創建時為 "Id_P" 列創建 FOREIGN KEY:

                 MySQL:
                 CREATE TABLE Orders
                 (
                 O_Id int NOT NULL,
                 OrderNo int NOT NULL,
                 Id_P int,
                 PRIMARY KEY (O_Id),
                 FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
                 )
                 SQL Server / Oracle / MS Access:
                 CREATE TABLE Orders
                 (
                 O_Id int NOT NULL PRIMARY KEY,
                 OrderNo int NOT NULL,
                 Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
                 )
                 如果需要命名 FOREIGN KEY 約束,以及為多個列定義 FOREIGN KEY 約束,請使用下面的 SQL 語法:

                 MySQL / SQL Server / Oracle / MS Access:
                 CREATE TABLE Orders
                 (
                 O_Id int NOT NULL,
                 OrderNo int NOT NULL,
                 Id_P int,
                 PRIMARY KEY (O_Id),
                 CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
                 )

    (5)CHECK 約束用于限制列中的值的范圍。 (即可以定義列也可能定義表)

            語法:CONSTRAINT 約束名 CHECK (約束條件);

            說明:用于指定基本表中的每一條記錄必須滿足的條件,可以對基本表在各個列上的值做進一步的約束,如成績列的取值既不能大于100,也不能小于0。

            注意:

                    a. 如果對單個列定義 CHECK 約束,那么該列只允許特定的值。

                    b. 如果對一個表定義 CHECK 約束,那么此約束會在特定的列中對值進行限制。

            例:

          下面的 SQL 在 "Persons" 表創建時為 "Id_P" 列創建 CHECK 約束。CHECK 約束規定 "Id_P" 列必須只包含大于 0 的整數。

                 My SQL:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 CHECK (Id_P>0)
                 )
                 SQL Server / Oracle / MS Access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL CHECK (Id_P>0),
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255)
                 )
                 如果需要命名 CHECK 約束,以及為多個列定義 CHECK 約束,請使用下面的 SQL 語法:

                 MySQL / SQL Server / Oracle / MS Access:
                 CREATE TABLE Persons
                 (
                 Id_P int NOT NULL,
                 LastName varchar(255) NOT NULL,
                 FirstName varchar(255),
                 Address varchar(255),
                 City varchar(255),
                 CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
                 )


--------------------------------------------------------------------------------

    例:USE lijintao CREATE TABLE S2

         (SNO CHAR(2) CONSTRAINT S_PRIM PRIMARY KEY,
          SN CHAR(8) CONSTRAINT SN_CONS NOT NULL,
          AGE NUMERIC(2) CONSTRAINT AGE_CONS NOT NULL CONSTRAINT AGE_CHK CHECK(AGE BETWEEN 15 AND 45),
          SEX CHAR(2) DEFAULT '男' CONSTRAINT SEX_CHK CHECK(SEX = '男' OR SEX = '女'),
          DEPT CHAR(2) CONSTRAINT DEPT_CONS NOT NULL);



本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/Qingqinglanghua/archive/2009/12/21/5051563.aspx
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区免费视频| 亚洲人午夜精品| 久久综合伊人77777蜜臀| 中文字幕欧美精品日韩中文字幕| 欧美精品在线免费播放| 久久亚洲精品网站| 国产成人精品999| 午夜精品福利电影| 欧美日韩亚洲一区二区三区| 91国内免费在线视频| 日韩在线视频免费观看高清中文| 欧美www在线| 国产亚洲一区二区精品| 欧美香蕉大胸在线视频观看| 久久久亚洲天堂| 欧美性猛交xxxx乱大交极品| 久久影视电视剧凤归四时歌| 精品视频久久久| 精品偷拍一区二区三区在线看| 亚洲老司机av| 亚洲在线第一页| 成人av番号网| 国产97人人超碰caoprom| 亚洲欧美国产日韩天堂区| 日韩中文字幕网站| 高清一区二区三区四区五区| 国产精品久久久久久亚洲影视| 日韩在线观看免费全集电视剧网站| 色中色综合影院手机版在线观看| 日韩在线免费观看视频| 成人福利视频在线观看| 2020国产精品视频| 清纯唯美亚洲综合| 国产91精品不卡视频| 国产视频亚洲精品| 国产精品男女猛烈高潮激情| 国产精品视频一区二区高潮| 日产精品久久久一区二区福利| 国产91精品视频在线观看| 欧美另类极品videosbest最新版本| 国产精品久久久久久久久久三级| 91高潮精品免费porn| 久久人人爽人人爽人人片av高清| 狠狠爱在线视频一区| 国内精品视频久久| 亚洲一区二区福利| 欧美电影在线观看高清| 国产精品对白刺激| 国产精品久久久久久av福利软件| 少妇高潮久久77777| 亚洲视频第一页| 欧美视频在线观看 亚洲欧| 欧美午夜片欧美片在线观看| 亚洲影院色在线观看免费| 国产日本欧美一区| 亚洲国产日韩欧美在线99| 成人黄色生活片| 亚洲国产天堂久久国产91| 人人爽久久涩噜噜噜网站| 国产一区二区三区直播精品电影| 日韩精品在线观看网站| 在线观看久久av| 欧美性生交xxxxxdddd| 国产精品一区二区性色av| 欧美成人免费在线视频| 国产精品三级美女白浆呻吟| 成人国产精品av| 久久久久亚洲精品| 欧美大片免费观看在线观看网站推荐| 日韩欧美在线视频日韩欧美在线视频| 久久久久久免费精品| 青青草国产精品一区二区| 亚洲欧美日韩一区二区在线| 不卡av在线播放| 91牛牛免费视频| 91福利视频网| 欧美老女人性生活| 国产精品日日摸夜夜添夜夜av| 最新国产成人av网站网址麻豆| 色婷婷亚洲mv天堂mv在影片| 久久久久久久久电影| 亚洲aⅴ男人的天堂在线观看| 日韩av在线免费| 亚洲成人激情在线观看| 在线播放国产一区二区三区| 在线观看日韩专区| xxxxx91麻豆| 97视频在线观看视频免费视频| 亚洲国产成人av在线| 91久久精品美女| 日韩精品免费视频| 亚洲精品电影在线观看| 国产精品一区二区三区成人| 日韩成人中文电影| 国语自产精品视频在免费| 久久黄色av网站| 欧美精品福利视频| 国产精品亚洲激情| 久久成人精品一区二区三区| www国产91| 欧美日韩精品在线观看| 亚洲国产成人一区| 亚洲美女久久久| 91日韩在线视频| 中文字幕亚洲二区| 国产精品主播视频| 欧美国产日韩一区二区| 97人洗澡人人免费公开视频碰碰碰| 中文字幕亚洲自拍| 神马国产精品影院av| 亚洲精品ady| 亚洲欧美日韩区| 中文字幕欧美日韩在线| 欧美夫妻性生活xx| 久久免费视频网| 欧美日韩国产精品一区二区三区四区| 亚洲精品自产拍| 97精品国产97久久久久久| 国产精品日韩欧美| 91色精品视频在线| 日本成人黄色片| 国产精品欧美日韩一区二区| 亚洲精品综合久久中文字幕| 国产精品99久久久久久久久久久久| 日韩专区中文字幕| 亚洲欧美999| 欧美日韩精品二区| 欧美日韩性视频在线| 一本色道久久综合亚洲精品小说| 欧美激情性做爰免费视频| 久久精品夜夜夜夜夜久久| 国产视频精品一区二区三区| 大胆欧美人体视频| www.欧美精品| 国产精品视频网址| 亚洲精品视频网上网址在线观看| 亚洲第一男人av| 国产精品美女主播在线观看纯欲| 中文字幕日韩在线视频| 亚洲女人天堂视频| 成人自拍性视频| 欧美性极品少妇精品网站| 欧美激情精品久久久久| 成人免费在线视频网址| 国产精品久久久久久搜索| 亚洲999一在线观看www| 亚洲自拍小视频免费观看| 欧美激情aaaa| 精品视频在线导航| 国产日韩欧美夫妻视频在线观看| 亚洲精品久久久久中文字幕欢迎你| 综合136福利视频在线| 日韩美女写真福利在线观看| 国产精品青青在线观看爽香蕉| 日韩av在线免费观看| 揄拍成人国产精品视频| 国产精品一区二区三区免费视频| 亚洲成avwww人| 国产欧美一区二区三区视频| 亚洲国产成人爱av在线播放| 在线观看欧美视频| 国产精品久久久久久av福利软件| 欧美中在线观看| 麻豆精品精华液|