• MySQL数据库的存储结构


    --把若干条sql语句封装起来,起个名字,叫做过程,也是没有返回值的函数
    --把这个过程存储在数据库中->存储过程
    
    --存储过程的创建过程
    create procedure proceduceName()
    begin
    sql 语句
    end$
    
    --查看
    show procedure status G
    
    --调用
    call procedureName()$
    
    --声明变量
    declare age int default 18;
    
    --运算
    set age:=age+10;
    
    --改变边界
    delimiter $
    
    --例子
    create procedure p1()
    begin
    declare age int default 18;
    
    set age:=age+10;
    select age;
    end$
    
    --用call p1()$调用时出现 age    28
    
    --创建表
    create table test(
    id int,
    name varchar(30) not null default '',
    age int,
    content varchar(40)
    )engine myisam charset utf8$
    
    --插入数据
    insert into test values (1,'zhangsan',13,'学习好'),(2,'lisi',15,'智慧的化身'),(2,'wangwu',14,'不起眼')$
    
    --存储过程存储sql语句
    create procedure p2()
    begin
    select content from test where age=15;
    end$
    
    --存储过程是可以编程的
    --意味着可以使用变量,表达式,控制结构完成复杂的功能
    
    --if/else语句的使用
    if 条件 then
    语句;
    else if 条件 then
    语句;
    else 
    语句;
    end if;
    
    create procedure p3()
    begin
    declare age int default 18;
    
    if age>=18 then
    select '你已经成年了';
    else
    select '未成年';
    end if;
    end$
    
    --while 循环
    while 条件 do
    语句;
    end while;
    
    
    --括号里可以声明参数
    --参数类型 [in/out/inout] 参数名  参数类型
    create procedure p4(agee int)
    begin
    select name from test where age=agee;
    end$
    
    in 表示输入参数 传参
    out 表示输出参数 传变量名 向外传值 要设置初始化值
    inout 输入参数执行后再输出 传入一个声明过的变量名
    
    create procedure p5(in age int)
    begin
    select age as '你几岁了'; 
    end$
    
    --out 参数,要在procedure 内部初始化参数
    create procedure p6(out result int)
    begin
    declare i int default 1;
    set result:=0;
    while i<=100 do
    set result:=result+i;
    set i:=i+1;
    end while;
    end$
    --调用
    call p6(@num)$
    select @num$
    
    
    --inout 参数
    create procedure p7(inout age int)
    begin
    set age:=age+10;
    select age as '10年后你几岁了';
    end$
    
    set @age=10$
    call p7(@age)$
    select @age$
    
    
    --case语句
    case 变量名
    when 值1 then 操作1;
    when 值2 then 操作2;
    ...
    else 操作n;
    end case;
    
    
    --repeat 循环
    repeat 
    操作语句
    until 条件 end repeat;
    
  • 相关阅读:
    函数中的参数说明
    向脚本传递参数
    声明变量类型,数据类型转换
    获取脚本所在目录
    CSV输入输出
    判断计算机是否可以ping通
    REST风格框架:从MVC到前后端分离***
    angularjs + springmvc 上传和下载
    JDBC进行简单的增删改查
    关于有时候导入maven项目时候报错(有红色叹号,类中导入的包提示"the import java.util cannot be resolve,")
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4885702.html
Copyright © 2020-2023  润新知