mysql存储、function、触发器等实例

一.创建数据库&表

1 1 DROP DATABASE IF EXISTS security; 2 2 CREATE database security; 3 3 USE security; 4 4 CREATE TABLE users 5 5 ( 6 6 id int(3) NOT NULL AUTO_INCREMENT, 7 7 username varchar(20) NOT NULL, 8 8 password varchar(20) NOT NULL, 9 9 PRIMARY KEY (id) 1010 );

二.存储过程判断账号是否存在,不存在,插入用户信息,返回消息;存在,返回信息

1 1 #--存储过程判断账号是否存在,不存在,插入用户信息,返回消息;存在,返回信息 2 2 CREATE PROCEDURE users01 ( 3 3 IN un VARCHAR (20), 4 4 IN pd VARCHAR (20), 5 5 OUT result nvarchar (50) 6 6 ) 7 7 BEGIN 8 8 9 9 IF EXISTS ( 1010 SELECT 1111 * 1212 FROM 1313 users 1414 WHERE 1515 username = un 1616 ) THEN 1717 1818 SET result = '对不起,账号已存在!'; 1919 2020 2121 ELSE 2222 INSERT INTO users (username, PASSWORD) 2323 VALUES 2424 (un, pd); 2525 2626 2727 SET result = '恭喜,用户信息插入成功!'; 2828 2929 3030 END 3131 IF; 3232 3333 SELECT 3434 result; 3535 3636 3737 END; 3838 #--调用存储过程 3939 CALL users01 ( 4040 'username01', 4141 'password01' ,@result 4242 ); 4343 #--删除存储过程 4444 DROP PROCEDURE users01; 4545 #--查看存储状态 4646 SHOW PROCEDURE STATUS;

三.创建触发器

11 #---创建触发器 22 drop TRIGGER if exists test_tri; 33 CREATE TRIGGER test_tri BEFORE INSERT ON users FOR EACH row SET @num = @num + 1; 44 55 #---实现触发器 66 SET @num = 0; 77 INSERT INTO users (username,password) VALUES ('username02','password02'); 88 SELECT @num;

四.创建函数

1 1 #--创建方法/函数 2 2 DROP FUNCTION 3 3 IF EXISTS getusername; 4 4 5 5 CREATE FUNCTION getusername (un VARCHAR(20)) RETURNS VARCHAR (300) 6 6 BEGIN 7 7 RETURN ( 8 8 SELECT 9 9 PASSWORD 1010 FROM 1111 users 1212 WHERE 1313 username = un 1414 ); 1515 1616 1717 END; 1818 1919 #--调用函数 2020 SELECT 2121 getusername ('username01');

五.视图

11 #--创建视图,查询视图 22 drop view if EXISTS test_view_1; 33 CREATE VIEW test_view_1 AS SELECT `username` FROM users; 44 select *from test_view_1;

六.删除数据

truncate TABLE users;
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''

mysql存储、function、触发器等实例 - HelloWorld