打造高效的个人记账系统MySQL应用解析(mysql个人记账系统)
打造高效的个人记账系统:MySQL应用解析
随着经济的发展和生活水平的提高,人们对个人记账的需求越来越高。毕竟,个人记账可以帮助我们管好自己的财务,避免过度消费和浪费,让我们的钱财变得更加有价值。为了满足大家的需求,今天我们将会讲解如何打造一个高效的个人记账系统。
为了打造一个高效的个人记账系统,我们需要选择一款稳定的数据库管理系统。在这里,我们选择MySQL作为我们的数据库管理系统。MySQL是一个开源的关系型数据库管理系统,它具有高性能、可靠性、稳定性等特点,可以满足我们的需求。
接下来,我们需要设计我们的数据库架构。在这里,我们采用三张表来存储数据,分别是用户表、类别表和账单表。其中,用户表用来存储用户的信息,类别表用来存储账单的类别(如:餐费、交通费、日用品等),账单表用来存储用户的收支信息。下面是三张表的详细信息:
用户表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘用户id’,
`name` varchar(50) NOT NULL COMMENT ‘用户姓名’,
`password` varchar(50) NOT NULL COMMENT ‘用户密码’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用户表’;
类别表:
CREATE TABLE `category` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘类别id’,
`name` varchar(50) NOT NULL COMMENT ‘类别名称’,
`income` tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘是否是收入(0:支出,1:收入)’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’类别表’;
账单表:
CREATE TABLE `bill` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘账单id’,
`user_id` int(11) NOT NULL COMMENT ‘用户id’,
`category_id` int(11) NOT NULL COMMENT ‘类别id’,
`type` tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘类型(0:支出,1:收入)’,
`amount` decimal(18,2) NOT NULL COMMENT ‘金额’,
`desc` varchar(255) DEFAULT NULL COMMENT ‘备注’,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’账单表’;
在设计好数据库架构之后,我们需要通过MySQL提供的各种语句来完成数据库的操作。下面是一些常用的MySQL语句:
创建数据库:
CREATE DATABASE `account_book` /*!40100 COLLATE ‘utf8_general_ci’ */;
选择数据库:
USE `account_book` ;
创建用户表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘用户id’,
`name` varchar(50) NOT NULL COMMENT ‘用户姓名’,
`password` varchar(50) NOT NULL COMMENT ‘用户密码’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’用户表’;
插入用户数据:
INSERT INTO `user`(`id`,`name`,`password`) VALUES (null,’admin’,’admin’);
创建类别表:
CREATE TABLE `category` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘类别id’,
`name` varchar(50) NOT NULL COMMENT ‘类别名称’,
`income` tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘是否是收入(0:支出,1:收入)’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’类别表’;
插入类别数据:
INSERT INTO `category`(`id`,`name`,`income`) VALUES (null,’餐费’,0),(null,’交通费’,0),(null,’日用品’,0),(null,’工资’,1),(null,’奖金’,1);
创建账单表:
CREATE TABLE `bill` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘账单id’,
`user_id` int(11) NOT NULL COMMENT ‘用户id’,
`category_id` int(11) NOT NULL COMMENT ‘类别id’,
`type` tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘类型(0:支出,1:收入)’,
`amount` decimal(18,2) NOT NULL COMMENT ‘金额’,
`desc` varchar(255) DEFAULT NULL COMMENT ‘备注’,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’账单表’;
插入账单数据:
INSERT INTO `bill`(`id`,`user_id`,`category_id`,`type`,`amount`,`desc`,`create_time`) VALUES
(null,1,1,0,30,’晚餐’,null),
(null,1,2,0,5,’公交车’,null),
(null,1,3,0,50,’日用品’,null),
(null,1,4,1,10000,’工资’,null),
(null,1,5,1,500,’奖金’,null);
以上就是一个基本的个人记账系统所需要的MySQL相关内容,通过上述代码依次运行数据库语句,我们便可以成功建立一个简单的账单系统。当然,完整的账单系统需要涵盖更多功能与实现,如报表、图表等,但是本文的重点是如何利用MySQL打造一个高效的个人记账系统,因此只为大家提供一个基础架构,供大家学习参考。