您的位置:首页 > 数据库 > MySQL

MySQL 建表语法

2013-11-02 19:13 483 查看
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,

        SEX           CHAR(1) NOT NULL

                     CHECK(SEX IN ('M','F')),

        JOINED        SMALLINT NOT NULL

                     C
c909
HECK(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')))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据库