一.创建数据库&表
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;