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


    一.创建数据库&表

     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;
  • 相关阅读:
    BZOJ 1013: [JSOI2008]球形空间产生器sphere
    BZOJ 1012: [JSOI2008]最大数maxnumber
    BZOJ 1011: [HNOI2008]遥远的行星
    BZOJ 1008: [HNOI2008]越狱
    BZOJ 1007: [HNOI2008]水平可见直线
    BZOJ 1003: [ZJOI2006]物流运输
    Spark core 总结
    SparkRDD算子(transformations算子和actions算子)
    SparkRDD算子初识
    初识Spark
  • 原文地址:https://www.cnblogs.com/VVsky/p/10819112.html
Copyright © 2020-2023  润新知