从制造到创造
软件工程师成长之路
posts - 292,  comments - 96,  trackbacks - 0
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')))
;
posted on 2007-08-17 17:11 CoderDream 阅读(30114) 评论(5)  编辑  收藏 所属分类: 数据库

FeedBack:
# re: MySQL 建表语法
2008-10-04 23:26 | Leeo
恩,不错,学了点东西。谢谢LZ~~:)  回复  更多评论
  
# re: MySQL 建表语法
2008-10-21 12:27 | vivien
谢拉  回复  更多评论
  
# MySQL 建表
2009-01-05 23:52 | mysql
真的很好,很感谢你,以后多多发些好东西哦,多多学习。。。。。  回复  更多评论
  
# re: MySQL 建表语法
2010-07-15 19:17 | yangguang
学习了~  回复  更多评论
  
# re: MySQL 建表语法
2012-10-23 14:47 | 11
11  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(9)

我参与的团队

随笔分类(245)

随笔档案(239)

文章分类(3)

文章档案(3)

收藏夹(576)

友情链接

搜索

  •  

积分与排名

  • 积分 - 456257
  • 排名 - 114

最新评论

阅读排行榜

评论排行榜