为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 字符函数:


    查看全部
    0 采集 收起 来源:MySQL 字符函数

    2020-04-08

  • 关于函数体

    查看全部
  • 自定义函数的两个必要条件:参数,返回值

    查看全部
  • <span >1.连接 MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作。 语法结构 table reference A {[INNER|CROSS] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference B ON condition_expr 2.数据表参照 table_reference tbl_name [[AS] alias] | table_subquery [AS] alias 数据表可以使用tbl_name AS alias_name 或 tbl_name alias_name赋予别名。 table_subquery可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名。</span>
    查看全部
  • 查看创建的函数和存储过程:SHOW FUNCTION STATUS;

    SHOW PROCEDURE STATUS;

    查看全部
  • DESC tbl_name;查看表结构,和show columns from tbl_name;一样

    MySQL中的ROW_COUNT()函数可以返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的记录总数。

    查看全部
  • create procedure removeUserByIdReturnNums(in u_id int unsigned,out nums int unsigned)

        -> begin

        -> delete from user where id = u_id;

        -> select count(id) from user into nums;

        -> end

        -> //

    SELECT count(id) FROM users INTO userNums;   INTO是将查询结果的表达式传给userNums这个参数。

    在begin end之间通过DECLARE创建的变量为局部变量,只在begin end中有效。

    用SELECT @,SELECT.... INTO ...和SET @... 创建的变量为用户变量,在当前客户端上均有效。

    call removeUserByIdReturnNums(27,@nums)

    查看全部
  • DELIMITER //

    CREATE PROCEDURE removeUserById(IN id INT UNSIGNED)

    ->BEGINE

    ->DELETE FROE users WHERE id=id;   我们认为第一个id指的是字段名称,第二个id指的是需要指定的参数,但是MySQL数据库认为这两个id都是字段,因此会删除全部记录。因此需注意,参数名不可以和记录名相同。将参数的id都改为p_id。

    ->END

    修改存储过程只能修改几个简单的选项,例如注释,内容的类型等。并不能修改过程体。如要修改过程体,则将原来的过程删除,然后重新创建。

    删除存储过程:DROP PROCEDURE [IF EXISTS] sp_name;


    查看全部
  • 调用存储过程:CALL sp_name([parameter[,...]]);

    CALL sp_name[()];

    存储过程在封装时没有参数的话,小括号可以省略。


    查看全部
  • 创建存储过程

    CREATE [ DEFINER = { user | CURRENT_USER } ] PROCEDURE sp_name ( [ proc_parameter[,...]]) [ characteristic ...] routine_body;

    proc_parameter:  [ IN | OUT | INOUT ] param_name type

    其中,sp_name 存储过程名。proc_parameter 参数,可以没有。

    DEFINER =user|CURRENT_USER表示创建者,若这句话省略的话,就默认为登陆到MySQL客户端的用户

    IN;该参数的值必须在存储过程时指定。

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

    INOUT;改参数在调用时指定,并且可以被改变和返回

    特性:

    CONTAINS SQL : 包含SQL语句,但不包含读写数据的语句

    NO SQL : 不包含SQL语句

    READS SQL DATA : 包含读数据的语句

    MODIFIES SQL DATA :包含写数据的语句

    SQL SECURITY { DEFINER | INVOKER } 指明谁有权限来执行

    过程体:只能对数据表、库进行增删改查

    查看全部
  • 545867590001841102200220-40-40.jpg        

    莨菽菽            

    替大家总结一下:declare可以声明变量,比如  declare @a  int,只不过声明全局变量可以省略declare,而在begin--end里面声明需要用declare,而且要放在第一行(而不是老师说的用declare声明的就是局部变量)

    你们肯定会赞我的,但是赞我又收不到通知。真是打击积极性


    转自评论区


    查看全部
  • 可以对全部记录做分组,也可以对部分记录做分组 对部分记录进行分组 就需要使用having

    查看全部
  • 不习惯指定位置

    查看全部
  • 分组时可以指定列名,列的位置和升序或降序

    查看全部
  • select 查询表达式的顺序将影响结果集的顺序

    字段集的别名也将影响结果集的别名

    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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