文档章节

Mysql入门使用(慢慢探索)

绝艳天纵
 绝艳天纵
发布于 2012/04/11 17:34
字数 633
阅读 75
收藏 0

Mysql 通过source命令可以直接运行*.sql的脚本,在命令行下不需要在进行复制粘贴什么的了:

mysql>source D:\XX*.sql

 

 

学了一段时间数据库和JSP了,

决定用linux+tomcat+JSP+MYSQL给自己做一个记账本,只为把这些主流功能熟悉,最终目标是较好的实现;

其中JSP一定要使用SSH框架,以降低耦合度,为以后扩展做准备;

同时熟悉MYSQL基本的操作,包括存储过程、触发器和视图的使用;

 

首先先设计数据库:

在shell下,进入mysql只需输入>set NAMES utf8;

即可改变编码格式,以输入中文

create database accounts character set 'utf8';

 

 

    create table accounts.records(

        id INT(10) not null auto_increment,

       date INT(10) not null,

       month INT(10) not null,

       week INT(10) not null,

       income FLOAT(20) not null,

       expend FLOAT(20) not null,

       remark VARCHAR(255),

        primary key (id)

    );

 

 

    create table accounts.weeks(

        id INT(10) not null,

       income FLOAT(20) not null,

       expend FLOAT(20) not null,

        primary key (id)

    );

 

create table accounts.months(

        id INT(10) not null,

       income FLOAT(20) not null,

       expend FLOAT(20) not null,

        primary key (id)

    )

 

create table accounts.days(

        id INT(10) not null,

       income FLOAT(20) not null,

       expend FLOAT(20) not null,

        primary key (id)

    )

 

以下单个条数均成功:

create trigger t1 after insert on records for each row update weeks set weeks.income=weeks.income+NEW.income,weeks.expend=weeks.expend+NEW.expend where weeks.id=NEW.week;

 

create trigger t2 after insert on records for each row update months set months.income=months.income+NEW.income,months.expend=months.expend+NEW.expend where months.id=NEW.month;

 

但不能在一个动作下加两个触发器动作:

参照教材改为:

create trigger t1 after insert on records for each row

begin

update weeks set weeks.income=weeks.income+NEW.income,weeks.expend=weeks.expend+NEW.expend where weeks.id=NEW.week;

update months set months.income=months.income+NEW.income,months.expend=months.expend+NEW.expend where months.id=NEW.month;

end

应该是没错的  可是还是失败;

 

使用select week as 周,sum(income) as 周收入,sum(expend) as 周支出  from records group by week;语句可以完美得出周汇总

同理select month as 月,sum(income) as 月收入,sum(expend) as 月支出  from records group by month;也可以得出月汇总

 

因而决定采用VIEW(视图的形式)

CREATE VIEW accounts.week

AS

select week as 周,sum(income) as 周收入,sum(expend) as 周支出  from records group by week;

 

CREATE VIEW accounts.month

AS

select month as 月,sum(income) as 月收入,sum(expend) as 月支出  from records group by month;

 

CREATE VIEW accounts.day

AS

select month as 日期,sum(income) as 日收入,sum(expend) as 日支出  from records group by date;

 

 

在相应的使用中  只需将视图作为一个单独的table即可

即:select * from accounts.week;

   select * from accounts.month;

   select * from accounts.day;

 

 

mysql中(视图有所不同)

看数据库>show databases;

看表 >show tables;

看触发器 >show triggers;

看视图 >show table status where comment='view'; 

© 著作权归作者所有

绝艳天纵
粉丝 5
博文 38
码字总数 47139
作品 0
程序员
私信 提问
美折网在node.js上的尝试

最近论坛上好多人贴自己的网站,按捺不住地将自己的网站美折网贴出来,一是给自己的网站增加一点访问量(虽然我知道OSC的桶子们肯定不是我的目标用户);二是分享一些开发过程中的技术经验,...

梵高
2013/08/10
1K
4
MAMP中设置Mysql root密码

作为一名大三学生,我的技术还很薄弱,最近想学习一下PHP+mysql进行web开发,由于用的是mac机器,并且希望快速入门而不必将时间花费在环境搭建上,我选择了使用MAMP集成开发环境,我会慢慢将...

Alex_曰生
2014/12/05
0
0
AIDL学习

源于《Android开发艺术探索》,作者讲的跨进程通信之AIDL。 作者是在同一个moudle下写的aidl,我为了模拟真实情况,所以在两个不同的app下面使用了。 说一些注意的点吧。 首先Aidl支持的类型...

Avalon1
2017/07/04
0
0
《JavaScript DOM 编程艺术(第2版)》 推介

因为想学习一下前端的编程,所以搜罗了一些JavaScript的书目,其中就包括了这本,总的来说,并没有让我失望吧,推荐阅读,有人说这本书对于新手来说还是有些困难,但看过后,我认为这本书就是...

幸运的兔脚
2013/05/04
0
0
Archsummit 2019重磅分享|闲鱼Flutter&FaaS云端一体化架构 | 7月19号云栖夜读

点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.Archsummit 2019重磅分享|闲鱼Flutter&FaaS云端一体化架构 国有,闲鱼架构团队负责人。在7月13号落幕的2019年Archs...

yq传送门
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

平衡二叉树的建立 c语言范例

#include <stdio.h> #include <stdlib.h> #include <string.h> struct node { int data; int high; struct node *lt, *rt; }; int max(int a, int b) { return a>b?a:b; } ///深度 int deep......

yky20190625
28分钟前
0
0
solr

简介:solr是基于全文检索的企业级应用服务器。 solr入门案列。 配置: (1)配置Solr服务器。 1.解压一个Tomcat 2.部署solr服务到Tomcat中 3.添加solr运行依赖的jar包 (2)配置SolrHome。(...

klmkom
32分钟前
3
0
nginx 可以使用 alias 指定 其他目录,做静态服务器

比如 访问 图片,/images 去到 对应的 硬盘地址去获取。 expires 表示 缓存的意思, 这里缓存 一天

之渊
37分钟前
2
0
linux redis后台运行

daemonize no -> yes /usr/local/redis/redis-4.0.10/src/redis-server /usr/local/redis/redis-4.0.10/redis.conf...

八戒八戒八戒
48分钟前
2
0
SSM(SPRING+SPRINGMVC+MYBATIS)框架搭建

一. SSM框架架构及流程介绍 SSM框架,通常是指将spring mvc+spring+mybatis三个框架整合在一起进行工作,spring mvc本身就是spring的一部分,所以这两者之间不用整合,这里主要做的事情就是将...

潜行-L
51分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部