MySQL数据库的学习 -1

数据库通过主外键关联关系来体现表与表之间的关联关系

DROP TABLE IF EXISTS cls;

CREATE TABLE cls(

  `number` INT(11) AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT '班级编号,主键',

  name VARCHAR(20) NOT NULL COMMENT '班级名称',

  grade VARCHAR(20) NOT NULL COMMENT '年级'

)ENGINE=InnoDB CHARSET=UTF8 COMMENT='班级表';

DROP TABLE IF EXISTS student;

CREATE TABLE student(

   `number` INT(11) AUTO_INCREMENT NOT NULL  COMMENT '学号,主键',

   name VARCHAR(20) NOT NULL COMMENT '姓名',

   sex VARCHAR(2) DEFAULT '男' COMMENT '性别',

   age TINYINT(3) DEFAULT 0 COMMENT '年龄',

   cls_number INT(11) NOT NULL COMMENT '所属班级',

   --指定number 为主键

   PRIMARY KEY(number),

   FOREIGN KEY(cls_number) REFERENCES cls(number)  

)ENGINE=InnoDB CHARSET=UTF8 COMMENT='学生表';

另外,在student表中number 这个字段不要加PRIMARY KEY ,因为与下面的PRIMARY(number)重了,出现ERROR 1068 (42000): Multiple primary key defined的错误。

所以只写其中一个就好了。

FOREIGN KEY(cls_number) REFERENCES cls(number)  体现数据库表与表之间的关系,指定cls_number为外键,关联(references)cls表中的主键number。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值