• MySQL 建表语法

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • mysql建表语法

    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'
    );

     


    4、转贴的

    CREATE TABLE PLAYERS
           (PLAYERNO      
    INTEGER NOT NULL PRIMARY KEY,
            NAME          
    CHAR(15NOT NULL,
            INITIALS      
    CHAR(3NOT NULL,
            BIRTH_DATE    DATE,
            SEX           
    CHAR(1NOT NULL
                         CHECK(SEX IN ('M','F')),
            JOINED        
    SMALLINT NOT NULL
                         CHECK(JOINED > 1969) ,
            STREET        
    CHAR(30NOT NULL,
            HOUSENO       
    CHAR(4),
            POSTCODE      
    CHAR(6CHECK(POSTCODE LIKE '______'),
            TOWN          
    CHAR(10NOT 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')))
    ;

     

    • 标签:
    • playerno
    • teamno
    • 39
    • notnull
    • notnullcheck
    • mysql
    • namechar
    • 建表语法
    • playernointegernotnull
    • foreignkey
    • referencesplayers
    • 20
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部