db.sql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. -- MySQL dump 10.14 Distrib 5.5.68-MariaDB, for Linux (x86_64)
  2. --
  3. -- Host: localhost Database: game
  4. -- ------------------------------------------------------
  5. -- Server version 5.5.68-MariaDB
  6. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  7. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  8. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  9. /*!40101 SET NAMES utf8 */;
  10. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  11. /*!40103 SET TIME_ZONE='+00:00' */;
  12. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  13. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  14. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  15. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  16. --
  17. -- Table structure for table `key`
  18. --
  19. DROP TABLE IF EXISTS `key`;
  20. /*!40101 SET @saved_cs_client = @@character_set_client */;
  21. /*!40101 SET character_set_client = utf8 */;
  22. CREATE TABLE `key` (
  23. `uid` int(10) unsigned NOT NULL,
  24. `ak` varchar(255) DEFAULT NULL,
  25. `sk` varchar(255) DEFAULT NULL,
  26. PRIMARY KEY (`uid`),
  27. CONSTRAINT `key_uid` FOREIGN KEY (`uid`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
  28. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  29. /*!40101 SET character_set_client = @saved_cs_client */;
  30. --
  31. -- Table structure for table `log`
  32. --
  33. DROP TABLE IF EXISTS `log`;
  34. /*!40101 SET @saved_cs_client = @@character_set_client */;
  35. /*!40101 SET character_set_client = utf8 */;
  36. CREATE TABLE `log` (
  37. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  38. `time` timestamp NULL DEFAULT NULL,
  39. `uid` int(10) unsigned DEFAULT NULL,
  40. `type` tinyint(4) DEFAULT NULL COMMENT '0提交URL,1URL成功,2URL失败,3提交实验账号',
  41. `admin_msg` varchar(255) DEFAULT NULL,
  42. PRIMARY KEY (`id`),
  43. KEY `log_uid` (`uid`),
  44. CONSTRAINT `log_uid` FOREIGN KEY (`uid`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
  45. ) ENGINE=InnoDB AUTO_INCREMENT=246 DEFAULT CHARSET=utf8mb4;
  46. /*!40101 SET character_set_client = @saved_cs_client */;
  47. --
  48. -- Table structure for table `url`
  49. --
  50. DROP TABLE IF EXISTS `url`;
  51. /*!40101 SET @saved_cs_client = @@character_set_client */;
  52. /*!40101 SET character_set_client = utf8 */;
  53. CREATE TABLE `url` (
  54. `uid` int(11) unsigned NOT NULL,
  55. `url` varchar(255) NOT NULL,
  56. `status` tinyint(3) unsigned DEFAULT NULL COMMENT '0 请求中,1 成功,2失败',
  57. `msg` varchar(255) DEFAULT NULL,
  58. PRIMARY KEY (`uid`),
  59. CONSTRAINT `id` FOREIGN KEY (`uid`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
  60. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  61. /*!40101 SET character_set_client = @saved_cs_client */;
  62. --
  63. -- Table structure for table `user`
  64. --
  65. DROP TABLE IF EXISTS `user`;
  66. /*!40101 SET @saved_cs_client = @@character_set_client */;
  67. /*!40101 SET character_set_client = utf8 */;
  68. CREATE TABLE `user` (
  69. `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  70. `name` varchar(255) DEFAULT NULL,
  71. `password` varchar(255) DEFAULT NULL,
  72. PRIMARY KEY (`id`)
  73. ) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4;
  74. /*!40101 SET character_set_client = @saved_cs_client */;
  75. --
  76. -- Dumping routines for database 'game'
  77. --
  78. /*!50003 DROP PROCEDURE IF EXISTS `add_log` */;
  79. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  80. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  81. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  82. /*!50003 SET character_set_client = utf8mb4 */ ;
  83. /*!50003 SET character_set_results = utf8mb4 */ ;
  84. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  85. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  86. /*!50003 SET sql_mode = '' */ ;
  87. DELIMITER ;;
  88. CREATE DEFINER=`root`@`%` PROCEDURE `add_log`(u int(11), t tinyint(4), am varchar(255))
  89. BEGIN
  90. #Routine body goes here...
  91. insert into `log` (`time`,`uid`,`type`,`admin_msg`) values (NOW(), u, t, am);
  92. END ;;
  93. DELIMITER ;
  94. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  95. /*!50003 SET character_set_client = @saved_cs_client */ ;
  96. /*!50003 SET character_set_results = @saved_cs_results */ ;
  97. /*!50003 SET collation_connection = @saved_col_connection */ ;
  98. /*!50003 DROP PROCEDURE IF EXISTS `get_log_admin` */;
  99. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  100. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  101. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  102. /*!50003 SET character_set_client = utf8mb4 */ ;
  103. /*!50003 SET character_set_results = utf8mb4 */ ;
  104. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  105. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  106. /*!50003 SET sql_mode = '' */ ;
  107. DELIMITER ;;
  108. CREATE DEFINER=`root`@`%` PROCEDURE `get_log_admin`(p int, l int)
  109. BEGIN
  110. #Routine body goes here...
  111. # select UNIX_TIMESTAMP(`log`.`time`), `user`.`name`, `log`.`type`, `log`.`admin_msg` from `log` LEFT JOIN `user` on `log`.`uid` = `user`.`id` order by `log`.`time` desc
  112. select count(1) from `log`;
  113. set @stmt = CONCAT("select UNIX_TIMESTAMP(`log`.`time`), `user`.`name`, `log`.`type`, `log`.`admin_msg` from `log` LEFT JOIN `user` on `log`.`uid` = `user`.`id` WHERE `log`.`id` <= (select `id` from `log` order by `id` desc limit ?, 1) order by `log`.`time` desc, `log`.`id` desc limit ?");
  114. set @last = l* (p-1);
  115. set @len = l;
  116. prepare stmt from @stmt;
  117. EXECUTE stmt using @last, @len;
  118. deallocate prepare stmt;
  119. -- select * from `log` where id > p limit 10;
  120. END ;;
  121. DELIMITER ;
  122. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  123. /*!50003 SET character_set_client = @saved_cs_client */ ;
  124. /*!50003 SET character_set_results = @saved_cs_results */ ;
  125. /*!50003 SET collation_connection = @saved_col_connection */ ;
  126. /*!50003 DROP PROCEDURE IF EXISTS `get_log_details` */;
  127. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  128. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  129. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  130. /*!50003 SET character_set_client = utf8mb4 */ ;
  131. /*!50003 SET character_set_results = utf8mb4 */ ;
  132. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  133. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  134. /*!50003 SET sql_mode = '' */ ;
  135. DELIMITER ;;
  136. CREATE DEFINER=`root`@`%` PROCEDURE `get_log_details`()
  137. BEGIN
  138. #Routine body goes here...
  139. select `user`.`id`,`user`.`name`,UNIX_TIMESTAMP(min(IF(`log`.`type`=1, `log`.`time`, null))), sum(case when `log`.`type`=2 THEN 1 ELSE 0 END) as fail from `user` left join `log` on `log`.`uid`=`user`.`id` group by `user`.`id` order by isnull(min(IF(`log`.`type`=1, `log`.`time`, null))), min(IF(`log`.`type`=1, `log`.`time`, null)), `user`.`id`;
  140. END ;;
  141. DELIMITER ;
  142. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  143. /*!50003 SET character_set_client = @saved_cs_client */ ;
  144. /*!50003 SET character_set_results = @saved_cs_results */ ;
  145. /*!50003 SET collation_connection = @saved_col_connection */ ;
  146. /*!50003 DROP PROCEDURE IF EXISTS `get_user_key` */;
  147. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  148. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  149. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  150. /*!50003 SET character_set_client = utf8mb4 */ ;
  151. /*!50003 SET character_set_results = utf8mb4 */ ;
  152. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  153. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  154. /*!50003 SET sql_mode = '' */ ;
  155. DELIMITER ;;
  156. CREATE DEFINER=`root`@`%` PROCEDURE `get_user_key`(i int)
  157. BEGIN
  158. #Routine body goes here...
  159. select UNIX_TIMESTAMP(`time`), `admin_msg` from `log` where `type` = 3 AND `uid` = i;
  160. END ;;
  161. DELIMITER ;
  162. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  163. /*!50003 SET character_set_client = @saved_cs_client */ ;
  164. /*!50003 SET character_set_results = @saved_cs_results */ ;
  165. /*!50003 SET collation_connection = @saved_col_connection */ ;
  166. /*!50003 DROP PROCEDURE IF EXISTS `set_key` */;
  167. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  168. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  169. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  170. /*!50003 SET character_set_client = utf8mb4 */ ;
  171. /*!50003 SET character_set_results = utf8mb4 */ ;
  172. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  173. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  174. /*!50003 SET sql_mode = '' */ ;
  175. DELIMITER ;;
  176. CREATE DEFINER=`root`@`%` PROCEDURE `set_key`(u int(11), a varchar(255), s varchar(255))
  177. BEGIN
  178. #Routine body goes here...
  179. IF NOT EXISTS(SELECT 1 FROM `key` where `uid`= u) THEN
  180. insert into `key`(`uid`, `ak`, `sk`) values (u, a, s);
  181. ELSE
  182. update `key` set `ak` = a, `sk` = s where `uid` = u;
  183. END IF;
  184. END ;;
  185. DELIMITER ;
  186. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  187. /*!50003 SET character_set_client = @saved_cs_client */ ;
  188. /*!50003 SET character_set_results = @saved_cs_results */ ;
  189. /*!50003 SET collation_connection = @saved_col_connection */ ;
  190. /*!50003 DROP PROCEDURE IF EXISTS `set_url` */;
  191. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  192. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  193. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  194. /*!50003 SET character_set_client = utf8mb4 */ ;
  195. /*!50003 SET character_set_results = utf8mb4 */ ;
  196. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  197. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  198. /*!50003 SET sql_mode = '' */ ;
  199. DELIMITER ;;
  200. CREATE DEFINER=`root`@`%` PROCEDURE `set_url`(u int(11), ur varchar(255))
  201. BEGIN
  202. #Routine body goes here...
  203. IF NOT EXISTS(SELECT 1 FROM `url` where `uid`= u) THEN
  204. insert into `url`(`uid`, `url`, `status`) values (u, ur, 0);
  205. ELSE
  206. update `url` set `status` = 0, `url` = ur, `msg` = "" where `uid` = u;
  207. END IF;
  208. END ;;
  209. DELIMITER ;
  210. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  211. /*!50003 SET character_set_client = @saved_cs_client */ ;
  212. /*!50003 SET character_set_results = @saved_cs_results */ ;
  213. /*!50003 SET collation_connection = @saved_col_connection */ ;
  214. /*!50003 DROP PROCEDURE IF EXISTS `user_register` */;
  215. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  216. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  217. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  218. /*!50003 SET character_set_client = utf8mb4 */ ;
  219. /*!50003 SET character_set_results = utf8mb4 */ ;
  220. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  221. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  222. /*!50003 SET sql_mode = '' */ ;
  223. DELIMITER ;;
  224. CREATE DEFINER=`root`@`%` PROCEDURE `user_register`(un varchar(255), pw varchar(255))
  225. BEGIN
  226. #Routine body goes here...
  227. IF NOT EXISTS(SELECT 1 FROM `user` where `name`= un) THEN
  228. insert into `user`(`name`,`password`) values (un, pw);
  229. select LAST_INSERT_ID();
  230. END IF;
  231. END ;;
  232. DELIMITER ;
  233. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  234. /*!50003 SET character_set_client = @saved_cs_client */ ;
  235. /*!50003 SET character_set_results = @saved_cs_results */ ;
  236. /*!50003 SET collation_connection = @saved_col_connection */ ;
  237. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  238. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  239. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  240. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  241. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  242. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  243. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  244. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  245. -- Dump completed on 2021-01-07 22:46:26