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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
学习人数
综合评分9.67
950人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 空值与非空值 NULL: 字段值可以为空 NOT NULL; 字段值禁止为空 CRATEA TABLE tb2( username VARCHAR(20)NOT NULL, age TINYINT UNSIGNED NULL )//创建数据表tb2; SHOW COLUMNS FROM tb2;//查看tb2数据表列表结构 INSERT tb2 VALUES("Tom",NULL);//在tb2中插入记录 SELECT*FROM tb2;//查找数据表记录; INSERT tb2 VALUES(NULL,25);//ERROR: column "username" cannot be null
    查看全部
  • 内连接;在查询时只显示符合连接条件的记录,若一开始在两个表中某一列创建连接,然后在一张表中添加新的记录,且此记录不符合原有的连接条件。然后查询,但最后查不到新加的内容

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

    2020-01-16

  • MySQL在SELECT语句,多表更新,多表删除语句中支持JOIN操作

    连接类型;内连接,左外连接,右外连接。

    当多表中有重复的列名时,可以使用tb1_name AS alias 或者 table_subquery AS alias

    查看全部
  • 多表更新一步到位

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

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

    通过tdb_goods_brands数据表来更新tdb_goods数据表(注意给表起别名)

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

    通过ALTER TABLE语句修改数据表结构

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


    查看全部
  • 多表更新

    语法: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:右外连接。

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

    2020-01-16

  • 使用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


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

    查看全部
  • 产生子查询的情况有三类

    AVG求平均值,ROUND(...,2)对某个数四舍五入且保留到小数位数的两位

    所谓子查询,可理解为将两步的查询合为一步,可以将原有查询条件WHERE中的比较运算符的右操作数换为另一个能产生相同结果的查询

    语法结构:

    operand comparison_operator [ANY | SOME | ALL]subquery

    查看全部
  • sql结构化查询语言

    子查询可以返回标量,一行,一列,或子查询

    查看全部
  • SELECT * FROM DAYTWO LIMIT 2————只有一个参数,从第一条开始返回两条。(默认从上到下第一条语句为0,与id号无关)

    SELECT * FROM DAYTWO LIMIT 2,2————从返回第三第四条语句

    查看全部
  • HAVING where_condition

    HAVING后面保证;1;为一个聚合函数求最大最小平均值等只有一个返回结果(),2;要么为一个在select语句中出现过的字段。

    eg.SELECT sex,age FROM DAYTWO GROUP BY 1 HAVING  age 

    两个条件保证一个就OK

    查看全部
  • GROUP BY 列名跟在“SELECE 列名 FROM 表名”后面。ASC为升序,DESC为降序。若存在多个分组条件,中间以逗号隔开

    查看全部
  • 1.查询表达式中列的顺序可以与原表中的顺序不一致,

    2.查询时,可以用数据表名.列名更加强了确定性(防止后期多表连接时有列名重复)

    3.查询时,若原字段(列)的名字较复杂,可以使用别名来称呼原字段;

    原名 AS 新名,原名1 AS 新名1,原名2 AS 新名2,

    查看全部
  • 如果省略where条件,所有的记录将全部被更新

    查看全部
  • MySQL修改数据表(添加约束)

    添加主键约束:ALTER TABLE 表名 ADD [CONSTRAINT [symbol(给主键取的名称)]] PRIMARY KEY [index_type] (index_col_name,...)

    添加唯一约束:ALTER TABLE 表名 ADD [CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

    添加外键约束:ALTER TABLE 表名 ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name] (index_col_name) REFERENCES 参照表名(参照列)

    添加/删除默认约束

    ALTER TABLE 表名 ALTER [COLUMN] 列名 {SET DEFAULT 默认值 | DROP DEFAULT}


    查看全部
  • MySQL修改数据表(添加和删除列)

    添加单列:ALTER TABLE 表名 ADD [COLUMN] 列名 列定义 [FIRST(添加这一列放在指定列前方)|AFTER 列名(添加这一列放在指定列的后面)]。(如果省略FIRST或者AFTER则插入表最后面)

    添加多列:ALTER TABLE 表名 ADD [COLUMN] (列名,列定义,...)

    1、添加的列需要放置在();

    2、不能指定位置关系,只能在数据表的下方。

    删除单列:ALTER TABLE 表名 DROP [COLUMN] 列名

    删除多列:ALTER TABLE 表名 DROP 列名,DROP,列名2


    查看全部

举报

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

微信扫码,参与3人拼团

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

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