一起学习网 一起学习网

打造高效的个人记账系统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打造一个高效的个人记账系统,因此只为大家提供一个基础架构,供大家学习参考。