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

与MySQL的零距离接触

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

    2016-10-16

  • INSERT [INTO] tbl_name SET col_name={exprDEFAULT},...//可以使用子查询 INSERT [INTO] tbl_name [(col_name,...)] SELECT ...//将查询结果写入数据表 Eg: INSERT INTO table_name [(column_name)] SELECT column_name2 FROM table_name2 GROUP BY column_name3; CREATE TABLE IF NOT EXISTS 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; //列出所有品牌cate DESC tdb_goods_cates; //显示出tdb_goods_cates表中的项目名称,与SHOW COLUMNS FROM tdb_goods_cates;作用相同 INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;//在表tdb_goods_cates中插入tdb_goods中的cate
    查看全部
  • 第二种子查询---in not in in 相当于=any not in 相当于 !=all 或者<>all ——不等于、不包含 子查询----exists not exists ——用得比较少 子查询返回任何行 exists 返回 true 反之 返回 false -- = ANY 或 = SOME 等价于 IN EG:SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price !=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本' )//得到19个记录(22-3) SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate = '超级本') //得到3个记录 第三种子查询.使用 [NOT] EXISTS 的子查询(较少用)
    查看全部
  • 1、内连接:在MySQL中JOIN,INNER JOIN,CROSS JOIN是等价的 2、外连接:LEFT JOIN左外连接;RIGHT JOIN右外连接 3、连接条件:使用ON设定连接条件,也可以用WHERE代替 · ON:设定连接条件 · WHERE:进行结果集记录的过滤 4:内连接是返回左表及右表符合连接条件的记录 5、例如:SELECT * FROM tabA JOIN tabB ON tabA.name = tabB.name;表示返回都含有的name值对应的字段 内连接 INNER JOIN ... ON....;:SELECT goods_id,goods_name,cate_name FROM tdb_goods INNER JOIN tdb_goods_cate ON tdb_goods.cate_id = tdb_goods_cate.cate_id;
    查看全部
    5 采集 收起 来源:内连接INNER JOIN

    2016-10-16

  • 子查询是指出现在【其他SQL语句内】的SELECT子句 eg: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement) SELECT column1 FROM t2 称为Sub Query[子查询] 子查询指嵌套在【查询内部】,且必须始终出现在【圆括号内】。 子查询可以包含多个关键字或者条件,如DISTINCT,GROUP BY,ORDER BY,LIMIT,函数等 子查询的外层查询可以是:【SELECT,INSERT,UPDATE,SET或DO】 子查询可以返回值:标量、一行、一列或者子查询
    查看全部
  • MyISAM InnoDB
    查看全部
  • 修改存储引擎
    查看全部
  • 我遇到的问题是不管怎么删除数据表,插入数据,插入中文时,显示的都是问号, 已找到解决办法: 第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;) 查看你创建的 数据库是否是 /*!40100 DEFAULT CHARACTER SET utf8*/ 如果不是,删除这个数据库,再建过就OK! 如果是,就第二步! 第二步:show create table xxxx 查看你创建的数据表是否是 DEFAULT CHARSET=UTF8 如果不是,删除再创建表格就行了, 如果还不行! 第三步: 打开my.ini 在[client]节点下添加 default-character-set=utf8 在[mysqld]节点下添加 character-set-server=utf8 collation-server=utf8_general_ci 保存,重启mysql! 再 mysql> show variables like 'char%';查看是否是下面一样: | character_set_client | utf8 | character_set_connection | utf8 | character_set_database | utf8 | character_set_filesystem | binary | character_set_results | utf8 | character_set_server | utf8 | character_set_system | utf8 | character_sets_dir | /opt/mysql-cluster/share/mysql/charsets/ 总结:当数据库和数据表的编码不一样时,可能插入中文会出现乱码!或这问号, 原因都可以通过第一,二,三步来逐一排除!
    查看全部
    7 采集 收起 来源:数据准备

    2018-03-22

  • 各种存储引擎的特点
    查看全部
  • 事务的特性
    查看全部
  • 建表、查询、写入三合一: 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 AS g INNER JOIN tdb_goods_brands AS b ON g.brand_name = b.brand_name SET g.brand_name = b.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; PS: 外键,不一定是物理的外键,逻辑的外键也行,当然,物理外键更能保证数据的完整性和一致性。 数字类型的字段占用的空间更小,查询的效率也更高。
    查看全部
  • 锁颗粒:表锁、行锁
    查看全部
  • 锁:共享锁(读锁)、排他锁(写锁)
    查看全部
  • 并发控制
    查看全部
  • 存储引擎
    查看全部

举报

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

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