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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • INSERT ... SET ...可以使用子查询 INSERT [INTO] tbl_name [(col_name,...)] SELECT ...将查询结果写入数据表 Eg: INSERT INTO table_name [(column_name)] SELECT column_name2 FROM table_name2 GROUP BY column_name3; 子查询与连接——INSERT-SET子查询 1、INSERT tbl_name [(col_name,...)] (SELECT col2_name FROM tbl2 ...) 2、同样注意字段数量和类型匹配 CREATE TABLE IF NOT EXISTS tdb_goods_cates( cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, cate_name VARCHAR(40) NOT NULL ); SELECT goods_cate FROM tdb_goods GROUP BY goods_cate; //列出所有品牌种类cate// INSERT INTO <表名> SELECT..... DESC tdb_goods_cates; //显示出tdb_goods_cates表中的项目名称// INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate; //在表tdb_goods_cates中插入tdb_goods中的cate种类//
    查看全部
  • 子查询---in not in in 相当于=any not in 相当于 !=all 或者<>all ——不等于、不包含 子查询----exists not exists ——用得比较少 子查询返回任何行 exists 返回 true 反之 返回 false -- = ANY 或 = SOME 等价于 IN SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本')
    查看全部
  • 使用比较运算符的子查询: (1)SELECT AVG( price ) FROM goods; (2)SELECT ROUND( AVG(price),2 ); // 它是个聚合函数——AVG求平均值进行四舍五入,保留 2 位小数 (3)SELECT id,name,price FROM goods WHERE price >= (SELECT ROUND(AVG(price),2) FROM goods); // 子查询方式 (4)在子查询时的关键字ANY / SOME / ALL select goods_name,goods_price from tdb_goods where goods_price >= ANY (select goods_price from tdb_goods where goods_cate='超级本'); 注意: 1. 子查询只能返回一行记录,不然会报错。 2. 子查询还可以包含子查询。 关键字 ANY SOME ALL >、>= 最小值 最小值 最大值 <、<= 最大值 最大值 最小值 = 任意值 任意值 <>、!= 任意值
    查看全部
  • 子查询注意点: (1)子查询指嵌套在查询内部,且必须始终出现在圆括号内。 (2)子查询可以包含多个关键字或条件,如: DISTINCT / GROUP BY / ORDER BY / LIMIT / 函数等。 (3)子查询的外层查询可以是:SELECT, INSERT, UPDATE , SET 或DO (4)子查询可以返回标量、一行、一列或子查询。
    查看全部
  • 查看准备数据 (1)SELECT * FROM tdb_goods\G; // 网格形式输出查询结果 (2)由于存储时使用的编码方式为utf-8格式;客户端默认的为GBK格式,所以 需要使用 SET NAMES GBK; 设置读取信息的编码格式。(存储数据的属性没有不变化) 解决乱码的问题: 1.show variables like "%char%"; 类似set character_set_results=utf8;,能改的都改为uft8 2.在要创建的表后加ENGINE=InnoDB DEFAULT CHARSET=utf8;
    查看全部
    0 采集 收起 来源:数据准备

    2018-03-22

  • 本章主要介绍了对数据的操作,分为四大类:增,改,删,查。 INSERT://增加记录,有三种方法。 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr|DEFAULT},...),(...),... INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},... INSERT [INTO] tbl_name [(col_name,...)] SELECT... UPDATE://更新数据 单表更新/UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]...[WHERE where_condition] 多表更新/... DELETE : //删除数据 单表删除/DELETE FROM tbl_name [WHERE where_condition} 多表删除/... SELECT: //查询 SELECT select_expr [,select_expr ...] [ FROM WHERE GROUP BY {col_name | position}[ASC|DESC],... LIMIT {[offset,] row_count|row_count OFFSET offset ]
    查看全部
    0 采集 收起 来源:小结

    2015-10-24

  • 限制查询结果返回数量: (1)SELECT * FROM users LIMIT 2; // 一个数字限制查询结果数量为 2 条 (2)SELECT * FROM users LIMIT 2,3 ;从第三个开始(第一个为0),返回三条。 (3)第三种insert,数据从一个表插入到另一个表: INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示 INSERT test(username) SELECT username FROM users WHERE age >=30; 这是INSERT的第三种方法,与前两种相比,这种方法是使用了子选择,这样就相当于将A表中满足条件的数据导入了B表,无需手动写了 mysql分页要用到: [LIMIT{[offset,]row_count|row_count OFFSET offset}]
    查看全部
  • order by 对查询结果进行排序,默认是升序 order by{col_name} select * from users order by id desc; //对一个字段排序 select * from users order by age,id desc; //两个字段同时排序 desc是降序 1、对查询结果进行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],...]elect * from user order by id desc; 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
    查看全部
  • 分组条件: 利用GROUP BY 分组 添加分组条件 [HAVING where_condition] 要么为一个聚合函数,要么出现在SELECT 条件中。 [HAVING when where_condition] SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错 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是记录个数的,
    查看全部
  • 除了查询结果加where条件外 还可以对其分组: 查询结果分组: [group by{col_name|position} [ASC|DESC],...] select * from users group by sex; select * from users group by 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,也就是会按照字段进行分组) ASC 升序默认 desc 降序 可以有多个分组,用“,”隔开
    查看全部
  • WHERE条件: 条件表达式 对记录进行过滤, 如果没有指定WHERE子句,则显示所有记录。 在WHERE表达式中,可以使用MySQL支持的函数或运算符
    查看全部
  • select占80%的使用(很重要) select version(); select database(); select now(); select 表达式;(只是计算表达式返回结果不会依赖某个表) select columns from 表: select 字段,字段,.. from 表;(selecth后面指定的字段名影响返回结果的先后顺序) select 表1.字段,表2.字段.. from 表; select id AS userid, 字段 as 字段别名.... from 表。 (as对字段别名返回结果,不加AS后面的会默认是别名)
    查看全部
  • 删除表两种 单表&多表 1.单表删除 DELETE FROM 表名 (WHERE 条件) 删除后,添加记录,自动编号是已有编号的最大加1; DELETE FROM users WHERE id=6;
    查看全部
  • UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 例: 不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5 指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置 update更新数据 update <表名> set <列名>=<表达式>,[,<列名>=<表达式>]... [where <条件>];
    查看全部
  • insert的第二种方法: INSERT [INTO] tb1_name SET col_name={expr|DEFAULT},…… 说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery);且只能一次性插入一条记录 例:INSERT users SET username='Ben',password='456';
    查看全部

举报

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

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