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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 第二章
    查看全部
    0 采集 收起 来源:总结

    2016-08-23

  • 规范:
    查看全部
  • 两种方式
    查看全部
  • 外连接知识点
    查看全部
  • tdb_goods表里面仍然是cate_id和brand_id,实际上并没有被更改 只是我们在查询的时候查询的是cate_name和brand_name,它们分别在tdb_goods_cates和tdb_goods_brands两个表中 记住select是查询语句,输出的结果是我们查询的来自三个表中的字段,结果并不是单单来源于tdb_goods的。
    查看全部
    0 采集 收起 来源:多表连接

    2016-08-23

  • http://blog.csdn.net/whatday/article/details/49925309 windows下MySQL更改数据库文件目录及1045,1067错误 MySQL安装时不能选择数据库文件的安装位置,也没有可用的直接更改数据库目录的工具,要想更改数据目录,方法如下: MySQL安装并配置完毕,默认的数据哭安装目录为 C:\ProgramData\MySQL\MySQL Server 5.1\data(vist或者win7下) 下面以win7为例介绍: 1.正常安装并配置MySQL; 2.新建想修改的数据库安装目录如E:\MySQL\Data; 3.拷贝C:\ProgramData\MySQL\MySQL Server 5.1\data下所有文件到E:\MySQL\Data; 4.找到MySQL软件的安装目录默认为C:\Program Files\MySQL\MySQL Server 5.1中的my.ini文件 找到 datadir="C:/ProgramData/MySQL/MySQL Server 5.1/data/" 修改为:datadir="E:\MySQL\Data",特别注意是"\"而不是"/",否则不能成功(不知为何!!!) 5.重新启动MySQL服务即可,新建一个数据库目录E:\MySQL\Data下就会多出一个文件夹即数据库目录。 注意:完成之后不要删除C:/ProgramData/MySQL/MySQL Server 5.1/data/目录(尽管可以删除),因为以后重新配置时删除现有实例,再配置新的实例时可能会出现服务无法启动的问题,因为程序还会默认的 把C:/ProgramData/MySQL/MySQL Server 5.1/data/作为数据库目录。。。 重要提示: 安装配置MySQL经常会遇到两个错误 1是1045,这个往往是重新安装或重新配置数据库要求输入原来的密码,而密码错误导致的, 解决办法是重新安装之前卸载原来的程序,并删除安装目录和C:\ProgramData\下的MySQL目录,重新安装即可。 2是1067,这是上面提到的更改数据库目录后如果设置不正确启动服务是遇到的错误,按照上面的步骤即可避免
    查看全部
  • (1)多表删除,将重复记录删除,保留ID号比较小的项 (2)查找重复记录 SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING count(goods_name) >= 2; (3) 删除重复记录 DELETE t1 FROM tdb_goods AS t1 LEFT JOIN (SELECT goods_id,goods_name FROM tdb_goods GROUP BY goods_name HAVING count(goods_name) >= 2 ) AS t2 ON t1.goods_name = t2.goods_name WHERE t1.goods_id > t2.goods_id;
    查看全部
    0 采集 收起 来源:多表删除

    2018-03-22

  • 无限分类: 即在同一张表中既有父类,又有子类。 通过在分类表中再增加多一个字段标识其属于哪一个父类的 ID 来实现。 可以通过对同一张数据表的自身连接来进行查询,需要对表标识别名。 查找父级对应的名称: SELECT s.type_id ,s.type_name,p.type_name FROM tdb_goods_types AS s LEFT JOIN tdb_goods_types AS p ON s.parent_id=p.type_id; 查找子级对应的名称: SELECT p.type_id ,p.type_name,s.type_name FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types s ON p.type_id=s.parent_id; 查找有多少子级: SELECT p.type_id ,p.type_name,COUNT(s.type_name) AS child_count FROM tdb_goods_types AS p LEFT JOIN tdb_goods_types AS s ON p.type_id=s.parent_id GROUP BY p.type_name ORDER BY p.type_id;
    查看全部
  • 外连接: 以左外连接为例: A LEFT JOIN B join_condition 数据表B的结果集依赖于数据表A 数据表A的结果集根据左连接条件依赖所有数据表(B表除外) 左外连接条件决定如何检索数据表B(在没有指定WHERE条件的情况下) 如果数据表A的某条记录符合WHERE条件,但是在数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行 内连接: 使用内连接查找的记录在连接数据表中不存在,并且在WHERE子句中尝试一下操作:column_name IS NULL 。如果 column_name 被指定为 NOT NULL,MySQL将在找到符合连接着条件的记录后停止搜索更多的行(查找冲突)
    查看全部
  • 多表连接 SELECT goods_id,goods_name,cate_name,brand_name,goods_price FROM tdb_goods AS g INNER JOIN tdb_goods_cates AS c ON g.cate_id = c.cate_id INNER JOIN tdb_goods_brands AS b ON g.brand_id = b.brand_id\G;
    查看全部
    0 采集 收起 来源:多表连接

    2016-08-23

  • 子查询与连接——一OUTER JOIN 1、LEFT JOIN:显示左表全部和左右符合连接条件的记录 2、RIGHT JOIN:显示左右符合连接条件的记录和右表全部记录 3、若某字段只存在某一表,则另一表的里字段返回null
    查看全部
    0 采集 收起 来源:外连接OUTER JOIN

    2016-08-23

  • @MySQL——内连接INNER JOIN 1、内连接:在MySQL中JOIN,INNER JOIN,CROSS JOIN是等价的 2、外连接:LEFT JOIN左外连接;RIGHT JOIN右外连接 3、连接条件:使用ON设定连接条件,也可以用WHERE代替 · ON:通常使用它设定连接条件 · WHERE:进行结果集记录的过滤 4:内连接是返回左表及右表符合连接条件的记录
    查看全部
    0 采集 收起 来源:内连接INNER JOIN

    2016-08-23

  • 连接 MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作 语法结构 table reference A {[INNER | CROSS] JOIN | {LEFT | RIGHT} [OUTER] JOIN} table_reference B ON condition_expr 数据表参照 table_reference tbl_name [[AS] alias] | table_subquery [AS] alias 数据表可以使用tbl_name AS alias_name 或 tbl_name alias_name赋予别名 table_subquery可以作为子查询使用在FROM子句中,这样的子查询必须为其赋予别名
    查看全部
  • 建表、查询、写入三合一 CREATE TABLE tdb_goods_brands ( brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, brand_name VARCHAR(40) NOT NULL ) SELECT brand_name FROM tdb_goods GROUP BY brand_name; 多表更新 UPDATE tdb_goods INNER JOIN tdb_goods_brands ON tdb_goods.brand_name = tdb_goods_brands.brand_name SET tdb_goods.brand_name = tdb_goods_brands.brand_id; 通过ALTER TABLE语句修改数据表结构 ALTER TABLE tdb_goods CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL, CHANGE brand_name brand_id SMALLINT UNSIGNED NOT NULL; 外键,不一定是物理的外键,逻辑的外键也行,当然,物理外键更能保证数据的完整性和一致性 注意:数字类型的字段占用的空间更小,查询的效率也更高
    查看全部
  • 多表更新: UPDATE table_references SET col_name1={expr1 DEFAULT} [,col_name2={expr2 DEFAULT}]... [WHERE where_condition] INNER JOIN,内连接 在MySQL中,JOIN, CROSS JOIN 和 INNER JOIN 是等价的。 LEFT [OUTER] JOIN ,左外连接 RIGHT [OUTER] JOIN,右外连接 update tdb_goods inner join tdb_goods_cates on goods_cate=cate_name set goods_cate=cate_id; tdb_goods:想要更改的表名 inner join: 内连接 tdb_goods_cates: 关联的附表 goods_cate=cate_name 两个表对应列的关系 goods_cate=cate_id; 设置 值
    查看全部
    0 采集 收起 来源:多表更新

    2016-08-23

举报

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

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