1. 表操作练习题:
    练习:用户表,用户组表,主机表,业务线表
    关联:用户与用户组 主机与业务线 用户与主机

  1. # 用户表
  2. create table user(
  3. id int not null unique auto_increment,
  4. username varchar(20) not null,
  5. password varchar(50) not null,
  6. primary key(username,password)
  7. );
  8. insert into user(username,password) values
  9. (\'root\',\'123\'),
  10. (\'egon\',\'456\'),
  11. (\'alex\',\'alex3714\')
  12. ;
  13. mysql> desc user;
  14. +----------+-------------+------+-----+---------+----------------+
  15. | Field | Type | Null | Key | Default | Extra |
  16. +----------+-------------+------+-----+---------+----------------+
  17. | id | int(11) | NO | UNI | NULL | auto_increment |
  18. | username | varchar(20) | NO | PRI | NULL | |
  19. | password | varchar(50) | NO | PRI | NULL | |
  20. +----------+-------------+------+-----+---------+----------------+
  21. 3 rows in set (0.00 sec)
  22. mysql> select * from user;
  23. +----+----------+----------+
  24. | id | username | password |
  25. +----+----------+----------+
  26. | 1 | root | 123 |
  27. | 2 | egon | 456 |
  28. | 3 | alex | alex3714 |
  29. +----+----------+----------+
  30. 3 rows in set (0.00 sec)
  31. # 用户组表
  32. create table usergroup(
  33. id int primary key auto_increment,
  34. groupname varchar(20) not null unique
  35. );
  36. insert into usergroup(groupname) values
  37. (\'IT\'),
  38. (\'Sale\'),
  39. (\'Finance\'),
  40. (\'Boss\')
  41. ;
  42. mysql> desc usergroup;
  43. +-----------+-------------+------+-----+---------+----------------+
  44. | Field | Type | Null | Key | Default | Extra |
  45. +-----------+-------------+------+-----+---------+----------------+
  46. | id | int(11) | NO | PRI | NULL | auto_increment |
  47. | groupname | varchar(20) | NO | UNI | NULL | |
  48. +-----------+-------------+------+-----+---------+----------------+
  49. 2 rows in set (0.00 sec)
  50. mysql> select * from usergroup;
  51. +----+-----------+
  52. | id | groupname |
  53. +----+-----------+
  54. | 4 | Boss |
  55. | 3 | Finance |
  56. | 1 | IT |
  57. | 2 | Sale |
  58. +----+-----------+
  59. 4 rows in set (0.01 sec)
  60. # 主机表
  61. create table host(
  62. id int primary key auto_increment,
  63. ip char(15) not null unique default \'127.0.0.1\'
  64. );
  65. insert into host(ip) values
  66. (\'172.16.45.2\'),
  67. (\'172.16.31.10\'),
  68. (\'172.16.45.3\'),
  69. (\'172.16.31.11\'),
  70. (\'172.10.45.3\'),
  71. (\'172.10.45.4\'),
  72. (\'172.10.45.5\'),
  73. (\'192.168.1.20\'),
  74. (\'192.168.1.21\'),
  75. (\'192.168.1.22\'),
  76. (\'192.168.2.23\'),
  77. (\'192.168.2.223\'),
  78. (\'192.168.2.24\'),
  79. (\'192.168.3.22\'),
  80. (\'192.168.3.23\'),
  81. (\'192.168.3.24\')
  82. ;
  83. mysql> desc host;
  84. +-------+----------+------+-----+-----------+----------------+
  85. | Field | Type | Null | Key | Default | Extra |
  86. +-------+----------+------+-----+-----------+----------------+
  87. | id | int(11) | NO | PRI | NULL | auto_increment |
  88. | ip | char(15) | NO | UNI | 127.0.0.1 | |
  89. +-------+----------+------+-----+-----------+----------------+
  90. 2 rows in set (0.00 sec)
  91. mysql> select * from host;
  92. +----+---------------+
  93. | id | ip |
  94. +----+---------------+
  95. | 5 | 172.10.45.3 |
  96. | 6 | 172.10.45.4 |
  97. | 7 | 172.10.45.5 |
  98. | 2 | 172.16.31.10 |
  99. | 4 | 172.16.31.11 |
  100. | 1 | 172.16.45.2 |
  101. | 3 | 172.16.45.3 |
  102. | 8 | 192.168.1.20 |
  103. | 9 | 192.168.1.21 |
  104. | 10 | 192.168.1.22 |
  105. | 12 | 192.168.2.223 |
  106. | 11 | 192.168.2.23 |
  107. | 13 | 192.168.2.24 |
  108. | 14 | 192.168.3.22 |
  109. | 15 | 192.168.3.23 |
  110. | 16 | 192.168.3.24 |
  111. +----+---------------+
  112. 16 rows in set (0.01 sec)
  113. # 业务线表
  114. create table business(
  115. id int primary key auto_increment,
  116. business varchar(20) not null unique
  117. );
  118. insert into business(business) values
  119. (\'轻松贷\'),
  120. (\'随便花\'),
  121. (\'大富翁\'),
  122. (\'穷一生\')
  123. ;
  124. mysql> desc business;
  125. +----------+-------------+------+-----+---------+----------------+
  126. | Field | Type | Null | Key | Default | Extra |
  127. +----------+-------------+------+-----+---------+----------------+
  128. | id | int(11) | NO | PRI | NULL | auto_increment |
  129. | business | varchar(20) | NO | UNI | NULL | |
  130. +----------+-------------+------+-----+---------+----------------+
  131. 2 rows in set (0.00 sec)
  132. mysql> select * from business;
  133. +----+-----------+
  134. | id | business |
  135. +----+-----------+
  136. | 3 | 大富翁 |
  137. | 4 | 穷一生 |
  138. | 1 | 轻松贷 |
  139. | 2 | 随便花 |
  140. +----+-----------+
  141. 4 rows in set (0.00 sec)
  142. # 建关系 user usergroup
  143. create table user2usergroup(
  144. id int not null unique auto_increment ,
  145. user_id int not null,
  146. group_id int not null,
  147. primary key(user_id,group_id),
  148. foreign key(user_id) references user(id)
  149. on delete cascade
  150. on update cascade,
  151. foreign key(group_id) references usergroup(id)
  152. on delete cascade
  153. on update cascade
  154. );
  155. insert into user2usergroup(user_id,group_id) values
  156. (1,1),
  157. (1,2),
  158. (1,3),
  159. (1,4),
  160. (2,3),
  161. (2,4),
  162. (3,4)
  163. ;
  164. mysql> desc user2usergroup;
  165. +----------+---------+------+-----+---------+----------------+
  166. | Field | Type | Null | Key | Default | Extra |
  167. +----------+---------+------+-----+---------+----------------+
  168. | id | int(11) | NO | UNI | NULL | auto_increment |
  169. | user_id | int(11) | NO | PRI | NULL | |
  170. | group_id | int(11) | NO | PRI | NULL | |
  171. +----------+---------+------+-----+---------+----------------+
  172. 3 rows in set (0.00 sec)
  173. mysql> select * from user2usergroup;
  174. +----+---------+----------+
  175. | id | user_id | group_id |
  176. +----+---------+----------+
  177. | 1 | 1 | 1 |
  178. | 2 | 1 | 2 |
  179. | 3 | 1 | 3 |
  180. | 4 | 1 | 4 |
  181. | 5 | 2 | 3 |
  182. | 6 | 2 | 4 |
  183. | 7 | 3 | 4 |
  184. +----+---------+----------+
  185. 7 rows in set (0.00 sec)
  186. # 建关系 host business
  187. create table host2business(
  188. id int not null unique auto_increment,
  189. host_id int not null,
  190. business_id int not null,
  191. primary key(host_id,business_id),
  192. foreign key(host_id) references host(id)
  193. on delete cascade
  194. on update cascade,
  195. foreign key(business_id) references business(id)
  196. on delete cascade
  197. on update cascade
  198. );
  199. insert into host2business(host_id,business_id) values
  200. (1,1),
  201. (1,2),
  202. (1,3),
  203. (2,2),
  204. (2,3),
  205. (3,4)
  206. ;
  207. mysql> desc host2business;
  208. +-------------+---------+------+-----+---------+----------------+
  209. | Field | Type | Null | Key | Default | Extra |
  210. +-------------+---------+------+-----+---------+----------------+
  211. | id | int(11) | NO | UNI | NULL | auto_increment |
  212. | host_id | int(11) | NO | PRI | NULL | |
  213. | business_id | int(11) | NO | PRI | NULL | |
  214. +-------------+---------+------+-----+---------+----------------+
  215. 3 rows in set (0.00 sec)
  216. mysql> select * from host2business;
  217. +----+---------+-------------+
  218. | id | host_id | business_id |
  219. +----+---------+-------------+
  220. | 1 | 1 | 1 |
  221. | 2 | 1 | 2 |
  222. | 3 | 1 | 3 |
  223. | 4 | 2 | 2 |
  224. | 5 | 2 | 3 |
  225. | 6 | 3 | 4 |
  226. +----+---------+-------------+
  227. 6 rows in set (0.00 sec)
  228. # 建关系 user host
  229. create table user2host(
  230. id int not null unique auto_increment,
  231. user_id int not null,
  232. host_id int not null,
  233. primary key(user_id,host_id),
  234. foreign key(user_id) references user(id)
  235. on delete cascade
  236. on update cascade,
  237. foreign key(host_id) references host(id)
  238. on delete cascade
  239. on update cascade
  240. );
  241. insert into user2host(user_id,host_id) values
  242. (1,1),
  243. (1,2),
  244. (1,3),
  245. (1,4),
  246. (1,5),
  247. (1,6),
  248. (1,7),
  249. (1,8),
  250. (1,9),
  251. (1,10),
  252. (1,11),
  253. (1,12),
  254. (1,13),
  255. (1,14),
  256. (1,15),
  257. (1,16),
  258. (2,2),
  259. (2,3),
  260. (2,4),
  261. (2,5),
  262. (3,10),
  263. (3,11),
  264. (3,12)
  265. ;
  266. mysql> desc user2host;
  267. +---------+---------+------+-----+---------+----------------+
  268. | Field | Type | Null | Key | Default | Extra |
  269. +---------+---------+------+-----+---------+----------------+
  270. | id | int(11) | NO | UNI | NULL | auto_increment |
  271. | user_id | int(11) | NO | PRI | NULL | |
  272. | host_id | int(11) | NO | PRI | NULL | |
  273. +---------+---------+------+-----+---------+----------------+
  274. 3 rows in set (0.00 sec)
  275. mysql> select * from user2host;
  276. +----+---------+---------+
  277. | id | user_id | host_id |
  278. +----+---------+---------+
  279. | 1 | 1 | 1 |
  280. | 2 | 1 | 2 |
  281. | 3 | 1 | 3 |
  282. | 4 | 1 | 4 |
  283. | 5 | 1 | 5 |
  284. | 6 | 1 | 6 |
  285. | 7 | 1 | 7 |
  286. | 8 | 1 | 8 |
  287. | 9 | 1 | 9 |
  288. | 10 | 1 | 10 |
  289. | 11 | 1 | 11 |
  290. | 12 | 1 | 12 |
  291. | 13 | 1 | 13 |
  292. | 14 | 1 | 14 |
  293. | 15 | 1 | 15 |
  294. | 16 | 1 | 16 |
  295. | 17 | 2 | 2 |
  296. | 18 | 2 | 3 |
  297. | 19 | 2 | 4 |
  298. | 20 | 2 | 5 |
  299. | 21 | 3 | 10 |
  300. | 22 | 3 | 11 |
  301. | 23 | 3 | 12 |
  302. +----+---------+---------+
  303. 23 rows in set (0.00 sec)

 




版权声明:本文为alice-bj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/alice-bj/p/8830569.html