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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 子查询是出现其他sql语句内的select字句 必须出现在圆括号内 可包含多个关键字和条件 外层查询可以是select,insert,update,set 子查询:指出现在其他SQL语句内的SELECT子句; 子查询返回值:可以是标量、一行、一列或子查询; Eg: SELECT * FROM table_name1 WHERE column_name = (SELECT column_name2 FROM table_name2); /** SELECT * FROM table_name1 称为 Outer Query/Outer Statement SELECT column_name2 FROM table_name2 称为 SubQuery. */
    查看全部
  • limit 限制查询结果返回的数量 select * from users limit 2 ;从第一条开始返回,返回前两个 select * from users limit 3,2 ;返回第四个开始,一共返回两个 select * from users order by id limit 3,2; 按照id 目前的顺序从第四个开始,一共返回两个。按排完序后的 下标取值 insert test(username)select username from users where age>15 限制查询结果返回的数量:[LIMIT {[offset,] row_count|row_count OFFSET offset}]; /** offset 表示偏移的位置,默认第一条记录为0 id 号与结果集的排序无任何关系 */ 插入记录:INSERT [INTO] table_name [(column_name)] SELECT ... //将查询结果插入到指定的数据表中 /** 插入的记录必须与查询的记录数量一致 */ insert test select username from users3 where age>=30; 1、限制查询结果返回的数量:[LIMIT {[offset,] row_count|row_count OFFSET offset}] 2、默认返回所有结果,通过LIMIT可以限制其返回指定数量的记录 3、如SELECT * FROM users LIMIT 2,3; 偏移量为2,从第三条开始,返回3条结果 4、偏移量不是按照id等字段来排序,而是按照当前查询排序的方式顺序偏移
    查看全部
  • 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; 聚合函数永远只有一个返回结果
    查看全部
  • 查询结果分组: group by{col_name|position} select * from users group by sex; select * from users group by 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,也就是会按照字段进行分组) ASC 升序默认 desc 降序
    查看全部
  • 1.WHERE条件 条件表达式 对记录进行过滤, 如果没有指定WHERE子句,则显示所有记录。 在WHERE表达式中,可以使用MySQL支持的函数或运算符。
    查看全部
  • 查询表达式 每一个表达式表示想要的一列,必须至少有一个 多个列之间以英文逗号分隔 星号(*)表示所以列 tbl_name.*可以表示命名表的所有列 查询表达式可以使用[As]alias_name为其赋予别名 别名可用于GROUP BY,ORDRE BY或HAVING子句 SELECT 字段出现顺序影响结果集出现顺序,字段别名也影响结果集字段别名。 一、查找记录 1、语法: SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_name|position} [ASC|DESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序 [LIMIT {[offset,]row_count|row_count OFFSET offset}] 限制返回数量 } 2、查询表达式的顺序会影响结果顺序 每个表达式表示想要的一列,必须有至少一个 多个列直接以英文逗号分隔 星号*表示所有列 3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列 4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,例如SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示
    查看全部
  • 更新记录UPDATE,有两种方式,单表和多表 2、单表更新: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 3、如: 不指定位置: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 users SET username='zhangsan',password='123456' 前面说的insert [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数但是无法进行子查询 insert tb_name set column_name={expr|default}的方法是可以进行子查询,但是只能插入一条记录. 第三种是: insert table_name [(colname...)] select..... 这种方法就是把查询到的结果插入到指定数据表中
    查看全部
  • insert插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...; /** column_name 表示列名 expr 表示表达式 DEFAULT 可直接书写,表示默认值 当字段有自动增加的属性后,在插入表的所有字段的数据时,可以填写 NULL 或 DEFAULT 这两个关键字,表示按照原先默认自动增长的属性 插入多行数据时,可以用逗号隔开 */ Eg: INSERT INTO table_name VALUE(DEFAULT,'BeforeDayBreak',md5('123'),DEFAULT,0),(NULL,'Superman',md5('123'),DEFAULT,0); 自增的属性可以为其赋值为null或者default来实现自增 insert into users values(NULL,'Tom','123',25,1) 或者 insert into users values(DEFAULT,'Tom','123',25,1)
    查看全部
  • insert插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...; /** column_name 表示列名 expr 表示表达式 DEFAULT 可直接书写,表示默认值 当字段有自动增加的属性后,在插入表的所有字段的数据时,可以填写 NULL 或 DEFAULT 这两个关键字,表示按照原先默认自动增长的属性 插入多行数据时,可以用逗号隔开 */ Eg: INSERT INTO table_name VALUE(DEFAULT,'BeforeDayBreak',md5('123'),DEFAULT,0),(NULL,'Superman',md5('123'),DEFAULT,0); 自增的属性可以为其赋值为null或者default来实现自增
    查看全部
  • 外键约束的参照操作
    查看全部
  • 存储引擎
    查看全部
  • DELIMITER 修改分隔符
    查看全部
  • CREATE FUNCTION func_name(para1, para2, ...) RETURNS return_type RETURN expr;
    查看全部

举报

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

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