MySQL学习笔记续完以及后续将学习

  1. 在使用过程中,SQLyog正常语句出现报错情况

    解决方式如下

    DELIMITER C R E A T E P R O C E D U R E h e l l o ( t a b l e n a m e V A R C H A R ( 20 ) ) B E G I N S E L E C T ∗ F R O M t a b l e n a m e ; E N D CREATE PROCEDURE hello(tablename VARCHAR(20)) BEGIN SELECT * FROM tablename; END CREATEPROCEDUREhello(tablenameVARCHAR(20))BEGINSELECTFROMtablename;END
    DELIMITER;

    删除存储过程

    drop procedure 存储过程;

    查看存储过程

    show create procedure 存储过程名;

    使用存储过程

    call 存储过程名();

    函数

    与存储过程相似

    好处:

    提高代码重用性

    简化操作

    减少编译次数和服务器的连接次数提高效率

    区别存储过程:

    存储过程:可以有0个返回,也可以有多个返回,适合批量插入,批量更新

    函数:有且仅有有1个返回,适合处理数据后返回一个结果

    创建语法

    create function 函数名(参数列表)returns 返回类型

    begin

    函数体

    end

    注意

    参数列表,包含两个部分

    参数名 参数类型

    函数体:肯定会有return语句,如果没有报错

    如果没有return语句没有在函数体也不会报错,但不建议

    return值:

    函数体仅有一句话时可以省略begin end

    使用delimiter语句设置结束标记

    调用语法

    select 函数名(参数列表)

    无参有返回

    create function myf1() returns int

    begin

    ​ declare c int default 0;

    ​ select count(*) into c

    ​ from employees;

    ​ return c;

    end

    不行的话就如下写法

    delimiter $$

    create function myf1() returns int

    begin

    ​ declare c int default 0;

    ​ select count(*) into c

    ​ from employees;

    ​ return c;

    end $$

    有参数类似上面

    使用函数

    select 函数(【参数列表】);

    删除函数

    drop function 函数名;


  2. 流程控制结构

    流程控制结构

    顺序结构:从上往下依次执行

    分支结构:程序从两条或多条路径中选择一条去执行

    循环结构:程序满足一定条件,重复执行一段代码

    分支结构:

    语法

    if(表达式1,表达式2,表达式3)

    如果表达式1成立,则函数返回表达2,否则返回表达3的值

    应用:任何地方

    case结构

    类似与switch语句

    语句

    case 变量|表达式|字段

    where 要判断的值 then 返回的值1;

    .。。。。。。。

    else 返回的值

    end

    情况2,类似于java的if语句

    case

    when 条件1 then 返回值1

    when 条件2 then 返回值2

    when 条件3 then 返回值3

    else 返回值

    end

    if语句

    if 条件1 then 语句;

    elseif 条件 then 语句;

    。。。。。。。。

    end if;

    应用在begin end中

    循环结构

    分类

    while,loop,repeat

    循环控制

    iterate类似于 continue继续结束本次循环

    leave类似于break结束于当前循环

    while

    【标签】while 循环条件 do

    循环体;

    end while【标签】

    loop:

    死循环,没有判断条件

    语法:

    loop 循环体

    end loop 【标签】

    repeat

    先执行后判断

    语法:

    【标签】repeat

    ​ 循环体;

    until 结束循环的条件

    end repeat;

  3. 高级MySQL

    mysql内核

    sql优化攻城狮

    mysql服务器的优化

    各种参数常量设定

    查询语句优化

    主从复制

    软硬件升级

    容灾备份

    sql编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值