db.sql 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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=155 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=55 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_details` */;
  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_details`()
  109. BEGIN
  110. #Routine body goes here...
  111. 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`;
  112. END ;;
  113. DELIMITER ;
  114. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  115. /*!50003 SET character_set_client = @saved_cs_client */ ;
  116. /*!50003 SET character_set_results = @saved_cs_results */ ;
  117. /*!50003 SET collation_connection = @saved_col_connection */ ;
  118. /*!50003 DROP PROCEDURE IF EXISTS `set_key` */;
  119. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  120. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  121. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  122. /*!50003 SET character_set_client = utf8mb4 */ ;
  123. /*!50003 SET character_set_results = utf8mb4 */ ;
  124. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  125. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  126. /*!50003 SET sql_mode = '' */ ;
  127. DELIMITER ;;
  128. CREATE DEFINER=`root`@`%` PROCEDURE `set_key`(u int(11), a varchar(255), s varchar(255))
  129. BEGIN
  130. #Routine body goes here...
  131. IF NOT EXISTS(SELECT 1 FROM `key` where `uid`= u) THEN
  132. insert into `key`(`uid`, `ak`, `sk`) values (u, a, s);
  133. ELSE
  134. update `key` set `ak` = a, `sk` = s where `uid` = u;
  135. END IF;
  136. END ;;
  137. DELIMITER ;
  138. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  139. /*!50003 SET character_set_client = @saved_cs_client */ ;
  140. /*!50003 SET character_set_results = @saved_cs_results */ ;
  141. /*!50003 SET collation_connection = @saved_col_connection */ ;
  142. /*!50003 DROP PROCEDURE IF EXISTS `set_url` */;
  143. /*!50003 SET @saved_cs_client = @@character_set_client */ ;
  144. /*!50003 SET @saved_cs_results = @@character_set_results */ ;
  145. /*!50003 SET @saved_col_connection = @@collation_connection */ ;
  146. /*!50003 SET character_set_client = utf8mb4 */ ;
  147. /*!50003 SET character_set_results = utf8mb4 */ ;
  148. /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
  149. /*!50003 SET @saved_sql_mode = @@sql_mode */ ;
  150. /*!50003 SET sql_mode = '' */ ;
  151. DELIMITER ;;
  152. CREATE DEFINER=`root`@`%` PROCEDURE `set_url`(u int(11), ur varchar(255))
  153. BEGIN
  154. #Routine body goes here...
  155. IF NOT EXISTS(SELECT 1 FROM `url` where `uid`= u) THEN
  156. insert into `url`(`uid`, `url`, `status`) values (u, ur, 0);
  157. ELSE
  158. update `url` set `status` = 0, `url` = ur, `msg` = "" where `uid` = u;
  159. END IF;
  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 `user_register` */;
  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 `user_register`(un varchar(255), pw varchar(255))
  177. BEGIN
  178. #Routine body goes here...
  179. IF NOT EXISTS(SELECT 1 FROM `user` where `name`= un) THEN
  180. insert into `user`(`name`,`password`) values (un, pw);
  181. select LAST_INSERT_ID();
  182. END IF;
  183. END ;;
  184. DELIMITER ;
  185. /*!50003 SET sql_mode = @saved_sql_mode */ ;
  186. /*!50003 SET character_set_client = @saved_cs_client */ ;
  187. /*!50003 SET character_set_results = @saved_cs_results */ ;
  188. /*!50003 SET collation_connection = @saved_col_connection */ ;
  189. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  190. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  191. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  192. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  193. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  194. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  195. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  196. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  197. -- Dump completed on 2021-01-07 10:51:11