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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 插入记录:
    INSERT [INTO] table_name [(col_name,...) {VALUES | VALUE} ({expr | DEFAULT},...),(...),...

    如果想对自动递增的字段赋值,可以输入NULL或者DEFAULT.

    对整型字段赋值,可以使用数学表达式。

    对于设置了默认约束的字段赋值,可以直接输入DEFAULT.

    INSERT 插入记录 

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

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

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

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

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

    查看全部
  • mysSQL是瑞典AB 公司开发的,目前属于Oracle公司

    是一个开源的关系型数据库管理系统

    分为社区版和企业版


    查看全部
    0 采集 收起 来源:MySQL概述

    2020-01-03

  • http://img1.sycdn.imooc.com//5e0cebd30001c47e08550509.jpg第二章总结

    查看全部
    0 采集 收起 来源:总结

    2020-01-02

  • http://img1.sycdn.imooc.com//5e0baf6200013fe806900396.jpg本节回顾上章内容。

    查看全部
    0 采集 收起 来源:内容回顾

    2020-01-01

  • #创建goods_cat_table表,并将goods表中的cat_id查询出来也放在goods_cat_table表中。
    create table goods_cat_table(cat_name varchar(20)) select cat_id from goods group by cat_id;


    更新goods表  将goods表中的cat_id的数字标识全部更改为文字标识(注意字段的属性  数字/字符串)

    update goods join goods_cat_table a on goods.cat_id=a.cat_id set goods.cat_id=a.cat_name;

    http://img1.sycdn.imooc.com//5e06f7630001195d11250352.jpg

    查看全部
  • 左外连接 left outter

    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2019-12-27

  • 内连接 inner join

    查看全部
    0 采集 收起 来源:内连接INNER JOIN

    2019-12-27

  • 5-6 多表更新

    2019-06-18

    多表更新(参照另外一张表更新本表的记录)

    语法:UPDATE table_references SET col_name1={expr1 | DEFAULT}

    [,col_name2={expr2 | DEFAULT}] ... [WHERE where_condition],需要表的参照关系,这就是将要讲的连接。

    表的参照关系:一张表通过INNER JOIN或者LEFT OUTER JOIN去连接另外的一张表并通过ON指定连接条件,在写表的参照时,也可以给表起别名。

    连接表的语法:table_reference {[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN} table_reference ON conditional_expr。

    连接表除了使用表的名称以外,还需要使用连接类型。

    连接类型一共分为3中:在MySQL中,JOIN,CROSS JOIN和INNER JOIN是等价的。

    【1】INNER JOIN:内连接.

    【2】LEFT [OUTER] JOIN:左外连接。

    【3】RIGHT [OUTER] JOIN:右外连接。


    案例:使用INNER JOIN连接两张表,并作为表的参照关系进行多表更新,更新商品表id=22的商品分类属性,修改为6,因为商品分类的名称在商品分类表中对应的id为6


    结果:数据信息被更新了

    多表更新

    UPDATE table_references

    SET col_name1 = {expr1|DEFAULT}

    [, col_name2 ={expr2|DEFAULT}]...

    [WHERE where_condition]

    语法结构

    {[INNER|CROSS] JOIN | {LEFT|RIGHT} [OUTER]JOIN}

    table_reference

    ON conditional_expr


    UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name;

    SET goods_cate = cate_id;

    SELECT * FROM tdb_goods\G;


    查看全部
    0 采集 收起 来源:多表更新

    2019-12-25

  • 5-5 使用INSERT...SELECT插入记录

    2019-08-15

    创建一张表

    CREATE TABLE 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;


    将查询结果写入数据表  INSERT SELECT

    语法:INSERT tbl_name (列名) SELECT  【不用写value】

     INSERT tdb_goods_cates (cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;

    使用INSERT...SELECT插入记录

    语法:INSERT [INTO] tbl_name [(col_name,...)] SELECT ...它是将查询的结果写入到数据表,列名省略也可以,否则列名之间用逗号隔开。

    INSERT语句有两种形式:INSERT SET和INSERT VALUES,区别在于INSERT SET 可以使用子查询,因为一般这样写,INSERT SET A字段=多少,这里的=是比较运算符,可以引发子查询。

    如果一张表中存在很多记录,并且这张表中存在很多重复的信息,例如:上面课程中商品表中的品牌字段和商品类型,汉字占的字节数一定比数字占的字节数多,如果数据越来越多,那么数据表就会越来越庞大,查找的时候速度就会变得很慢,所以我们可以通过外键来解决这个问题,但是使用外键至少有两张数据表,而现在就有一张数据表,所以就要再创建两张数据表存储商品的分类和品牌。

    https://img1.sycdn.imooc.com//5d05cfe80001674c07780131.jpg但是此时分类表里还没有数据信息,我们需要从商品表中查找所有的分类信息插入到分类表中,在查找的时候按分类来进行分组,并且插入时有两种方式,方式1录入7条INSERT语句,但这样太麻烦,方式2使用INSERT...SELECT将查询的结果直接写入数据表

    https://img1.sycdn.imooc.com//5d05d4d20001834a07960339.jpg将分组以后的结果插入到我们新创建的数据表当中


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

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


    但是此时商品表还没有分类表的外键,需要参照分类表更新商品表,以前学习的是单表更新,但是现在商品表需要参照分类表进行更新,所以这就是多表更新。



    查看全部
  • 5-4 由[NOT] IN/EXISTS引发的子查询

    2019-06-16

    二、由[NOT]IN引发的子查询

    1、使用[NOT]IN的子查询

    语法结构:operand comparison_operator [NOT] IN (subquery)=ANY运算符与IN等效,!=ALL或<>ALL运算符与NOT IN等效。

    三、使用[NOT]EXISTS的子查询(不经常使用)

    定义:如果子查询返回了结果,EXISTS将返回TRUE;否则为FALSE。


    查看全部
  • 5-3使用比较运算符的子查询:

    修饰符

     SELECT goods_id,goods_name,goods_price FROM tdb_goods  WHERE goods_price >= ANY(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC;

    SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ALL(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC; # 查找价格比所有的超级本类型的商品价格还要大的商品

      #-- 查询价格大于或等于"超级本"价格的商品,并且按价格降序排列

    SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price = ANY(SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') ORDER BY goods_price DESC;

    #-- 查询价格等于任意"超级本"价格的商品,并且按价格降序排列

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

    查看全部
  • SELECT 

    记录查找

    例如:SELECT * FROM tb1;

    就是显示表tb1中的所有记录。


    查看全部
  • 插入表,即可精准插,也可总插。

    查看全部
  • SHOW COLUMNS FROM tbl_name

    用来查看数据表的结构


    查看全部
  • SHOW TABLES

    用来查看数据表。


    查看全部

举报

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

微信扫码,参与3人拼团

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

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