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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 1.CEIL():进一取整(向上取整) 2.DIV:整数除法 3.FLOOR():舍一取整(向下取整) 4.MOD:取余数(取模),等同于 % ,可以是整数也可以是小数 5.POWER():幂运算 6.ROUND():四舍五入,两个参数分别为浮点数和保留的小数位数 7.TRUNCATE():数字截取,两个参数分别为数值和截断到小数点后n位
    查看全部
  • 字符函数:SELECT+函数 concat()//把函数内多个参数连接起来 concat_ws()//用指定的分隔符进行字符串连接concat_ws('|','A','B');//至少三个参数,第一个参数为分割符 format()//数字格式化 format(4455,2)千分位并保留两位小数 lower()//转化为小写字母 upper()//转化为大写字母 left()//获取左侧字符 right()//获取右侧字符 right('abc',2)从右边起向左取两位 length()//获取字符串的长度 ltrim()//删除前导空格 rtrim()//删除后导空格 trim()//删除前导和后续空格leading-前,trailing-后,both-前后都删 substring()//字符串截取,substring("字符串",1,2)从第一位开始取两位.//MySql从1开始而不是0; [not] like //模式匹配 replace();//字符串截取replace("字符串","?","")将字符串中的?替换成空字符 "%%%"第一个和第三个是通配符,第二个是“%”,并不是通配符; "%1%%" ESCAPE '1';1后面的%不是通配符;
    查看全部
    0 采集 收起 来源:MySQL 字符函数

    2018-03-22

  • MYSQL函数的类型
    查看全部
    0 采集 收起 来源:回顾和概述

    2016-12-14

  • 多表删除 DELETE tbl_name[.*][,tbl_name[.*]]... FROM table_references [WHERE where_condition] GROUP BY XXX HAVING 筛选条件;
    查看全部
    0 采集 收起 来源:多表删除

    2016-12-14

  • 无限分类的设计
    查看全部
  • +---------+-----------------+-----------+ | type_id | type_name | parent_id | +---------+-----------------+-----------+ | 1 | 家用电器 | 0 | | 2 | 电脑、办公 | 0 | | 3 | 大家电 | 1 | | 4 | 生活电器 | 1 | | 5 | 平板电视 | 3 | SELECT s.type_id,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS p ON s.parent_id = p.type_id; -- 查找所有分类及其子类 SELECT p.type_id,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS s ON s.parent_id = p.type_id; -- 查找所有分类及其子类的数目 SELECT p.type_id,p.type_name,count(s.type_name) AS children_count FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS s ON s.parent_id = p.type_id GROUP BY p.type_name ORDER BY p.type_id;
    查看全部
  • 多表连接 查询表达式—多表连接 SELECT col_name1,col_name2,col_name3,col_name4,col_name5 FROM tbl_name1 AS t1 INNER JOIN tbl_name2 AS t2 ON join_condition INNER JOIN tbl_name3 AS t3 ON join_condition\G; select goods_id,goods_name,cate_name,brand_name,goods_price FROM tdb_goods AS g INNER JOIN tdb_goods_cates AS c ON g.cate_id = c.cate_id INNER JOIN tdb_goods_brands AS b ON g.brand_id = b.brand_id\G;
    查看全部
    0 采集 收起 来源:多表连接

    2016-12-14

  • 创建带有多个OUT类型参数的存储过程:<br> 1.明确什么是OUT类型的参数,有什么作用?<br> 答:OUT类型参数,表示在调用存储过程时,该参数的值可以被存储过程改变,并且返回一个值。通常是这种类型时,调用时写入的参数都是变量用“@”符号开头的变量,在BEGIN和END之中的变量是局部变量,在调用存储过程时写入的变量是“用户变量”,比如有一个存储过程的名称叫做“addUser()”,调用时addUser(@sum),sum就是用户变量。 2.ROW_COUNT()函数就相当于PHP的MySQL函数库中的mysql_affected_rows()这个函数,两者的作用都是相同的,都是计算当插入记录和修改记录、以及添加和删除记录时的个数总和的。 3.例子: SELECT ROW_COUNT() INTO delete_User ;是指调用ROW_COUNT()这个函数,并且把返回值存储在delete_User这个局部变量中。 SELECT COUNT(id) FROM users INTO remain_User ;是指在删除用户后,调用COUNT()函数对剩下的用户数做一个统计,在哪张表中要说明清楚,然后把返回值存储在remain_User这个局部变量中。 【因为delete_User和remain_User是OUT类型的参数,所以会返回一个值给调用时的用户变量,用"SELECT @a,@b"可以知道返回的值是多少了】 DELIMITER // CREATE PROCEDURE insert3(IN p_id SMALLINT UNSIGNED, OUT insertUsers SMALLINT UNSIGNED, OUT countUsers SMALLINT UNSIGNED) BEGIN INSERT INTO test VALUES(p_id,3); SELECT ROW_COUNT() INTO insertUsers; SELECT COUNT(id) FROM test INTO countUsers; END
    查看全部
  • 创建带有IN和OUT类型的参数: DELIMITER // CREATE PROCEDURE removeAndReturn(IN p_id INT UNSIGNED,OUT userNums INT UNSIGNED) BEGIN DELETE FROM users WHERE id = p_id; SELECT count(id) FROM users INTO userNums; END // 调用方法:CALL removeAndReturn(27,@nums);----@nums 传参数 查看返回值: SELECT @nums; 1.用户变量:以"@"开始,形式为"@变量名" 用户变量跟mysql客户端是绑定的,设置的变量,只对当前用户使用的客户端生效 2.全局变量:定义时,以如下两种形式出现,set GLOBAL 变量名 或者 set @@global.变量名 对所有客户端生效。只有具有super权限才可以设置全局变量 3.会话变量:只对连接的客户端有效。 4.局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量 declare语句专门用于定义局部变量。set语句是设置不同类型的变量,包括会话变量和全局变量
    查看全部
  • 删除存储过程: DROP PROCEDURE [IF EXISTS] sp_name 修改存储过程 ALTER PROCEDURE sp_name [characteristic ...] COMMENT 'string' |{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } 只能修改存储过程中的注释、当前内容的类型,并不能修改过程体 因此,要修改过程体的话,需要先删除存储过程,然后重建 DELIMITER // CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED) BEGIN DELETE FROM users WHERE id=p_id; END // CALL removeUserById(3); 在定义带参数存储过程时,参数的命名不能与数据表中的命名重复。例如要操作数据表的id=xxx的数据记录,那么存储过程定义的参数名不能为id(定义为同名的话,到时where id = id条件操作时,数据库会读取id=id这两个字符串相同,造成对全部数据记录操作的错误结果),定义为让人能读懂的与其有关联的字符串就好。可以定义为p_id s_id...
    查看全部
  • 存储过程的调用方式: 1.CALL sp_name([parameter[,...]]) 如果存储过程包含参数,则必须有小括号 2.CALL sp_name[()] 如果存储过程不包含参数,则小括号可有可无
    查看全部
  • 创建存储过程 CREATE [DEFINER = { user | CURRENT_USER }] 省略的话,默认为当前登录到MySQL的用户 PROCEDURE sp_name([proc_parameter[,...]]) 零到多个参数 [characteristic ...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type IN,表示该参数的值必须在调用存储过程时指定,不能返回 OUT,表示该参数的值可以被存储过程改变,并且可以返回 INOUT,表示该参数在调用时指定,并且和以被改变和返回
    查看全部
  • CREATE ...SELECT
    查看全部
  • - 通过CREATE...SELECT来创建数据表并且同时写入记录 -- SELECT brand_name FROM tdb_goods GROUP BY brand_name; CREATE TABLE tdb_goods_brands ( brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, brand_name VARCHAR(40) NOT NULL ) SELECT brand_name FROM tdb_goods GROUP BY brand_name; -- 通过tdb_goods_brands数据表来更新tdb_goods数据表 UPDATE tdb_goods AS g INNER JOIN tdb_goods_brands AS b ON g.brand_name = b.brand_name SET g.brand_name = b.brand_id
    查看全部
  • 连接类型
    查看全部
    0 采集 收起 来源:多表更新

    2016-12-14

举报

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

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