为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • @MySQL---创建不带参数的存储过程
    1.调用存储过程

     CALL sp_name([parameter[,...]]) - 带参数的存储过程的调用
     CALL sp_name[()] - 不带参数的存储过程调用

    2.创建无参的存储过程
     eg:

     CREATE PROCEDURE sp1() SELECT VERSION(); //创建
     CALL sp1; //调用
     CALL sp1();
    查看全部
  • @MySQL---存储过程语法结构解析

    1.创建储存过程
     CREATE
     [DEFINER = {user|CURRENT_USER}]
     PROCEDURE sp_name ([proc_parameter[,...]]) //可以带0到多个参数
     [characteristic ...] routine_body
     其中参数
     proc_parameter:
     [IN | OUT | INOUT] param_name type
     IN, 表示该参数的值必须在调用存储过程时指定
     OUT, 表示该参数的值可以被存储过程改变,并且可以返回
     INOUT, 表示该参数的值调用时指定,并且可以被改变和返回
    2.特性
     COMMENT 'string'
     | {CONTAINS SQL|NO SQL|READS SQL DATA|MODIFIES SQL DATA|SQL SECURITY{DEFINER|INVOKER}
     COMMENT:注释
     CONTAINS SQL:包含SQL语句, 但不包含读或写数据的语句
     NO SQL:不包含SQL语句
     READS SQL DATA:包含读数据的语句
     MODIFIES SQL DATA:包含写数据的语句
     SQL SECURITY {DEFINER|INVOKER}指明谁有权限来执行
    3.过程体
     (1)过程体由合法的SQL语句构成;
     (2)过程体可以是任意SQL语句;
     (3)过程体如果为复合结构则使用BEGIN...END语句
     (4)复合结构可以使用条件、循环等控制语句

    查看全部
  • @MySQL——存储过程简介

    1.定义:
     存储过程是SQL语句与控制语句的【预编译集合】,以【一个名称存储】作为【一个单元处理】

    2.优点:
     · 增强了语句的功能和灵活性:通过控制语句对流程进行控制和判断。
     · 实现较快的执行速度:在【第一次调用时进行语法分析和编译】 ,以后直接从内存中得到结果。
     · 减少网络流量:数据更加少,流量就少了。

    查看全部
  • 自定义函数的回顾

    查看全部
    0 采集 收起 来源:课程回顾

    2018-05-25

  • 修改分隔符:DELEMITER 分隔符;

    eg:DELIMITER //  //将分隔符修改为 '//'

    当函数体内执行多条语句时,使用BEGIN...END语句;
    当编写函数体内容的时候,使用 DELIMITER 关键字将分隔符;修改为别的,否则写到 ';' 时会执,导致函数编写失败。
    删除函数:DROP FUNCTION [IF EXISTS] function_name

    eg:

    DELIMITER //
    CREATE FUNCTION ADD_USER(p_id SMALLINT,username VARCHAR(20))
    RETURNS INT UNSIGNED
    BEGIN
    INSERT user(p_id,username) VALUES(p_id,username);
    RETURN LAST_INSERT_ID();
    END
    查看全部
  • 创建带参数的自定义函数:

    CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED)
    RETURNS FLOAT(10,2) UNSIGNED
    RETURN(num1+num2)/2;
    SELECT f2();//报错
    SELECT f2(10,15);//结果:12.5
    查看全部
  • 创建日期时间自定义函数:

    CREATE FUNCTION f1() 
    RETURNS VARCHAR(30)
    RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');
    SELECT f1();
    查看全部
  • 1.自定义函数
     用户自定义函数(user-defined function, UDF)是一种对MySQL扩展的途径, 其用法与内置函数相同。 

    2.自定义函数的两个必要条件
     a.参数:最多1024个任意类型的参数
     b.返回值:任意类型
     函数的参数与返回值之间,没有必然的联系。

    3.创建自定义函数
     CREATE FUNCTION function_name
     RETURNS
     {STRING|INTEGER|REAL|DECIMAL}
     routine_body - 函数体

    4.关于函数体
     (1)函数体由合法的SQL语法构成;
     (2)函数体可以是简单的SELECT或INSERT语句;
     (3)函数体如果为复合结构则使用BEGIN...END语句;
     (4)复合结构可以包括声明,循环,控制结构。

    查看全部
  • @MySQL---内置函数库之七    加密函数

    1.MD5()    信息摘要算法

    //为Web页面信息加密做准备,MD5()返回32位字符串。
    SELECT MD5('admin'); //结果:21232f297a57a5a743894a0e4a801fc3

    2.PASSWORD()    密码算法

    //使用PASSWORD()修改当前用户和其他用户的密码
    SELECT PASSWORD('admin'); //结果:*4ACFE3202A5FF5CF467898FC58AAB1D615029441
    SET PASSWORD=PASSWORD('dimitar'); //把密码修改成dimitar。
    查看全部
    1 采集 收起 来源:MySQL 加密函数

    2018-05-25

  • @MySQL---内置函数库之六    聚合函数

    1.AVG()    平均值

    SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods;

    2.COUNT()    计数

    SELECT COUNT(goods_id) as counts FROM tdb_goods;

    3.MAX()    最大值

    SELECT MAX(goods_price) as counts FROM tdb_goods;

    4.MIN()    最小值

    SELECT MIN(goods_price) as counts FROM tdb_goods;

    5.SUM()    求和

    SELECT SUM(goods_price) as counts FROM tdb_goods;
    查看全部
    0 采集 收起 来源:MySQL 聚合函数

    2018-05-25

  • @MySQL---内置函数库之五    信息函数

    1.CONNECTION_ID()    连接ID

    SELECT CONNECTION_ID(); //结果:3

    2.DATABASE()    当前数据库

    SELECT DATABASE(); //结果:NULL

    3.LAST_INSERT_ID()    最后插入记录的ID号

    SELECT LAST_INSERT_ID(); //结果:若INSERT中插入多条记录,返回 第一条!!!

    4.USER()    当前用户

    SELECT USER(); //结果:root@localhost

    5.VERSION()    版本信息

    SELECT VERSION(); //结果:5.7.21
    查看全部
    1 采集 收起 来源:MySQL 信息函数

    2018-05-25

  • @MySQL---内置函数库之四    日期时间函数

    1.NOW()    当前日期和时间

    SELECT NOW(); //结果:2018-05-25 21:26:04

    2.CURDATE()    当前日期

    SELECT CURDATE(); //结果:2018-05-25

    3.CURTIME()    当前时间

    SELECT CURTIME(); //结果:21:27:08

    4.DATE_ADD()    日期增减或减少

    //常用单位:YEAR,MONTH,WEEK,DAY
    SELECT DATE_ADD('2018-05-25',INTERVAL 365 DAY); //结果:2019-05-25,在给定的时间上增加365天 
    SELECT DATE_ADD('2018-05-25',INTERVAL -7 MONTH); //结果:2017-10-25

    5.DATEDIFF()    日期差值

    SELECT DATEDIFF('2018-05-25','2019-05-25'); //结果:-365,单位为日 前面时间减去后面时间

    6.DATE_FORMAT()    日期格式化

    //常用格式:Y表年,m表月,d表日,H表时,i表分,s表秒
    SELECT DATE_FORMAT('2018-05-25 21:30:03','%m/%d/%Y %H:%i:%s'); //结果:05/25/2018 21:30:03

    DATE_ADD()的单位:

    http://www.w3school.com.cn/sql/func_date_add.asp

    DATE_FORMAT()的格式:

    http://www.w3school.com.cn/sql/func_date_format.asp  

    查看全部
  • @MySQL---内置函数库之三    比较运算符和函数

    1.[NOT] BETWEEN...AND... [不]在范围之内

    SELECT 15 BETWEEND 1 AND 20; //结果:1,15 在1到20之间,返回1
    SELECT 15 NOT BETWEEND 1 AND 20; //结果:0,15在1到20之间,返回0

    2.[NOT] IN() [不]在列出值范围内

    SELECT 10 IN(5,10,15); //结果:1,10在给定的范围内,返回1
    SELECT 10 NOT IN(5,10,15); //结果:0,10不在给定的范围内,实际在,返回0

    3.IS [NOT] NULL   [不]为空

    SELECT NULL IS NULL; //结果:1,空是空
    SELECT '' IS NULL; //结果:0,除了NULL其它都是非空
    SELECT * FROM ABC WHERE ID IS NOT NULL;
    查看全部
  • @MySQL---内置函数库之二    数值运算符和函数

    1.CEIL() 进一取整,即向上取整

    SELECT CEIL(3.01); //结果:4

    2.FLOOR() 舍一取整,即向下取整

    SELECT FLOOR(3.99); //结果:3

    3.DIV 整数除法

    SELECT 3 DIV 4; //结果:0, 因为3除以4,整数位为0;

    4.MOD 取余数(取模)

    SELECT 4 MOD 3; //结果:1
    SELECT 5.3 MOD 3; //结果:2.3

    5.POWER() 幂运算

    SELECT POWER(3,3); //结果:27

    6.ROUND() 四舍五入

    SELECT ROUND(25.62,1) //结果:25.6
    SELECT ROUND(25.62,0) //结果:26

    7.TRUNCATE() 数字截取

    SELECT TRUNCATE(125.68,1); //结果:125.6,只截取不进位
    SELECT TRUNCATE(125.68,-1); //结果:120
    查看全部
  • @MySQL---内置函数库之一    字符函数

    1.CONCAT()     字符连接

    SELECT CONCAT('a','-','b'); //结果:a-b

    2.CONCAT_WS()    使用指定的分隔符进行字符连接

    SELECT CONCAT_WS('|','A','B','C'); //结果: A|B|C

    3.FORMAT()    数字格式化

    SELECT FORMAT(12560.7,2); //结果:12,560.70
    SELECT FORMAT(12560.78,1); //结果:12,560.8
    SELECT FORMAT(12560.78,0); //结果:12,561

    4.LOWER()    转换成小写字母

    SELECT LOWER('MySQL'); //结果:mysql

    5.UPPER()    转换成大写字母

    SELECT UPPER('mysql'); //结果:MYSQL

    6.LEFT()    获取左侧字符

    SELECT LEFT('mysql',2); //结果:my

    7.RIGHT()    获取右侧字符

    SELECT RIGHT('mysql',3); //结果:sql

    8.LENGTH() 获取字符串长度

    SELECT LENGTH('MySQL'); //结果:5

    9.LTRIM() 删除前导空格(=LEFT TRIM())

    SELECT LTRIM(' MySQL   '); //结果:MySQL

    10.RTRIM() 除后续空格

    SELECT RTRIM(' MySQL   '); //结果: MySQL

    11.TRIM() 删除前后两边的空格或指定字符

    SELECT TRIM(' MySQL   '); //结果:MySQL
    SELECT TRIM(LEADING'?','??MYSQL????'); //结果:MYSQL????
    SELECT TRIM(TRAILING'?','??MYSQL????'); //结果:??MYSQL
    SELECT TRIM(BOTH'?','??MYSQL???'); //结果:MYSQL

    12. SUBSTRING(string,offset,length)   截取字符串

    SELECT SUBSTRING('MYSQL',2,3); //结果:SQL
    SELECT SUBSTRING('MYSQL',-2,2); //结果:QL

    13.[NOT]LIKE  模糊匹配

    (%):代表任意个字符,0个或多个
    (_):代表任意一个字符,只有一个
    SELECT name FROM test WHERE name LIKE'%O%';  //结果:输入name 中带‘O’的name
    SELECT name FROM test WHERE name LIKE'%1%%' ESCAPE'1';   //找到中间带% 的匹配name

    14.REPLACE() 替换字符

    SELECT REPLACE('??MYSQL???','?','-');  //结果:--MYSQL---
    查看全部
    1 采集 收起 来源:MySQL 字符函数

    2018-05-25

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!