MySQL常用语法

存储过程PROCEDURE
DROP PROCEDURE IF EXISTS usp_test;
DELIMITER //
CREATE PROCEDURE `usp_test`()
COMMENT ‘存储过程注释’
BEGIN
  -- 需要执行的SQL
  SELECT * FROM tb_a;
  SELECT * FROM tb_b;
END//
DELIMITER ;
函数FUNCTION
DROP FUNCTION IF EXISTS `fn_test`;
DELIMITER //
CREATE FUNCTION `fn_test`(`in_name` VARCHAR(50)) RETURNS varchar(50) CHARSET utf8
BEGIN
     -- 函数体
     set @a=’Name=’;
     return concat(@a,in_name);
END//
DELIMITER ;
事件EVENT
DROP EVENT IF EXISTS `evt_test`;
DELIMITER //
CREATE EVENT `evt_task_member_statistics` ON SCHEDULE EVERY 1 DAY STARTS ‘2016-07-07 00:00:00’
ON COMPLETION PRESERVE ENABLE COMMENT ‘注释’ DO BEGIN
  -- 需要执行的SQL
  SELECT * FROM tb_a;
END//
DELIMITER ;     

备注:MYSQL默认是关闭事件机制的,需要自行开启
SET GLOBAL event_scheduler = 1; — 开启event
show variables like ‘event_%’; — 查看event开启状态

SQL语句性能分析
explain
select * from wp_posts a where a .ID= 5 and a .post_type= ‘post’;
创建临时表
DROP TEMPORARY TABLE IF EXISTS tmp_tb;
CREATE TEMPORARY TABLE tmp_tb (id int AUTO_INCREMENT PRIMARY KEY not null,service_id int not null);
无锁模式(Unlock)

MS SQL Server使用无锁查询模式只需要在表名后面加上(NOLOCK)

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
  -- SQL查询语句
  SELECT * FROM tb_a;
COMMIT ;

或者

SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
  -- SQL查询语句
  SELECT * FROM tb_a;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;
触发器(TRIGGER)

插入前

CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

插入后

CREATE TRIGGER tri_after_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

删除前

CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

删除后

CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

更新前

CREATE TRIGGER tri_before_update_tb1 BEFORE UPDATE ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

更新后

CREATE TRIGGER tri_after_update_tb1 AFTER UPDATE ON tb1 FOR EACH ROW
BEGIN
    -- sql
END

本文会持续更新…

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.什么是数据库? 一个装数据的大容器,有数据文件,日志文件,DBMS(数据库管理软件) 2.数据库是用来做什么的...
    风吹稻子阅读 6,721评论 0 2
  • 任务需求:定时执行的任务,调用存储过程,进行数据迁移。 存储过程相关总结:(存储过程的创建 不能伴随有if exi...
    时待吾阅读 3,129评论 0 4
  • 天气晴好,趁着秋日的阳光,来一场一个人的旅行。 街道两边的树叶都已泛黄,天很蓝,一切都很美好。 配着独属于秋日的凉...
    salute安阅读 301评论 0 0
  • 早起找户口卡,找项链先去院图、再去大图我原本坚信把户口卡放到了旅居者与外国人的书里生活真是开玩笑哪所有书里都木有又...
    dq920813阅读 135评论 0 0
  • “有意引导式”教师具备专业的态度,工作勤奋、坚持不懈,具有精益求精的精神,并且力求成为更有效的教师。他们有一个健全...
    西贝jhj阅读 310评论 0 0