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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 多表更新 -- 通过tdb_goods_cates数据表来更新tdb_goods表 UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name SET goods_cate = cate_id ; 多表更新: UPDATE table_references SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]... [WHERE where_condition] 其中,table_references即连接的语法结构 mysql> UPDATE tdb_goods(要修改的表) INNER(内连接) JOIN (参照) tdb_goods_cates (被参照的表) ON(后面的是条件) goods_cate(被修改) = cate_name(不变) -> SET goods_cate(被修改的) = cate_id ; //需要替换的数据 Query OK, 23 rows affected (0.01 sec) Rows matched: 23 Changed: 23 Warnings: 0 mysql> select * from tdb_goods\G;
    查看全部
    0 采集 收起 来源:多表更新

    2018-03-22

  • 反正数据表储存大量数据会引起速度变慢、所以要新建分类表 通过外键的形式来实现 INSERT [INTO] tbl_name SET col_name={exprDEFAULT},...//可以使用子查询 INSERT [INTO] tbl_name [(col_name,...)] SELECT ...//将查询结果写入数据表 INSERT INTO table_name [(column_name)] SELECT column_name2 FROM table_name2 GROUP BY column_name3; {DESCRIBE | DESC} tbl_name [col_name | wild] DESCRIBE可以提供有关表中各列的信息。它是SHOW COLUMNS FROM的快捷方式。这些语句也可以显示语句,用于阅览。
    查看全部
  • 表级约束与列级约束
    查看全部
  • 子查询形式: 2.使用[NOT]IN的子查询 语法结构:operand comparison_operator [NOT] IN (subquery) =ANY 运算符与IN 等效,!=ALL或<>ALL运算符与NOT IN等效 3.使用[NOT]EXISTS的子查询(用的相对较少) 如果子查询返回任何行,EXISTS将返回TRUE,否则为FALSE
    查看全部
  • 由比较运算符引发的子查询 单独分析筛选时: SELECT AVG(goods_price) FROM tdb_goods; //AVG函数代表求其平均值// SELECT ROUND(AVG(goods_price),2) FROM tdb_goods; //round(@,#)代表输出格式为@数小数点后#位输出// SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=5391.30; //输出价格大于5391.30的id、name、price// 综合起来运用子查询时: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods); //查找价格大于平均值的商品// SELECT goods_price FROM tdb_price WHERE goods_cate='超级本'\G; //检索结果非唯一// 对于ANY、SOME、ALL的用法各有不同: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ANY (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=SOME (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
    查看全部
  • 存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理 存储过程存储在数据库内,可以由应用程序调用执行,允许用户申明变量以及进行流程控制 存储过程可以接收参数(输入类型参数、输出类型参数),可以存在多个返回值 存储过程的执行效率高于单一SQL命令的执行效率 优点: 1)增强SQL语句的功能和灵活性 2)实现较快的执行速度(客户端第一次调用存储过程时,MySQL引擎会对其进行语法分析、编译等操作,然后将编译结果存储到内存中,所以第一次和之前的效率一样,然而以后会直接调用内存中的编译结果,效率提高) 3)减少网络流量(单条SQL语句字符量较大,而通过调用存储过程则只需要传存储过程的名称及相关参数即可,提交给服务器的数据量相对较少)
    查看全部
  • 函数只能通过return语句返回单个值或者表对象。而存储过程不允许执行return,但是可以通过out参数返回多个值,并且定义时的情况也有不同,存储过程的参数需要判断为输入参数还是输出参数,对应IN和OUT,在参数前面注明。函数定义时使用FUNCTION,存储过程定义使用PROCEDURE。存储过程的效率高于函数的效率。
    查看全部
    0 采集 收起 来源:课程回顾

    2016-12-14

  • //创建具有复合结构函数体的自定义函数 修改分隔符: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); 删除函数: DROP FUNCTION fun_name;
    查看全部
  • 创建不带参数的自定义函数: CREATE FUNCTION f1() RETURNS VARCHAR(30) RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日'%H点:%i分:%s秒); 调用方法:SELECT f1();
    查看全部
  • 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 自定义函数的两个必要条件:(1)参数 (2)返回值 关于函数体: 1.函数体可以由合法的SQL语句构成; 2.函数体可以是简单的SELECT或INSERT语句; 3.函数体如果为复合结构则使用BEGIN...END语句; 4.复合结构可以包含声明、循环、控制结构。
    查看全部
  • MySQL内置函数分类: 一、字符函数 (1)CONCAT()//字符连接 (2)CONCAT_WS()//使用指定的分隔符进行字符连接 (3)FORMAT()//数字格式化 (4)LOWER()//转化小写 (5)UPPER()//转换大写 (6)LEFT()//获取左侧字符 (7)RIGHT()//获取右侧字符 (8)LENGTH()//取得字符串长度 (9)LTRIM(),RTRIM(),TRIM()//删除前导、后续空格或者指定字符 (10)REPLACE()//替换 (11)SUBSTRING()//字符串截取 (12)[NOT] LIKE//模式匹配——百分号%代表任意个字符;下划线_代表任意一个字符 二、数值函数 (1)CEIL()//进一取整 (2)FLOOR()//舍一取整 (3)DIV//整数除法 (4)MOD//取余数,与%一样 (5)POWER()//幂运算 (6)ROUND()//四舍五入 (7)TRUNCATE()//截断 三、比较函数 (1)[NOT] BETWEEN...AND... //[不]范围之内 (2)NOT IN() //[不]在列出值范围内 (3)IS [NOT] NULL //[不]为空 四、日期时间函数 (1)SELECT NOW(); // 当前日期时间 (2)SELECT CURDATE(); // 当前日期 (3)SELECT CURTIME(); // 当前时间 (4)SELECT DATE_ADD();//日期的变化 (5)DATEDIFF(); // 日期的差值 (6)DATE_FORMAT(); // 日期格式化 五、信息函数 (1)SELECT CONNECTION_ID() //连接ID (2)SELECT DATABASE() //当前数据库 (3)SELECT LAST_INSERT_ID() //最后插入记录的ID (4)SELECT USER() //当前用户 (5)SELECT VERSION() //版本信息 六、聚合函数 (1)AVG()//平均值 (2)COUNT()//计数 (3)MAX()//最大值 (4)MIN()//最小值 (5)SUM()//求和 七、加密函数 (1)MD5();//信息摘要算法 (2)PASSWORD();//加密算法,主要用途修改当前用户密码
    查看全部
    0 采集 收起 来源:回顾和概述

    2016-12-14

  • AUTO INCREMENT 必须与 PRIMARY KEY 一起使用; PRIMARY KEY 可以单独使用,定义 PRIMARY KEY 后不允许重复
    查看全部
  • ALTER DATABASE
    查看全部
    0 采集 收起 来源:内容回顾

    2016-12-13

  • CREATE DATABASE USE test_ljh DROP DATABASE
    查看全部
    0 采集 收起 来源:内容回顾

    2016-12-13

举报

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

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