數(shù)據(jù)庫是現(xiàn)代信息化社會的重要組成部分。在數(shù)據(jù)庫中,表(Table)是數(shù)據(jù)存儲的基本單位。在DB2和MySQL這兩個數(shù)據(jù)庫中,建表語句是創(chuàng)建表的基本方法。下面將分別介紹DB2和MySQL中的建表語句。
DB2建表語句
CREATE TABLE 表名 ( 列名1 數(shù)據(jù)類型 [CONSTRAINT 列名1約束條件], 列名2 數(shù)據(jù)類型 [CONSTRAINT 列名2約束條件], ... 列名n 數(shù)據(jù)類型 [CONSTRAINT 列名n約束條件] );
其中,“CREATE TABLE”表示創(chuàng)建表的SQL語句;“表名”表示要創(chuàng)建的表的名稱。方括號里的內(nèi)容為可選項,不寫則表示該列沒有約束條件。例如:創(chuàng)建一個名為“student”的表,其中包含學(xué)號、姓名、性別和年齡四個字段,其中學(xué)號為主鍵,可以使用以下SQL語句:
CREATE TABLE student( Sno CHAR(10) NOT NULL PRIMARY KEY, Sname VARCHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN ('男','女')), Sage INTEGER CHECK(Sage>=0 AND Sage<=200) );
MySQL建表語句
CREATE TABLE 表名 ( 列名1 數(shù)據(jù)類型 [列名1約束條件], 列名2 數(shù)據(jù)類型 [列名2約束條件], ... 列名n 數(shù)據(jù)類型 [列名n約束條件] )ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中,“ENGINE=InnoDB”表示使用InnoDB存儲引擎,這是MySQL支持的一種存儲引擎;“DEFAULT CHARSET=utf8”表示在創(chuàng)建表時使用utf8字符集。例如:創(chuàng)建一個名為“student”的表,其中包含學(xué)號、姓名、性別和年齡四個字段,其中學(xué)號為主鍵,可以使用以下SQL語句:
CREATE TABLE student( Sno CHAR(10) NOT NULL, Sname VARCHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN ('男','女')), Sage INTEGER CHECK(Sage>=0 AND Sage<=200), PRIMARY KEY (Sno) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
通過以上介紹,我們可以看出DB2和MySQL建表語句的基本格式相似,但是在具體細(xì)節(jié)上還是有些差異的。因此,在使用這兩種數(shù)據(jù)庫時,需要根據(jù)實際情況,選擇合適的建表語句,并注意其特點和約束條件。