byc_mysql.sql 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. Navicat Premium Dump SQL
  3. Source Server : Oracle_byc_mysql
  4. Source Server Type : MySQL
  5. Source Server Version : 80036 (8.0.36)
  6. Source Host : 139.185.41.147:3306
  7. Source Schema : byc_mysql
  8. Target Server Type : MySQL
  9. Target Server Version : 80036 (8.0.36)
  10. File Encoding : 65001
  11. Date: 10/11/2024 17:29:00
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for debtors
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `debtors`;
  19. CREATE TABLE `debtors` (
  20. `id` int NOT NULL AUTO_INCREMENT,
  21. `debtor_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  22. `total_amount` decimal(10, 2) NULL DEFAULT 110000.00,
  23. `last_updated` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  24. PRIMARY KEY (`id`) USING BTREE,
  25. UNIQUE INDEX `debtor_name`(`debtor_name` ASC) USING BTREE
  26. ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
  27. -- ----------------------------
  28. -- Records of debtors
  29. -- ----------------------------
  30. INSERT INTO `debtors` VALUES (1, '白宇超', 122500.00, '2024-11-01 10:32:08');
  31. -- ----------------------------
  32. -- Table structure for repayments
  33. -- ----------------------------
  34. DROP TABLE IF EXISTS `repayments`;
  35. CREATE TABLE `repayments` (
  36. `id` int NOT NULL AUTO_INCREMENT,
  37. `debtor_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  38. `repayment_date` date NOT NULL,
  39. `repayment_method` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '微信',
  40. `repayment_amount` decimal(10, 2) NULL DEFAULT 1250.00,
  41. `comments` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  42. PRIMARY KEY (`id`) USING BTREE,
  43. INDEX `debtor_name`(`debtor_name` ASC) USING BTREE,
  44. CONSTRAINT `repayments_ibfk_1` FOREIGN KEY (`debtor_name`) REFERENCES `debtors` (`debtor_name`) ON DELETE CASCADE ON UPDATE RESTRICT
  45. ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
  46. -- ----------------------------
  47. -- Records of repayments
  48. -- ----------------------------
  49. INSERT INTO `repayments` VALUES (4, '白宇超', '2024-03-12', '微信', 2500.00, NULL);
  50. INSERT INTO `repayments` VALUES (5, '白宇超', '2024-04-12', '微信', 1250.00, NULL);
  51. INSERT INTO `repayments` VALUES (6, '白宇超', '2024-05-13', '微信', 1250.00, NULL);
  52. INSERT INTO `repayments` VALUES (7, '白宇超', '2024-06-12', '微信', 1250.00, NULL);
  53. INSERT INTO `repayments` VALUES (8, '白宇超', '2024-07-12', '微信', 1250.00, NULL);
  54. INSERT INTO `repayments` VALUES (9, '白宇超', '2024-08-12', '微信', 1250.00, NULL);
  55. INSERT INTO `repayments` VALUES (10, '白宇超', '2024-09-12', '微信', 1250.00, NULL);
  56. INSERT INTO `repayments` VALUES (11, '白宇超', '2024-10-12', '微信', 1250.00, NULL);
  57. -- ----------------------------
  58. -- View structure for debtstatus
  59. -- ----------------------------
  60. DROP VIEW IF EXISTS `debtstatus`;
  61. CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `debtstatus` AS select `d`.`debtor_name` AS `姓名`,`d`.`total_amount` AS `总欠款金额`,(`d`.`total_amount` - ifnull(sum(`r`.`repayment_amount`),0)) AS `剩余欠款金额` from (`debtors` `d` left join `repayments` `r` on((`d`.`debtor_name` = `r`.`debtor_name`))) group by `d`.`id`,`d`.`debtor_name`,`d`.`total_amount`;
  62. -- ----------------------------
  63. -- Event structure for monthly_increase
  64. -- ----------------------------
  65. DROP EVENT IF EXISTS `monthly_increase`;
  66. delimiter ;;
  67. CREATE EVENT `monthly_increase`
  68. ON SCHEDULE
  69. EVERY '1' MONTH STARTS '2024-12-01 00:00:00'
  70. DO UPDATE Debtors
  71. SET total_amount = total_amount + 1250
  72. ;;
  73. delimiter ;
  74. SET FOREIGN_KEY_CHECKS = 1;