例如在t_topic表中tid为2的记录是名字为“Java是咖啡”的帖子,它是java版块的帖子,它的作者是ww。
  外键是用来约束这一列的值必须是另一张表的主键值!!!
  创建t_user表,指定uid为主键列:
  CREATE TABLE t_user(
  uid INT PRIMARY KEY AUTO_INCREMENT,
  uname   VARCHAR(20) UNIQUE NOT NULL
  );
  创建t_section表,指定sid为主键列,u_id为相对t_user表的uid列的外键:
  CREATE TABLE t_section(
  sid INT PRIMARY KEY AUTO_INCREMENT,
  sname   VARCHAR(30),
  u_id    INT,
  CONSTRAINT fk_t_user FOREIGN KEY(u_id) REFERENCES t_user(uid)
  );
  修改t_section表,指定u_id为相对t_user表的uid列的外键:
  ALTER TABLE t_section
  ADD CONSTRAINT fk_t_user
  FOREIGN KEY(u_id)
  REFERENCES t_user(uid);
  修改t_section表,删除u_id的外键约束:
  ALTER TABLE t_section
  DROP FOREIGN KEY fk_t_user;
  表与表之间的关系 1、一对一
  例如t_person表和t_card表,即人和身份证。这种情况需要找出主从关系,即谁是主表,谁是从表。人可以没有身份证,但身份证必须要有人才行,所以人是主表,而身份证是从表。设计从表可以有两种方案:
  在t_card表中添加外键列(相对t_user表),并且给外键添加约束; 给t_card表的主键添加外键约束(相对t_user表),即t_card表的主键也是外键。
  在表中建立一对一关系比较特殊,需要让其中一张表的主键,即是主键又是外键。
  create table husband(
  hid int PRIMARY KEY,
  ...
  );
  create table wife(
  wid int PRIMARY KEY,
  ...
  ADD CONSTRAINT fk_wife_wid FOREIGN KEY(wid) REFERENCES husband(hid)
  );
  其中wife表的wid即是主键,又是相对husband表的外键!
  husband.hid是主键,不能重复!
  wife.wid是主键,不能重复,又是外键,必须来自husband.hid。
  所以如果在wife表中有一条记录的wid为1,那么wife表中的其他记录的wid不能再是1了,因为它是主键。
  同时在husband.hid中必须存在1这个值,因为wid是外键。这完成了一对一关系。
  2、一对多(多对一)
  为常见的是一对多!一对多和多对一,这是从哪个角度去看得出来的。t_user和t_section的关系,从t_user来看是一对多,而从t_section的角度来看是多对一!这种情况都是在多方创建外键!
  3、多对多
  例如t_stu和t_teacher表,即一个学生可以有多个老师,而一个老师也可以有多个学生。这种情况通常需要创建中间表来处理多对多关系。例如再创建一张表t_stu_tea表,给出两个外键,一个相对t_stu表的外键,另一个相对t_teacher表的外键。
  在表中建立多对多关系需要使用中间表,即需要三张表,在中间表中使用两个外键,分别引用其他两个表的主键。
  create table student(
  sid int PRIMARY KEY,
  ...
  );
  create table teacher(
  tid int PRIMARY KEY,
  ...
  );
  create table stu_tea(
  sid int,
  tid int,
  ADD CONSTRAINT fk_stu_tea_sid FOREIGN KEY(sid) REFERENCES student(sid),
  ADD CONSTRAINT fk_stu_tea_tid FOREIGN KEY(tid) REFERENCES teacher(tid)
  );
  这时在stu_tea这个中间表中的每条记录都是来说明student和teacher表的关系
  例如在stu_tea表中的记录:sid为1001,tid为2001,这说明编号为1001的学生有一个编号为2001的老师
  sid    tid
  101    201 /*编号为101的学生有一个编号为201的老师*/
  101    202 /*编号为101的学生有一个编号为202的老师*/
  101    203 /*编号为101的学生有一个编号为203的老师*/
  102    201 /*编号为102的学生有一个编号为201的老师*/
  102    204 /*编号为102的学生有一个编号为204的老师*/