一.创建数据库&表
1 DROP DATABASE IF EXISTS security;
2 CREATE database security;
3 USE security;
4 CREATE TABLE users
5 (
6 id int(3) NOT NULL AUTO_INCREMENT,
7 username varchar(20) NOT NULL,
8 password varchar(20) NOT NULL,
9 PRIMARY KEY (id)
10 );
二.存储过程判断账号是否存在,不存在,插入用户信息,返回消息;存在,返回信息
1 #--存储过程判断账号是否存在,不存在,插入用户信息,返回消息;存在,返回信息
2 CREATE PROCEDURE users01 (
3 IN un VARCHAR (20),
4 IN pd VARCHAR (20),
5 OUT result nvarchar (50)
6 )
7 BEGIN
8
9 IF EXISTS (
10 SELECT
11 *
12 FROM
13 users
14 WHERE
15 username = un
16 ) THEN
17
18 SET result = '对不起,账号已存在!';
19
20
21 ELSE
22 INSERT INTO users (username, PASSWORD)
23 VALUES
24 (un, pd);
25
26
27 SET result = '恭喜,用户信息插入成功!';
28
29
30 END
31 IF;
32
33 SELECT
34 result;
35
36
37 END;
38 #--调用存储过程
39 CALL users01 (
40 'username01',
41 'password01' ,@result
42 );
43 #--删除存储过程
44 DROP PROCEDURE users01;
45 #--查看存储状态
46 SHOW PROCEDURE STATUS;
三.创建触发器
1 #---创建触发器
2 drop TRIGGER if exists test_tri;
3 CREATE TRIGGER test_tri BEFORE INSERT ON users FOR EACH row SET @num = @num + 1;
4
5 #---实现触发器
6 SET @num = 0;
7 INSERT INTO users (username,password) VALUES ('username02','password02');
8 SELECT @num;
四.创建函数
1 #--创建方法/函数
2 DROP FUNCTION
3 IF EXISTS getusername;
4
5 CREATE FUNCTION getusername (un VARCHAR(20)) RETURNS VARCHAR (300)
6 BEGIN
7 RETURN (
8 SELECT
9 PASSWORD
10 FROM
11 users
12 WHERE
13 username = un
14 );
15
16
17 END;
18
19 #--调用函数
20 SELECT
21 getusername ('username01');
五.视图
1 #--创建视图,查询视图
2 drop view if EXISTS test_view_1;
3 CREATE VIEW test_view_1 AS SELECT `username` FROM users;
4 select *from test_view_1;
六.删除数据
truncate TABLE users;