Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1797489
  • 博文数量: 293
  • 博客积分: 10127
  • 博客等级: 上将
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 19:05
文章分类

全部博文(293)

文章存档

2011年(11)

2010年(282)

我的朋友

分类: Mysql/postgreSQL

2010-09-05 12:48:25

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')))
;
阅读(2655) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-07 08:46:57

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com