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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 存储引擎 (1)MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就成为存储引擎。 每种存数引擎使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。 (2)使用不同的存储引擎也可以说不同类型的表 (3)MySQL支持的存储引擎 1. MyISAM 2. InnoDB 3. Memory 4. CSV 5. Archive
    查看全部
  • 存储过程与自定义函数的区别 A、存储过程实现的功能相对复杂,函数针对性较强 B、存储过程可以返回多个值,函数只能有一个返回值 C、存储过程一般独立执行,函数可以作为 sql 语句的组成部分来出现 //修改存储过程 alter procedure sp_name [characteristic ...] comment 'string' | {contains sql | no sql | reads sql data | modifies sql data} | sql security {definer | invoker} 存储过程只能修改简单的特性,并不能修改过程体
    查看全部
  • 为了不让begin中的分号影响mysql的语句结束判断,需要用的delimiter命令将定界符更改成其他(如//)。
    查看全部
  • ROW_COUNT()函数,计算当前插入记录和修改记录、或添加和删除记录时的行数个数总和。
    查看全部
  • 创建带有IN OUT类型参数的存储过程 DELIMITER // CREATE PROCEDURE removerUserAndReturnUserName(IN showID INT UNSIGNED,OUT showName INT UNSIGNED) BEGIN DELETE FROM user WHERE id = showID; SELECT count(ID) FROM user INTO showName; END // SELECT count(ID) FROM user INTO showName; /** 该语句中的 INTO 含义就是将 SELECT 语句结果的表达式返回到 showName 变量中 */
    查看全部
  • 1.用户变量:以"@"开始,形式为"@变量名" 用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效 可用 set @变量名=值 来创建变量并赋值(多次使用只是会覆盖,而不是报错),如果是调用存储过程时,给out的变量传入一个@变量,也相当于创建用户变量并传入,在存储过程内被赋值 2.全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名 或者 set @@global.变量名 对所有客户端生效。只有具有super权限才可以设置全局变量 3.会话变量:只对连接的客户端有效。 4.局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量 declare语句专门用于定义局部变量(必须位于句首,即begin之下的第一行)。 如DECLARE 变量名 数据类型 set语句可以为各种变量赋值,即set 变量=变量值
    查看全部
  • 1、存储过程语法结构分析 CREATE [DEFINER = {user|CURRENT_USER}]//定义时的用户,若是不写就默认为当前用户 PROCEDURE sp_name ([proc_parameter[,...]]) //可以带0到多个参数 sp_name存储过程的名字,每个参数要先声明是IN/OUT/INOUT类型,再声明名字和数据类型 [characteristic ...] 过程体 其中proc_parameter: [IN|OUT|INOUT] param_name type IN, 表示该参数的值必须在调用存储过程时指定(外部传入过程的值,只能被使用,如果被修改,对外部没有影响) OUT, 表示该参数的值可以被存储过程改变,并且可以返回(外部传入过程的变量,可以被赋值(赋值会一直有效,但重启客户端后无效),但在存储过程内部,初始值为null,无论其本身是否有值) INOUT, 表示该参数的值调用时指定,并且可以被改变和返回(和OUT类似,但区别是OUT不论是否有值,在存储过程内部初始值都是null,而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语句;对表格进行增删,连接,但是不能创建数据表<br> (3)过程体如果为复合结构则使用BEGIN...END语句 (4)复合结构可以使用条件、循环等控制语句
    查看全部
  • 1.创建带有IN类型参数的存储过程 DELIMITER // CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED) BEGIN DELETE FROM users WHERE id = p_id; END //
    查看全部
  • 存储过程简介:可以没有或有多个返回值(指的是select返回结果集,内部不能使用RETURN) 1、MySQL通过存储过程(预编译),可以避免重复语法分析和编译,提高执行效率 2、存储过程: (1)是SQL语句与控制语句的【预编译集合】,以【一个名称存储】作为【一个单元处理】 (2)优点: · 增强了语句的功能和灵活性:可以通过控制语句对流程进行控制和判断 · 实现较快的执行速度,只在【第一次调用时进行语法分析和编译】 ,以后直接从内存中得到结果 · 减少网络流量
    查看全部
  • 创建复合结构函数体的函数:即,创建一个会执行多条语句的函数 函数名声明,返回值声明与简单结构的没有任何区别,区别就在于函数体 在函数体中,用BEGIN标明多条语句的开始,用END标明多条语句的结束,且由于每条语句都用;作为结束,那么编写到这会直接执行,导致编写失败,所以需要用DELEMITER 分隔符 ,来改变终结条件,使得不是用;来进行执行,但需要记住,在编写完函数时,应该用DELEMITER ;把终结条件改回来,且多条执行语句中,只能有一个return返回值(不会报错,但第二个不会执行) 例: DELIMITER // CREATE FUNCTION f4(num1 INT,num2 SMALLINT) RETURNS INT(5) BEGIN INSERT aaa(aaa.age,aaa.sex,sname) VALUES(num1,num2,'f') ; RETURN 1; INSERT aaa(aaa.age,aaa.sex,sname) VALUES(num1,num2,'f') ; END// DELIMITER ; (不是必须,但最好用完就改回来)
    查看全部
  • 使用[NOT] IN 的子查询
    查看全部
  • ANY、SOME、ALL关键字使用原则:
    查看全部
  • 创建自定义函数: 注意,函数必须有返回值,如果要无返回值的,应该创建‘存储过程’(函数返回值只能有一个,存储过程可以没有或多个(通过select),而且存储过程可以通过out为变量赋值,而函数不行) 函数的参数最好和表的字段名字不一样,如果相同的话,在使用时,应该用表名.字段名进行区分 CREATE FUNCTION 函数名(参数名1 类型1,参数名2 类型2,....) [DEFINER = {user|CURRENT_USER}]//定义时的用户,若是不写就默认为当前用户 RETURNS 返回类型 RETURN 函数体; 关于函数体: (1)函数体由合法的SQL语法构成; (2)函数体可以是简单的SELECT或INSERT语句;(允许用select ... into 变量 来把值写入,但不允许SELECT ..来返回结果集,因为函数只允许有一个返回值(切记,select会返回结果集,并不是只有return才是返回)) (3)函数体如果为复合结构则使用BEGIN...END语句; (4)复合结构可以包括声明,循环,控制结构。 例: CREATE FUNCTION f2(num1 SMALLINT UNSIGNED,num2 SMALLINT UNSIGNED) ->RETURNS FLOAT(10,2) UNSIGNED ->RETURN(num1+num2); 附:函数可用DROP FUNCTION 函数名删除(DROP 类型 名字,可以删除任意东西(非表内数据删除))
    查看全部
  • 加密函数: 1.MD5():信息摘要算法,为以后的Web页面做准备,尽量使用MD5() 举例 SELECT MD5('admin'); MD5对admin进行了加工,并返回加工后的数据 2.PASSWORD():密码算法,可通过PASSWORD('密码')修改密码,该函数会返回加密的一串数字(5.7版本会自动调用) 举例 SET PASSWORD=PASSWORD(‘dimitar’); 把密码修改成dimitar。
    查看全部
    0 采集 收起 来源:MySQL 加密函数

    2017-08-17

  • select database();
    查看全部

举报

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

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