CREATE TABLE tb_card (
id INT PRIMARY KEY AUTO_INCREMENT,
CODE VARCHAR(18)
);
INSERT INTO tb_card (CODE) VALUES('');
CREATE TABLE tb_person (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(18),
sex VARCHAR(18),
age INT,
card_id INT UNIQUE,
FOREIGN KEY (card_id) REFERENCES tb_card (id)
);
INSERT INTO tb_person (NAME,sex,age,card_id) VALUES('jack','男',23,1);

一对一关系推荐使用唯一主外键关联。


一对多

CREATE TABLE tb_clazz(
id INT PRIMARY KEY AUTO_INCREMENT,
CODE VARCHAR(18),
NAME VARCHAR(18)
);
INSERT INTO tb_clazz(CODE,NAME) VALUES('j1601','Java就业班');
CREATE TABLE tb_student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(18),
sex VARCHAR(18),
age INT,
clazz_id INT,
FOREIGN KEY (clazz_id) REFERENCES tb_clazz(id)
);
INSERT INTO tb_student(NAME,sex,age,clazz_id) VALUES('jack','男',23,1);
INSERT INTO tb_student(NAME,sex,age,clazz_id) VALUES('rose','女',18,1);
INSERT INTO tb_student(NAME,sex,age,clazz_id) VALUES('tom','男',21,1);
INSERT INTO tb_stuedent(NAME,sex,age,clazz_id) VALUES('alice','女',20,1);

多对多

书中有勘误

#创建用户表
CREATE TABLE tb_user_1(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(18),
loginname VARCHAR(18),
PASSWORD VARCHAR(18),
phone VARCHAR(18),
address VARCHAR(18)
);
#插入用户表测试数据
INSERT INTO tb_user_1(username,loginname,PASSWORD,phone,address)
VALUES ('杰克','jack','','','广州');
#创建商品表
CREATE TABLE tb_article(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(21),
price DOUBLE,
remark VARCHAR(18)
);
#插入商品表测试数据
INSERT INTO tb_article(NAME,price,remark)
VALUES('疯狂Java讲义',108.9,'李刚老师经典著作');
INSERT INTO tb_article(NAME,price,remark)
VALUES('疯狂Android讲义',99.9,'李刚老师经典著作');
INSERT INTO tb_article(NAME,price,remark)
VALUES('疯狂iOS讲义',89.9,'李刚老师经典著作');
INSERT INTO tb_article(NAME,price,remark)
VALUES('SpringMVC+MyBatis企业开发',69.9,'肖文吉老师经典著作');
SELECT * FROM tb_article;
 #创建订单表
CREATE TABLE tb_order(
id INT PRIMARY KEY AUTO_INCREMENT,
CODE VARCHAR(32),
total DOUBLE,
user_id INT,
FOREIGN KEY (user_id) REFERENCES tb_user_1(id)
);
#输入订单表测试数据
INSERT INTO tb_order(CODE,total,user_id)
VALUES('6aa3fa359ff14619b77fab599094a2d',388.6,1);
INSERT INTO tb_order(CODE,total,user_id)
VALUES('6aa3fa359ff14619b77fab599094b3c',217.8,1);
  #创建中间表
CREATE TABLE tb_item(
order_id INT,
article_id INT,
amount INT,
PRIMARY KEY (order_id,article_id),
FOREIGN KEY (order_id) REFERENCES tb_order(id),
FOREIGN KEY (article_id) REFERENCES tb_article(id)
);
#创建插入中间表数据
INSERT INTO tb_item(order_id,article_id,amount)
VALUES (1,1,1);
INSERT INTO tb_item(order_id,article_id,amount)
VALUES (1,2,1);
INSERT INTO tb_item(order_id,article_id,amount)
VALUES (1,3,2);
INSERT INTO tb_item(order_id,article_id,amount)
VALUES (2,4,2);
INSERT INTO tb_item(order_id,article_id,amount)
VALUES (2,1,1);

最新文章

  1. WPF重写Image实现动态图片--未测试
  2. IOS Animation-CAShapeLayer、UIBezierPath与Animation的结合
  3. Cocos2d-x 3.2 学习笔记(十一)Game 2048
  4. HTML5使用Div标签来实现表格
  5. go语言 类型:字符串
  6. Mysql增删改
  7. C语言输出当前日期和时间
  8. 判断浏览器是IE的几种方式
  9. Windows 8.1 Hyper-V安装的虚拟机
  10. 区块上的三角形状的css写法
  11. android 37 线程通信Looper
  12. 31.Spring-开发流程.md
  13. javac 命令行使用总结
  14. AngularJs学习(1)
  15. django1.6读书笔记一
  16. jQuery 瀑布流插件: Wookmark
  17. Flexbox(弹性盒模型)完全指南
  18. 迈向高阶:优秀Android程序员必知必会的网络基础
  19. 【Codeforces 98E】 Help Shrek and Donkey
  20. weblogic 乱码

热门文章

  1. 【JAVA练习】- 给定精度求圆周率π
  2. angular js 正序倒叙
  3. JavaScript中字符串运算符的使用
  4. 努比亚(nubia) V18 NX612J 解锁BootLoader 并刷入recovery ROOT
  5. 安卓手机USB无法共享、上网或卡顿的解决方法
  6. React Native未来导航者:react-navigation 使用详解
  7. Laravel Cache 缓存使用
  8. Hadoop-2.2.0集群部署时live nodes数目不对的问题
  9. [转]理解和配置 Linux 下的 OOM Killer
  10. 为什么多 TCP 连接比单 TCP 连接传输快