多表关系
1 -- 创建旅游线路分类表 tab_category 2 -- cid 旅游线路分类主键,自动增长 3 -- cname 旅游线路分类名称非空,唯一,字符串 100 4 CREATE TABLE tab_category( 5 cid INT PRIMARY KEY AUTO_INCREMENT, 6 cname VARCHAR(100) NOT NULL UNIQUE 7 ); 8 -- 添加旅游线路分类数据: 9 INSERT INTO tab_category (cname) VALUES ('周边游'), ('出境游'), ('国内游'), ('港澳游'); 10 11 SELECT *FROM tab_category; 12 13 -- 创建旅游线路表 tab_route 14 15 /* 16 rid旅游线路主键,自动增长 17 rname 旅游线路名称非空,唯一,字符串100 18 price 价格 19 rdate 上架时间,日期类型 20 cid 外键,所属分类 21 */ 22 CREATE TABLE tab_route( 23 rid INT PRIMARY KEY AUTO_INCREMENT, 24 rname VARCHAR(100) NOT NULL UNIQUE, 25 price DOUBLE, 26 rdate DATE, 27 cid INT, 28 FOREIGN KEY (cid) REFERENCES tab_category(cid) 29 ); 30 31 DROP TABLE tab_route; 32 33 INSERT INTO tab_route VALUES 34 (1,'【厦门+鼓浪屿+南普陀寺+曾厝垵 高铁 3 天 惠贵团】尝味友鸭面线 住 1 晚鼓浪屿',1499,'2018-01-27',1), 35 (NULL,'【浪漫桂林 阳朔西街高铁 3 天纯玩 高级团】城徽象鼻山 兴坪漓江 西山公园',699,'2018-02-22',3), 36 (NULL,'【爆款¥1699 秒杀】泰国 曼谷 芭堤雅 金沙岛 杜拉拉水上市场 双飞六天【含送签费 泰风情 广州 37 往返 特价团】',1699,'2018-01-27',2), 38 (NULL,'【经典•狮航 ¥2399 秒杀】巴厘岛双飞五天 抵玩【广州往返 特价团】',2399,'2017-12-23',2), 39 (NULL,'香港迪士尼乐园自由行 2 天【永东跨境巴士广东至迪士尼去程交通+迪士尼一日门票+香港如心海景酒店 40 暨会议中心标准房 1 晚住宿】',799,'2018-04-10',4); 41 42 SELECT * FROM tab_route; 43 /* 44 创建用户表 tab_user 45 uid 用户主键,自增长 46 username 用户名长度 100,唯一,非空 47 password 密码长度 30,非空 48 name 真实姓名长度 100 49 birthday 生日 50 sex 性别,定长字符串 1 51 telephone 手机号,字符串 11 52 email 邮箱,字符串长度 100 53 */ 54 CREATE TABLE tab_user ( 55 uid INT PRIMARY KEY AUTO_INCREMENT, 56 username VARCHAR(100) UNIQUE NOT NULL, 57 PASSWORD VARCHAR(30) NOT NULL, 58 NAME VARCHAR(100), 59 birthday DATE, 60 sex CHAR(1) DEFAULT '男', 61 telephone VARCHAR(11), 62 email VARCHAR(100) 63 ); 64 -- 添加用户数据 65 INSERT INTO tab_user VALUES 66 (NULL, 'cz110', 123456, '老王', '1977-07-07', '男', '13888888888', '66666@qq.com'), 67 (NULL, 'cz119', 654321, '小王', '1999-09-09', '男', '13999999999', '99999@qq.com'); 68 69 SELECT * FROM tab_user; 70 71 /* 72 创建收藏表 tab_favorite 73 rid 旅游线路 id,外键 74 date 收藏时间 75 uid 用户 id,外键 76 rid 和 uid 不能重复,设置复合主键,同一个用户不能收藏同一个线路两次 77 */ 78 CREATE TABLE tab_favorite ( 79 rid INT, 80 DATE DATETIME, 81 uid INT, 82 -- 创建复合主键 83 PRIMARY KEY(rid,uid), 84 FOREIGN KEY (rid) REFERENCES tab_route(rid), 85 FOREIGN KEY(uid) REFERENCES tab_user(uid) 86 ); 87 88 -- 增加收藏表数据 89 INSERT INTO tab_favorite VALUES 90 (1,'2018-01-01',1), -- 老王选择厦门 91 (2,'2018-02-11',1), -- 老王选择桂林 92 (3,'2018-03-21',1), -- 老王选择泰国 93 (2,'2018-04-21',2), -- 小王选择桂林 94 (3,'2018-05-08',2), -- 小王选择泰国 95 (5,'2018-06-02',2); -- 小王选择迪士尼 96 97 SELECT * FROM tab_favorite; 98 99 DROP TABLE tab_favorite;
道阻且长,行则将至

浙公网安备 33010602011771号