结构代码

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.5.54 : Database - demo
*********************************************************************
*/


/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`demo` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `demo`;

/*Table structure for table `flowers` */

DROP TABLE IF EXISTS `flowers`;

CREATE TABLE `flowers` (
  `f_id` BIGINT(18) NOT NULL AUTO_INCREMENT COMMENT '花呗表id',
  `f_quota` INT(5) NOT NULL COMMENT '花呗额度',
  `f_mapping_user` BIGINT(18) NOT NULL COMMENT '用户id',
  PRIMARY KEY (`f_id`)
) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

/*Table structure for table `user` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `u_id` BIGINT(18) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `u_name` VARCHAR(15) NOT NULL COMMENT '用户名',
  `u_sex` CHAR(1) NOT NULL DEFAULT '男' COMMENT '性别',
  `u_createtime` DATETIME NOT NULL COMMENT '创建时间',
  `u_eff` INT(1) NOT NULL DEFAULT '1' COMMENT '有效',
  `u_credit_points` INT(11) NOT NULL DEFAULT '100' COMMENT '信用',
  PRIMARY KEY (`u_id`)
) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

视图的创建(对用户总数和花呗金额进行求和)

/*创建视图*/
CREATE
     /*视图算法*/
    /*[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    视图定义者
    [DEFINER = { user | CURRENT_USER }]
    sql的安全性
    [SQL SECURITY { DEFINER | INVOKER }]*/
    VIEW `demo`.`statisticsview` 
    AS
(SELECT COUNT(*) AS users,SUM(`f_quota`) AS flowers FROM `user`,`flowers` 
WHERE `f_mapping_user` = `u_id`);

查询视图

SELECT * FROM statisticsview

什么是视图?

mysql的视图的5.0.1版本之后开始提供的。
视图(View)是一种虚拟存在的表,对使用视图的用户来说基本是透明的。
视图并不在数据库中实际存在,行和列数据来自定义视图中查询中使用
的表,并且是在使用视图时动态生成的。

最后修改于 2021-09-26 10:02:43
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇