银行操作系统简单交易
来源:互联网 发布:苹果系统删除软件 编辑:程序博客网 时间:2024/05/21 08:04
#创建用户并给其附权限
#用户信息
create table useinfo(
customerID int (4) primary key auto_increment,
customerName char(8) not null comment'用户编号',
pid char (18) unique not null comment ' 身份证号',
telephone char(11) not null comment '手机号',
address varchar(50) comment '居住地址'
)engine = innoDB,comment = '用户表';
#银行卡信息表
create table cardInfo(
cardID char(16) primary key not null comment'银行卡号',
curID varchar(50) not null default 'RMB' ,
savingID varchar(50) not null comment = '存款类型',
openDate timestamp not null default now() comment '开户日期',
openMoney decimal(9,2) not null comment '开户金额',
balance decimal(9,2) not null comment '余额',
password char(6) not null default '888888',
IsReportLosss bit not null default 0,
customerID int not null comment'客户编号'
);
#交易信息表
create table tradeInfo(
transDate timestamp not null default now() comment'交易日期',
cardID char(16) not null ,
transType char(6) not null comment'交易类型',
transMoney decimal(9,2) not null comment'交易金额',
remark text comment '备注'
);
#存款类型表
create table deosit(
savingID int primary key auto_increment comment'存款类型号',
savingName varchar(50) not null comment'存款类型名称',
descrip varchar(252) comment'描述'
);
#银行卡信息到用户信息的外键约束
alter table cardInfo add constraint 'fk_user_cardInfo' foreing key ('customerID') references 'userInfo'(customerID)
alter table tradeInfo add constraint 'fk_trade_cardInfo' foreing key ('cardID') references 'cardInfo'('cardID')
1.办理银行卡挂失
使用UPDATE语句实现密码变更和卡挂失UPDATE … WHERE …
UPDATE cardInfo SET IsReportLoss=1 WHERE cardID='1010357612121134'
SELECT * FROM cardInfo
2.统计银行总存入金额和总支取金额
使用聚合函数SUM()
SELECT tradeType 资金流向, SUM(tradeMoney) 总金额 FROM…
SELECT * FROM tradeInfo;
SELECT tradeType 资金流向, SUM(tradeMoney) 总金额 FROM tradeInfo GROUP BY tradeType;
3.查询本周开户的卡号,显示该卡相关信息
SELECT …FROM…WHERE WEEK(NOW()) = WEEK(openDate);
SELECT c.cardID 卡号,u.customerName 姓名,c.curID 货币,d.savingName 存款类型,c.openDate 开户日期,c.openMoney 开户金额,c.balance 存款余额,IsReportLoss 账户状态
FROM cardInfo c INNER JOIN userInfo u ON (c.customerID = u.customerID)
INNER JOIN deposit d ON (c.savingID = d.savingID )
WHERE WEEK(NOW()) = WEEK(openDate);
4.查询本月交易金额最高的卡号
使用子查询和DISTINCT关键字去掉重复的卡号
SELECT DISTINCT cardID FROM transInfo WHERE transMoney = ( SELECT … FROM … )
SELECT * FROM tradeInfo;
SELECT DISTINCT cardID FROM tradeInfo WHERE tradeMoney=
(SELECT MAX(tradeMoney) FROM tradeInfo
WHERE MONTH(tradeDate)=MONTH(NOW())
AND YEAR(tradeDate)=YEAR(NOW()));
5.查询挂失账号的客户信息
使用子查询IN 或内联接查询INNER JOIN
SELECT … FROM userInfo WHERE customerID IN ( SELECT … FROM … )
SELECT customerName AS 客户姓名,telephone AS 联系电话 FROM userInfo
WHERE customerID IN (SELECT customerID FROM cardInfo WHERE IsReportLoss='挂失');
6.催款提醒业务
使用子查询IN 或内联接查询IN0.NER JOIN
SELECT … FROM userInfo INNER JOIN …
SELECT customerName AS 客户姓名,telephone AS 联系电话,balance AS 存款余额
FROM userInfo INNER JOIN cardInfo ON userInfo.customerID=cardInfo.customerID
WHERE balance<200;
- 银行操作系统简单交易
- 简单的银行操作系统
- SQL触发器银行交易使用实例
- ISO 8583协议-银行交易的标准
- ISO 8583协议-银行交易的标准
- ISO 8583协议-银行交易的标准
- 银行核心操作系统as400 rs6000
- 简单的银行
- 简单的银行系统
- 简单的银行系统
- 简单的银行系统
- 简单的银行管理
- 简单的银行系统
- 简单银行信息系统
- 简单银行管理系统
- 简单的银行系统
- 银行封杀信用卡支付宝交易 无利可图是主因
- 北京银行小米合作股价涨停 疑存内幕交易
- 解决Unable toconnect to a repository at URL 禁止访问(forbidden)
- CentOS 6.5 下载地址
- docker应用-5(使用overlay 网络进行容器间跨物理主机通信)
- 链栈的基本操作
- 【C#】txt的读写
- 银行操作系统简单交易
- Intel80x86内存寻址
- git学习-- -fatal: 不是一个有效的对象名:'master'。
- MyBatis test 数字判断没生效
- hbase日志出现Session expired异常排查方法
- H5游戏的开发特点
- mac下设置redis开机启动方法步骤
- docker应用-6(mysql+mycat 搭建数据库集群)
- StringTokenizer的用法及示例