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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 外连接分为左外连接和右外连接:左外连接显示左表全部记录以及与右表符合连接条件的记录。 eg:SELECT goods_id,goods_name,cate_name FROM tdb_goods//前两个来自左表,最后一个来自右表 LEFT JOIN//打印机的goods_id, goods_name 出现(因为左表的全部)打印机cate_name=null(与和右表的符合条件的部分, 因为打印机的商品分类是12,但分类表中并不存在这条记录) tdb_goods_cate ON tdb_goods.cate_id = tdb_goods_cate.cate_id; 右外连接 eg:SELECT goods_id,goods_name,cate_name FROM tdb_goods//前两个来自左表,最后一个来自右表 RIGHT JOIN// ;路由器,交换机,网卡的 机cate_name有值(因为右表的全部 ); 打印机不见了:因为左表并不存在这条记录; 路由器,交换机,网卡的goods_id, goods_name =null(与和左表的符合条件的部分) 一般使用的内连接多:INNER JOIN ... ON...;
    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2016-05-06

  • 连接类型:<br> 在MySql中,JOIN,CROSS JOIN和 INNER JOIN是等价的。<br> LEFT[OUTER] JOIN,左外连接<br> RIGHT[OUTER]JOIN,右外连接<br> 连接条件:<br> 使用ON关键字来设定连接条件。也可以使用WHERE来代替。<br> 通常用ON关键字来设定连接条件。使用WHERE关键字进行结果集记录的过滤。<br> <br> 内连接:仅显示两张表中符合条件的记录。 SELECT good_id,goods_name,cate_name FROM tdb_goods INNER JOIN tdb_goods_cates ON tdb_goods.cate_id=tdb_goods_cates.cate_id;
    查看全部
    0 采集 收起 来源:内连接INNER JOIN

    2018-03-22

  • 多表更新之一步到位: 1.创建数据表的同时将查询结果写入到数据表 (更新原表属性为新表的ID) 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; //注意两表中都叫brand_name, 2.起别名法: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; 既然现在good_cate,good_brand 存的是其他表的id,那么表的列名(good_cate,good_brand )也应该改成对应id ,当然类型也要改 通过ALTER TABLE语句修改数据表结构 ALTER TABLE tdb_goods CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL, CHANGE brand_name brand_id SMALLINT UNSIGNED NOT NULL; @加外键?不一定是物理的外键,逻辑的外键也行(以上就是),当然,物理外键更能保证数据的完整性和一致性
    查看全部
  • 多表更新举例<br> update tdb_goods inner join tdb_goods_cates on goods_cate=cate_name set goods_cate=cate_id;<br> tdb_goods inner join tdb_goods_cates让两表内连接<br> on goods_cate=cate_name set goods_cate=cate_id;表示如果goods_cate等于cate_name那么就让goods_cate=cate_id
    查看全部
    0 采集 收起 来源:多表更新

    2018-03-22

  • insert tdb_goods_cates (cate_name) select good_cate from tdb_goods group by goods_cate;<br><br> 将后面那个查询语句的结果插入到tdb_goods_cates表中的cate_name字段下面<br><br> 效果如图<br> 多表更新:我们应该参照分类表,去更新我们的商品表
    查看全部
  • 1.in(子查询)跟=any(子查询)等价<br> 2.not in(子查询)跟!=any(子查询)等价
    查看全部
  • 使用比较运算符的子查询:<br> any ,some,all 比较运算符,对应的取值范围<br> <br> (1)SELECT AVG( price ) FROM goods;//这样查出来的平均价格是一个很长的数<br> (2)SELECT ROUND( AVG(price),2 ); // 加入Round函数——AVG求平均值进行四舍五入,保留 2 位小数<br> (3)SELECT id,name,price FROM goods WHERE price >= (SELECT ROUND(AVG(price),2) FROM goods); // 这样的子查询方式会出错。需要在=号后面加入ANY(因为子查询返回的有3条记录。比较的时候就不知道跟哪一个去比较了)<br> (4)在子查询时的关键字ANY / SOME / ALL<br> select goods_name,goods_price from tdb_goods where goods_price >= ANY (select goods_price from tdb_goods where goods_cate='超级本');<br> 注意:<br> 1. 子查询只能返回一行记录,不然会报错。<br> 2. 子查询还可以包含子查询。<br> 其实子查询可以把它拆开的。这样看起来就省力一些、
    查看全部
  • SET NAMES gbk;意思是改变客户端的编码格式,而不影响真的数据库中的真实数据。
    查看全部
    2 采集 收起 来源:数据准备

    2016-05-06

  • 1.MySql由瑞典MySql AB公司开发,目前属于Oracle公司 2.MySql是一个开源的关系型数据库管理系统 3.MySql分为社区版和企业版
    查看全部
    0 采集 收起 来源:MySQL概述

    2016-05-06

  • TINYINT 微小的整数型 占位1个字节 无符号8次方 SMALLINT 小的整数型 占位2个字节 无符号16次方 MEDIUMINT 中的整数型 占位3个字节 无符号32次方 INT 标准整数型 占位4个字节 无符号64次方 BIGINT 大的整数型 占位8个字节 无符号128次方
    查看全部
  • 删除数据库 DROP {DATABASE | SCHEMA}[IF EXISTS] db_name;
    查看全部
    0 采集 收起 来源:操作数据库

    2016-05-06

  • 修改数据库 ALTER {DATABASE | SCHEMA} [ab_name][DEFAULT] CHARACTER SET [=] charset_name;
    查看全部
    0 采集 收起 来源:操作数据库

    2016-05-06

  • CREATE {DATABASE | SCHEMA} [IF NOT EXTSTS] db_name (创建数据库) {}是必须要有点 | 两项和三项可以选择 [] 可以没有
    查看全部
    0 采集 收起 来源:操作数据库

    2016-05-06

  • {}代表必选项 一定要有的,| 代表两项和三项做选择,[]代表有和没有都允许的
    查看全部
    0 采集 收起 来源:操作数据库

    2016-05-06

  • 关键字与函数名大写,数据库、表名称、字位小写是为了区分。 SQL语句必须以分号结尾
    查看全部

举报

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

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