MYSQL学习笔记(六)

函数:

1.字符函数:



2,数值运算符与函数:


3 ,比较运算符与函数:


4.日期时间函数:


5.信息函数:


6,聚合函数:

7,加密函数:


自定义函数:

    自定义函数的必要两个条件:

    1.参数

    2.返回值

    函数可返回任意类型的值 ,同样可以接受这些类型的参数

    创建自定义函数:

    CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body

    函数体:

    1,函数体由合法SQL语句构成    

    2 , 函数体可以是简单的SELECT或INSERT语句

    3,函数体如果为复合结构则使用BEGIN_END语句

    4,复合结构可以包含声明,循环,控制结构

创建无参函数示例:

    

    

创建有参函数:

    

      CREATE FUNCTION name(参数) 

            返回类型

             返回值

   创建符合结构函数:


CREATE FUNCTION name(参数)

   返回类型

    BEGIN

    流程语句

    END

删除函数:

DROP FUNCTION [IF EXISTS] function_name

MYSQL存储过程


    存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理

   优点:   

        增强SQL语句的功能和灵活性

        实现较快的执行速度

        减少网络流量

   创建存储过程:

    CREATE [DEFINER={user | CURRENT_USER}]

    PROCEDURE sp_name ([proc_parameter[,...]])

    [characteristic ...]    routine_body

    proc_parameter:[ IN | OUT | INOUT] param_name type

修改存储过程:

    ALTER PROCEDURE   sp_name [characteristic ...] COMMENT 'string'

    |{CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | SQL SECURITY 

    {DEFINER | INVOKER} 

  删除存储过程:

   DROP PROCEDURE [IF EXISTS] sp_name  

  IN,表示参数的值必须在调用存储过程时指定

    OUT,表示参数的值可以被存储过程改变,并且可返回

    INOUT,表示该参数的调用时指定,并且可以被改变和返回

    过程体:

    过程体为合法的SQL语句构成

    过程体可以是任意的SQL语句

    过程体如果为复合结构则使用BEGIN...END 语句

    复合结构可以包含声明,循环,控制结构

    创建无参存储过程:

    

    调用存储过程:

    CALL sp_name([parameter[,...]])    

    CALL sp_name[()]

    

   创建带有IN参数的存储过程




   创建带有IN和OUT类型参数


创建带有多个OUT的类型参数

   

    存储过程与自定义函数的区别:

    存储过程实现的功能复杂;函数的针对性更强

    存储过程可以返回多个返回值;函数只能有一个返回值

    存储过程一般独立执行;而函数可作为其他SQL语句的组成部分来实现

存储引擎:

        MYSQL可以将数据以不同的技术存储在文件(内存)中,这种技术称之存储引擎。

           每种存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛不同的功能。

            -MyISAM

            -InnoDB

            -Memory

            -CSV     

            -Archive

    1.并发控制

            当一个连接对记录进行修改时保证数据的一致性和完整性.

    锁:

   -共享锁(读锁):在同一时间段内,多个用户可以读取同一个资源,读取过程中数据不会发生变化。

   -排它锁(写锁):在任何时候只能有个用户写入资源,当进行写锁时会阻塞其他的读写。

            行锁:开销最大

            表锁:开销最小

    2.事务

        -事务保证数据库的完整性

        特性:-原子性(Atomicity)

                        -一致性(Consistency)

                       -隔离性(Isolation)

                       -持久性 (Durability)

    3.外键

   4.索引:对数据表中一行或多行的值进行排序的一种结构。

                

   修改存储引擎的方法:

    1修改MYSQL配置文件:

        -default-storage-engine=engine

    2创建数据表命令实现    

        CREATE TABLE name(....) ENGINE=engine;

    

        修改表的存储引擎     

        

        MyISAM:存储限制可达256TB,支持索引,表级锁定,数据压缩。

        InnoDB:存储限制为64TB,支持事务和索引,锁颗粒为行锁。

                   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值