查看: 751|回复: 1

MySQL 建表语法

 关闭 [复制链接]

签到天数: 2623 天

连续签到: 2 天

[LV.Master]至尊海神IIIIII

发表于 2010-9-7 20:06 |广东| 显示全部楼层 |阅读模式
1、最简单的:

CREATE TABLE t1(
   id int not null,
   name char(20)
);
2、带主键的:

a:
CREATE TABLE t1(
   id int not null primary key,
   name char(20)
);
b:复合主键
CREATE TABLE t1(
   id int not null,
   name char(20),
   primary key (id,name)
);
3、带默认值的:

CREATE TABLE t1(
   id int not null default 0 primary key,
   name char(20) default '1'
);
转贴的:
CREATE TABLE PLAYERS
       (PLAYERNO      INTEGER NOT NULL PRIMARY KEY,
        NAME          CHAR(15) NOT NULL,
        INITIALS      CHAR(3) NOT NULL,
        BIRTH_DATE    DATE,
        **           CHAR(1) NOT NULL
                     CHECK(** IN ('M','F')),
        JOINED        SMALLINT NOT NULL
                     CHECK(JOINED > 1969) ,
        STREET        CHAR(30) NOT NULL,
        HOUSENO       CHAR(4),
        POSTCODE      CHAR(6) CHECK(POSTCODE LIKE '______'),
        TOWN          CHAR(10) NOT NULL,
        PHONENO       CHAR(13),
        LEAGUENO      CHAR(4))
;
CREATE TABLE TEAMS
       (TEAMNO        INTEGER NOT NULL PRIMARY KEY,
        PLAYERNO      INTEGER NOT NULL,
        DIVISION      CHAR(6)   NOT NULL
                     CHECK(DIVISION IN ('first','second')),
        FOREIGN KEY   (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE MATCHES
       (MATCHNO       INTEGER NOT NULL PRIMARY KEY,
        TEAMNO        INTEGER NOT NULL,
        PLAYERNO      INTEGER NOT NULL,
        WON           SMALLINT NOT NULL
                     CHECK(WON BETWEEN 0 AND 3),
        LOST          SMALLINT NOT NULL
                     CHECK(LOST BETWEEN 0 AND 3),
        FOREIGN KEY (TEAMNO) REFERENCES TEAMS (TEAMNO),
        FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE PENALTIES
       (PAYMENTNO     INTEGER NOT NULL PRIMARY KEY,
        PLAYERNO      INTEGER NOT NULL,
        PAYMENT_DATE DATE NOT NULL
                     CHECK(PAYMENT_DATE >= DATE('1969-12-31')),
        AMOUNT        DECIMAL(7,2)   NOT NULL
                     CHECK (AMOUNT > 0),
        FOREIGN KEY (PLAYERNO) REFERENCES PLAYERS (PLAYERNO))
;
CREATE TABLE COMMITTEE_MEMBERS
       (PLAYERNO      INTEGER NOT NULL,
        BEGIN_DATE    DATE NOT NULL,
        END_DATE      DATE,
        POSITION      CHAR(20),
        PRIMARY KEY   (PLAYERNO, BEGIN_DATE),
        FOREIGN KEY   (PLAYERNO) REFERENCES PLAYERS (PLAYERNO),
        CHECK(BEGIN_DATE < END_DATE),
        CHECK(BEGIN_DATE >= DATE('1990-01-01')))
PCOS系统下载站:http://zhuangji.wang

签到天数: 413 天

连续签到: 0 天

[LV.9]尊贵海王II

发表于 2011-3-12 14:38 |湖北| 显示全部楼层
呵呵呵  还挺详细的啊
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

本版积分规则