为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • MySQL由瑞典开发
    查看全部
    0 采集 收起 来源:MySQL概述

    2018-12-08

  • INSERT tdb_goods_cates(goods_name) SELECT goods_cate FROM tdb_goods GOUNP BY goods_cate;

    查看全部
  • SET NAMES gbk;

    查看全部
    0 采集 收起 来源:数据准备

    2018-12-08

  • 限制查询结果返回数量 

    [LIMIT{[offset,]row_countrow_count OFFSET offset}] 

    例:

    SELECT * FROM users LIMIT 2; // 从第一条开始(第一个为0),返回两条 

    SELECT * FROM users LIMIT 2,3 ;//从第三条开始(第一个为0),返回三条 


    第三种insert,数据从一个表插入到另一个表: 

    INSERT table_name(column_name) SELECT ... 

    例:

    INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示 

    INSERT test(username) SELECT username FROM users WHERE age >=30;

    查看全部
  • 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排序


    查看全部
  • having 语句分组,用在group by后面追加条件,判断式中的字段是必须出现在前面select中的 或者是可以包含没有出现在前面查询中的字段的一个聚合函数count(),max()等等

    查看全部
  • 查询结果分组 GROUP BY 

     [GROUP BY {col_name|position} [ASC|DESC],...] 

    ASC:升序,默认 

    DESC:降序 

    position:SELECT语句中列的序号 

    例:

    SELECT sex FROM users GROUP BY sex;

    对users中的sex按sex进行分组 

    例:

    SELECT * FROM users GROUP BY 1;

    (这里的1表示查询的第一个字段,这里查询所有字段信息,第一个字段就是id,所以会按照id字段进行分组) 

    1表示SELECT语句中第一个出现的字段,即位置。 

    建议BY后写列名称,不写位置,因为位置还要人为数。  

    注意:如果存在相同的值(例如上面的age可能有多个相同的值),只会保留一个。但使用ORDER BY 就不会省略。


    查看全部
  • 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; 这样查询出来的结果会用别名表示


    查看全部
  • 1、删除记录DELETE:分为单表删除和多表删除 

    2、单表删除:DELETE FROM tbl_name [WHERE where_conditon];  

    3、若不添加WHERE则删除【全部记录】 

    删除后再插入,插入的id号从最大的往上加,而不是填补删除的。

    查看全部
  • 单表更新: 

    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 [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数

    但是无法进行子查询 

    insert tb_name set column_name={expr|default}的方法是可以进行子查询,但是只能插入一条记录 

     第三种insert方法 insert table_name [(colname...)] select..... 

    这种方法就是把查询到的结果插入到指定数据表中

    查看全部
  • 1、INSERT 插入记录 

    语法1:INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(...),...; 

    对于自动编号的字段,插入“NULL”或“DEFAULT”系统将自动依次递增编号; 

    对于有默认约束的字段,可以插入“DEFAULT”表示使用默认值; 

    列值可传入数值、表达式或函数,如密码可以用md5()函数进行加密(如md5('123')); 

    可同时插入多条记录,多条记录括号间用逗号“,”隔开 

    语法2:INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...; 

    这种方法一次只能插入一条记录;列值中有自动编号、默认值或Boolean类型均可以不赋值(使用子查询) 

    语法3:INSERT [INTO] 表名(列名1,...) SELECT 列名1,... FROM 表名 [GROUP BY/HAVING/ORDER BY/LIMIT...]; 

    一般用于将其他表的数据插入到指定表,注意对应 

    2、单表更新 UPDATE 

    UPDATE 表名 SET 列名1=列值1 [,列名2=列值2, ...] [WHERE 条件];(如条件为 列名=列值 修改某一字段的值) 

    省略条件则更新所有记录该列的值 

    3、单表删除 DELETE 

    DELETE FROM 表名 [WHERE 条件]; 

    省略条件则默认删除该表所有记录(仅删除所有记录,不删除数据表);

    插入自动编号的字段时,号数为已有的最大号数+1,即使中间有空号数也是如此(如12356,插入记录后为123567)


    查看全部
  • 1.修改列定义:数据列的名字上没有问题,但是数据类型上可能有问题,或位置上有问题;列定义没错,则照抄,修改位置即可

    ALTER TABLE tb1_name MODIFY [COLUMN] col_name column_definition  [FRIST | AFTER col_name]

    (以上修改包括列定义或列位置)

    2.修改列名称:其功能大于上面的MODIFY

    ALTER TABLE tb1_name CHANGE [COLUMN] old_col_name new_col_name column_definition  [FIRST | AFTER col_name]

    3.修改数据表的名字:

    ALTER TABLE tb1_name RENAME [TO| AS] new_tb1_name

    RENAME TABLE tb1_name TO new_tb1_name [,tb1_name2 TO new_tb1_name2] ... (这个方法可为多个数据表更改名称)

    注意:不建议随便更改数据列的名字或着数据表的名字,以免影响数据表的引用。


    https://img1.sycdn.imooc.com//5c0887700001885105000274.jpg

    https://img1.sycdn.imooc.com//5c0887710001afab05000279.jpg


    查看全部
  • 1.修改列定义:数据列的名字上没有问题,但是数据类型上可能有问题,或位置上有问题;列定义没错,则照抄,修改位置即可

    ALTER TABLE tb1_name MODIFY [COLUMN] col_name column_definition  [FRIST | AFTER col_name]

    (以上修改包括列定义或列位置)

    2.修改列名称:其功能大于上面的MODIFY

    ALTER TABLE tb1_name CHANGE [COLUMN] old_col_name new_col_name column_definition  [FIRST | AFTER col_name]

    3.修改数据表的名字:

    ALTER TABLE tb1_name RENAME [TO| AS] new_tb1_name

    RENAME TABLE tb1_name TO new_tb1_name [,tb1_name2 TO new_tb1_name2] ... (这个方法可为多个数据表更改名称)

    注意:不建议随便更改数据列的名字或着数据表的名字,以免影响数据表的引用。


    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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