MySQL 建表语法

来源:互联网 发布:k线公式源码 编辑:程序博客网 时间:2024/03/29 09:39

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(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')))
;
原创粉丝点击