day61

参考:http://www.cnblogs.com/wupeiqi/articles/5713323.html

视图

视图:给某个查询语句设置别名,日后方便使用    
            
        - 创建
            create view 视图名称 as  SQLs语句
            
            PS: 视图是虚拟的   不存在insert
        - 修改
            alter view 视图名称 as  SQL语句
            
        - 删除
            drop view 视图名称;

触发器

当对某张表做:增删改操作时,可以使用触发器自定义关联行为

create trigger 触发器名称 before insert on tb1 for each row

begin

.......

end

每在插入一行前,先执行begin~end中内容。

查询时用不到触发器

#遇到;不能完整执行需要将中止符修改
-- delimiter//
-- create trigger t1 before INSERT on student for each row
-- BEGIN
-- INSERT INTO teacher(tname) values('触发器'); #表示写完了
--
-- END//
-- delimiter;
-- insert into student(gender, class_id, sname) values("女",1,'触发');#插入两行则触发两次

执行触发器后,触发器一直存在。

触发器运行过之后,一直存在,不需要时,需要删除。

drop trigger t1;

插入学生的数据同样插入老师的表中 NEW

#插入学生的数据再插入老师的表中
-- delimiter//
-- create trigger t1 before INSERT on student for each row
-- BEGIN
-- INSERT INTO teacher(tname) values(NEW.sname); #表示写完了
--
-- END//
-- delimiter; insert into student(gender, class_id, sname) values("女",1,'啦啦');#插入两行则触发两次

先执行触发器,结束后注释(触发器已存在),再执行insert语句,数据插入student和teacher表中。

NEW,表示新数据,insert,   update(既有新数据,更新为的数据)

OLD,表示老数据,delete,   update(又有老数据,被更新数据)

函数

内置函数

select CURDATE();#执行函数
select CHAR_LENGTH('vdsv');#计算字符长度
select CONCAT('ccd','csc','FF');#拼接

执行结果:

等等函数。

关于时间的函数https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

执行函数 select CURDATE();
            
            blog
            id       title            ctime
             1        asdf        2019-11
             2        asdf        2019-11
             3        asdf        2019-10
             4        asdf        2019-10
                  
            select ctime,count(1) from blog group ctime
            
            select DATE_FORMAT(ctime, "%Y-%m"),count(1) from blog group DATE_FORMAT(ctime, "%Y-%m")
            2019-11   2
            2019-10   2

以上按月份进行分组,比如cnblogs中按月份分组的文章。

自定义函数:

delimiter \\
create function f1(
i1 int,
i2 int)
returns int BEGIN
declare num int;
set num = i1 + i2;
return(num);
END \\
delimiter ;

SELECT f1(1,100);          #函数有返回值。

MySQL(视图、触发器、函数)的更多相关文章

  1. mysql 视图/触发器/函数

    一.视图 作用:简写代码,与临时表的作用差不多 .创建 create view 视图名 as SQL语句 .修改 alter view 视图名 as 新SQL语句 .删除 drop view 视图名 ...

  2. Database学习 - mysql 视图/触发器/函数

  3. mysql 视图 触发器 存储过程 函数事务 索引

    mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当 ...

  4. MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称

    MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称   INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA. ...

  5. mysql 查询表,视图,触发器,函数,存储过程

    1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TAB ...

  6. Mysql 视图,触发器,存储过程,函数,事务

    视图 视图虚拟表,是一个我们真实查询结果表,我们希望将某次查询出来的结果作为单独的一个表,就叫视图,无法对图字段内容进行增删改. --格式: CREATE VIEW 视图名字 AS 操作; --比如: ...

  7. MySQL视图,函数,触发器,存储过程

    1. 视图 视图是一个虚拟表,它的本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来, ...

  8. mysql 视图 触发器 事物 存储过程 函数 流程控制

    1.视图 *** 视图是有一条sql语句的查询结果构成的虚拟表 其不是物理存在的 使用方式与普通表相同 视图的作用1.简化sql语句的编写 2.限制可以查看的数据 可以使用权限来完成 权限某一个库 的 ...

  9. mysql视图 触发器 事物 函数 存储过程

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  10. MySQL 视图触发器事务存储过程函数

    事务  致命三问 什么是事务:开启了一个包含多条SQL语句的事务,这些SQL语句要么都执行成功,要么有别想成功:例如A向B转账,二人账户并不属于一家银行,在转账过程中由于网络问题,导致A显示转账 成功 ...

随机推荐

  1. BZOJ1699: [Usaco2007 Jan]Balanced Lineup排队 - 线段树

    description 查询区间最大和最小 题解 线段树 愉悦身心啊 代码 #include<cstring> #include<cstdio> #include<alg ...

  2. UDP接收数据

    http://blog.csdn.net/xingzheouc/article/details/49946191 http://blog.csdn.net/robertkun/article/deta ...

  3. Java数据结构和算法(一)线性结构之单链表

    Java数据结构和算法(一)线性结构之单链表 prev current next -------------- -------------- -------------- | value | next ...

  4. 【JS】判断浏览器类型

    判断原理 JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性 ...

  5. GitHub 安装配置

    1:到 Github 注册 页面中注册,填写用户名.邮箱和密码 选择免费服务 步骤三可以根据自身喜好勾选或者直接跳过 2.1.2 创建远程仓库 创建完账号后,可以开始创建仓库 但是这里我们还没有验证邮 ...

  6. BZOJ 1009 [HNOI2008]GT考试 (KMP + 矩阵快速幂)

    1009: [HNOI2008]GT考试 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 4266  Solved: 2616[Submit][Statu ...

  7. HDU 2546 饭卡 (01背包问题)

    题意:中文的吧,飘过~ 析:学过DP的都应该感觉到是动态规划吧,就是一个01背包问题,不同的是,这个题又加入一些新的条件,就是不满5元不能消费,过了5元即使超了也行(这个学校真不错,都可以预支),最后 ...

  8. 7) mvn dependency:tree

    http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html mvn dependency:tree 查看 <de ...

  9. Python 运行 Python hello.py 出错,提示: File "<stdin>" , line 1

    写了一个hello.py,仅有一句,print 'hello world', 运行 Python hello.py 出错,提示: File "<stdin>" , li ...

  10. tensorflow1.12 cuda10 cudnn7

    https://download.csdn.net/download/giselite/10909984 https://blog.csdn.net/chary8088/article/details ...