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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • SELECT f.type_id,f.type_name,s.type_name FROM tdb_goods_types as f LEFT JOIN tdb_goods_types as s ON f.parent_id = s.type_id;
    查看全部
  • 不可能通过存储过程来创建数据库或数据表
    查看全部
  • 存储过程的定义; 调用存储过程远比sql语句的效率更高,存储过程只有在第一次的时候需要语法分析和编译,之后的每次调用,都直接使用结果。
    查看全部
  • mysql命令的执行流程
    查看全部
  • 浮点型的范围
    查看全部
  • 整型的范围
    查看全部
  • ORDER BY:对查询的结果进行排序 多个排序条件之间以逗号相隔,在前面的排序条件满足时,忽略后面的排序条件,否则按照后面的排序条件进行排序。 eg. SELECT * FROM users ORDER BY age,id DESC; 先按年龄的升序(默认顺序)排列,再按id的降序(DESC)排列
    查看全部
  • HAVING 分组条件 没有 HAVING 时,GROUP BY 是对全体记录进行分组并显示结果。 有 HAVING 时,对全体记录分组后只把符合HAVING条件的记录显示出来。 举例:SELECT username,age FROM users GROUP BY age HAVING count(id)>=2; 这句话的意思是:按照age分组后,把组员数量大于等于2的组显示出来 如果有HAVING作为分组条件,后面必须跟聚合函数(MAX最大值,MIN最小值,AVG平均值,SUM求和,count()计数...只有一个返回值), 或者保证后面跟的字段出现在这条SELECT语句当中 eg. SELECT sex,age FROM users GROUP BY sex HAVING age>35; eg. SELECT sex FROM users GROUP BY 1 HAVING count(id)>=2;
    查看全部
  • 查询结果分组 GROUP BY [GROUP BY {col_name|position} [ASC|DESC],...] ASC:升序,默认 DESC:降序 position:SELECT语句中列的序号 eg. SELECT sex FROM users GROUP BY sex;对users中的sex按sex进行分组 eg. SELECT * FROM users GROUP BY 1;(这里的1表示查询的第一个字段,这里查询所有字段信息,第一个字段就是id,所以会按照id字段进行分组) 1表示SELECT语句中第一个出现的字段,即位置。 建议BY后写列名称,不写位置,因为位置还要人为数。 注意:如果存在相同的值(例如上面的age可能有多个相同的值),只会保留一个。但使用ORDER BY 就不会省略。
    查看全部
  • WHERE语句进行条件查询 WHERE:条件表达式 对记录进行过滤,如果没有指定WHERE子句,则显示所有记录。在WHERE表达式中,可以使用MySQL支持的函数或运算符。
    查看全部
  • 查找记录(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}] 限制返回数量 } 举例:SELECT id,username FROM user1; 2、查询表达式的顺序会影响结果顺序 eg. SELECT username,id FROM user1; 查询表达式的顺序可以和原顺序不一样 每个表达式表示想要的一列,必须有至少一个 多个列直接以英文逗号分隔 星号*表示所有列 tbl_name.*可以表示命名表的所有列 eg. SELECT user.username,user.password FROM user1; 在以后的开发中经常遇到该方式,将不同表中的数据筛选出来 3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列 4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,eg. SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示 5.SELECT 字段出现顺序影响结果集出现顺序,字段别名也影响结果集字段别名。
    查看全部
  • 删除记录(单表删除) DELETE FROM tbl_name [WHERE where_condition] 若不添加WHERE则删除全部记录 删除某条记录后,再插入一条新的记录,自动编号不会补到删除记录的编号上,而是基于原有记录最大编号继续增加
    查看全部
  • 更新记录(UPDATE 修改字段): 单表更新:UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]; 当缺少WHERE时,所有记录都会更新。 LOW_PRIORITY:UPDATE的执行被延迟了,直到没有其它的客户端从表中读取为止。 IGNORE:即使在更新过程中出现错误,更新语句也不会中断。 举例:UPDATE users SET age=age+1; //整张表发生改变 UPDATE users SET age=age+id,sex=0; //多个字段用逗号隔开。 UPDATE users SET sex=1 WHERE id%2=0; //id为偶数的sex值设为1。求余为0即偶数
    查看全部
  • 第二种插入方法 一次只能插入一条记录
    查看全部
  • 记录操作之INSERT 方法一:INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...; INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(列值3,列值4,…),…; 若省略列名称则所有列要依次赋值 对于自动编号的字段,插入“NULL”或“DEFAULT”系统将自动依次递增编号; 对于有默认值的字段,可以插入“DEFAULT”表示使用默认值; 列值可传入数值、表达式或函数,如密码可以用md5()函数(PHP中的函数 求字符串哈希值函数)(如 md5('123')); 可同时插入多条记录,多条记录括号间用逗号“,”隔开. 方法二:INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...; 说明:与第一种方式的区别在于,此方法可以使用子查询SubQuery(=可以引发子查询)。一次性只能插入一条记录。 举例:INSERT users SET username='Ben',password='123'; 方法三:INSERT [INTO] tbl_name [(col_name,...)] SELECT...; 说明:此方法可以将查询结果插入到指定数据表中。SELECT语句中的列要与当前数据表的列相同。
    查看全部

举报

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

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