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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 数据库
    查看全部
    0 采集 收起 来源:课程回顾

    2016-12-08

  • -- 通过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;
    查看全部
    1 采集 收起 来源:多表更新

    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; INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate; mysql> create table if not EXISTS tdb_goods_cates( -> cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, -> cate_name VARCHAR(40) NOT NULL -> ); Query OK, 0 rows affected (0.01 sec) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate; //列出所有品牌cate
    查看全部
  • 子查询形式: 2.使用[NOT]IN的子查询 语法结构:operand comparison_operator [NOT] IN (subquery) =ANY 运算符与IN 等效,!=ALL或<>ALL运算符与NOT IN等效 3.使用[NOT]EXISTS的子查询(用的相对较少) 如果子查询返回任何行,EXISTS将返回TRUE,否则为FALSE
    查看全部
  • 查看数据表 SELECT TABLES [NAME]
    查看全部
  • ANY SOME ALL 关键 防止 返回多值 导致报错
    查看全部
  • mysql> SELECT AVG(goods_price) FROM tdb_goods; AVG聚合函数 平均值 +------------------+ | AVG(goods_price) | +------------------+ | 5393.7391304 | +------------------+ 1 row in set mysql> select ROUND(AVG(goods_price),2) FROM tdb_goods;都是聚合函数 再套一个 四舍五入保留小数点的聚合函数 select goods_id,goods_name,goods_name,goods_price from tdb_goods where goods_price >= 5636.36; 进行 查询 价格大于5636.36 并显示出其相应的 goods_id,goods_name,goods_name,goods_price mysql> select goods_id,goods_name,goods_name,goods_price from tdb_goods where goods_price >= (select ROUND(AVG(goods_price),2) FROM tdb_goods); 进行子查询 放在小括号中 SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本'; 搜索超级本的价格 mysql> SELECT * FROM tdb_goods WHERE goods_cate = '超级本'\G ; 搜索超级本的价格 并网格打印 \G 是进行网格打印 但是Navicat 不能用(有毒) 但是MYSQL的CMD就可以使用
    查看全部
  • 目录结构
    查看全部
  • limit限制查询结果返回数量 [LIMIT{[offset,]row_countrow_count OFFSET offset}] 行是从0开始定义的 所以本例中 id=1时 其实是第零条 id=2时 是第一条 mysql> select * from users limit 0,1 ; 第0个位置,返回1条 //limit 后接的数字的涵义为 位置,以及返回数量 意思就是 从定义位置开始进行返回
    查看全部
  • order by 语句【对查询结果进行排序】 [ORDER BY {col_name | expr | position} [ASC|DESC],...] 1、对查询结果进行排序,默认是升序ASC,DESC为降序: 例如:select * from users order by id desc;//按照id进行降序排序 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 如:SELECT * FROM users ORDER BY age,id DESC; 先按照age进行默认【ASC】排序,如果age有重复的,重复的字段里按id进行【DESC】排序
    查看全部
  • having 语句分组: 用在group by后面追加条件,判断式中的【字段是必须出现在前面select中的】或者是 【可以包含没有出现在前面查询中的字段的一个聚合函数count(),max()等等】 用法: [HAVING when where_condition] SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错,age字段必须是SELECT中的一个查询字段 如语句【SELECT sex, age FROM users GROUP BY 1 HAVING age > 35;】 SELECT sex FROM users GROUP BY 1 HAVING count(id) >= 2; (这条指令,指按照sex分组,分成了两组sex=0和sex=NULL,条件id数大于2的留下显示,显然sex=0个数有8>2故留下,而sex=NULL个数为1,不满足条件,故不显示。如果条件改成count(id)>=1,则会显示sex为0和NULL两个分组) 聚合函数永远只有一个返回结果。 count是记录个数的聚合函数。
    查看全部
  • group by 查询结果分组 SELECT sex FROM users GROUP BY sex;对users中的sex按sex进行分组 SELECT * FROM users GROUP BY 1;(这里的1表示查询的第一个字段,这里查询所有字段信息,第一个字段就是id,所以会按照id字段进行分组) asc 升序排列,desc 降序排列
    查看全部
  • 子查询 1一、定义:子查询是指出现在其他SQL语句内的SELECT字句,即嵌套在SELECT语句内的SELECT语句。例如:SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement) SELECT column1 FROM t2 称为Sub Query[子查询] 2子查询的条件: 1)始终出现在圆括号内; 2)可以包含多个关键字或者条件;如 distinct、group by、order by、limit、函数等 3)外查询可以是增删改查。SQL语句的统称 3.子查询的返回值 子查询可以返回标量、一行、一列或子查询
    查看全部
  • WHERE 条件判断
    查看全部
  • SELECT users.id,users.name FROM users; 选出users表中的ID和NAME内容 SELECT id AS userId,username AS uname FROM users;(使用别名的时候加上AS) 将id改为userID
    查看全部

举报

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

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