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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • creat database db_name;创建数据库 show databases;查看已经创建的数据库 drop db_name;删除已创建的库 alter database;修改
    查看全部
    0 采集 收起 来源:内容回顾

    2017-02-07

  • 多表更新 UPDATE table_references SET col_name1={expr1 | DEFAULT} [,col_name2={expr2 | DEFAULT}]... [WHERE where_condition] 连接: table_reference {[INNER|CROSS] JOIN|{LEFT|RIGHT}[OUTER]JOIN} table_reference ON conditional_expr 连接类型: INNER JOIN,内连接 在MySQL中,JOIN, CROSS JOIN 和 INNER JOIN 是等价的。 LEFT [OUTER] JOIN ,左外连接 RIGHT [OUTER] JOIN,右外连接 连接条件: conditional_expr 例如:UPDATE 表1 INNER JOIN 表2 ON 列1 = 列2(两者属性完全相同)SET 列1 = 列3(设置值)。 举例: UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name SET goods_cate = cate_id; 商品表的goods_cate 与新表的cate_name 等价,把商品表的goods_cate改成新表的cate_id
    查看全部
    0 采集 收起 来源:多表更新

    2017-02-07

  • 各种存储引擎的特点
    查看全部
  • 事务的特征
    查看全部
  • 1.并发控制: 当多个连接对记录进行修改时保证数据的一致性和完整性。系统使用锁系统来解决这个并发控制,这种锁分为: 1).共享锁(读锁)---在同一时间内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。 2).排他锁(写锁)---在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。 2.锁的力度(也叫锁的颗粒) 锁颗粒(锁定时的单位) ---表锁,是一种开销最小的锁策略。得到数据表的写锁 ---行锁,是一种开销最大的锁策略。并行性最大 表锁的开销最小,因为只需要给一张表加锁,使用锁的个数最小; 行锁的开销最大,因为每一行记录都要加锁,可能使用锁的个数比较多。
    查看全部
  • 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; //列出所有品牌的分组 DESC tdb_goods_cates; //降序显示出tdb_goods_cates表中的项目名称 INSERT tdb_goods_cates(cate_name) SELECT goods_cate FROM tdb_goods GROUP BY goods_cate;//在表tdb_goods_cates中插入tdb_goods中的goods_cate的分组 不用写VALUES 商品表中goods_cate等有重复 且为汉字 占的空间大。所以根据新建的参照表tdb_goods_cate更新商品表,应用外键 使商品表中重复的goods_cate从汉字改为id值 根据一个表修改另一个表 需要多表更新
    查看全部
  • 使用[NOT] IN的子查询: operand comparison_operator [NOT] IN (sunquery); =ANY 运算符与IN等效。!=ALL或<>ALL运算符与NOT IN等效。 使用[NOT] EXISTS的子查询(用得少): 如果子查询返回任何行,EXISTS将返回TRUE;否则为FALSE。
    查看全部
  • 使用比较运算符的子查询: = > < >= <= <> != <=> operand comparision_operator subquery 当子查询返回多个结果时,可用ANY、SOME、ALL关键字来修饰子查询。 聚合函数: 特点 只有一个返回值 AVG(col_name) 返回col_name下数据的平均值 eg. SELECT AVG(goods_price) FROM tdb_goods; WHERE语句中不能使用聚合函数,想使用,需要通过SELECT子查询。 ROUND(num,long) 对num保留long位小数 eg. SELECT ROUND(AVG(goods_price),2) FROM tdb_goods;
    查看全部
  • 单独分析筛选时: SELECT AVG(goods_price) FROM tdb_goods; //AVG函数代表求其平均值// SELECT ROUND(AVG(goods_price),2) FROM tdb_goods; //round(@,#)代表对@数字进行四舍五入,且保留小数点后#位输出// SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=5391.30; //输出价格大于5391.30的id、name、price// 综合起来运用子查询时: SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=(SELECT ROUND(AVG(goods_price),2) FROM tdb_goods); //查找价格大于平均值的商品// SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'\G; //检索分类为”超极本”的商品价格且一网格显示// 对于ANY、SOME、ALL的用法各有不同:(ANY和SOME用法相同) SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ANY (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本'); SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price>=SOME (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');
    查看全部
  • 子查询: 1.子查询是指出现在【其他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[子查询] ps:Outer Query[外查询]并不单单指SELECT等查询语句,而是所有的SQL语句,当一个SQL语句包含了子查询,则包含子查询的语句就叫外查询 2子查询的条件: 1)始终出现在圆括号内; 2)可以包含多个关键字或者条件;如 distinct、group by、order by、limit、函数等 (改为大写) 3)子查询的外查询可以是:【SELECT,INSERT,UPDATE,SET或DO】。SQL语句的统称 3.子查询的返回值 子查询可以返回标量、一行、一列或子查询
    查看全部
  • 查看数据表中的记录 SELECT * FROM tdb_goods 可以加\G以网格形式展现 如图
    查看全部
    0 采集 收起 来源:数据准备

    2017-02-07

  • 虽然MySQL配置了客户端和服务器的编码格式均为utf8编码,但在已建的数据表插入记录时,MySQL仍然不识别中文,会抛出Incorrect String Value异常。 显示乱码如图 该问题的解决办法即: 1. 在插入记录之前,通过SET NAMES gbk;设置客户端的编码格式,即敲入的是什么编码,客户端会自动将插入命令转换成utf8编码 2. 当然在查询记录之前,也需要通过SET NAMES gbk;设置客户端数据显示的编码,否则会出现乱码 3. SET NAMES gbk;只会影响客户端显示数据的编码,对源数据不会有任何影响
    查看全部
    0 采集 收起 来源:数据准备

    2017-02-07

  • MySQL数据类型-decimal详解 1.首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。 DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下: ·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。 ·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。 说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。 如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。 M 与D 对DECIMAL(M, D) 取值范围的影响 类型说明取值范围(MySQL < 3.23)取值范围(MySQL >= 3.23) MySQL < 3.23 MySQL >=3.23 DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9 DECIMAL(5,1) -99.9 到 999.9 -9999.9 到 99999.9 DECIMAL(6,1) -999.9 到 9999.9 -99999.9 到 999999.9 DECIMAL(6,2) -99.99 到 999.99 -9999.99 到 99999.99 DECIMAL(6,3) -9.999 到 99.999 -999.999 到 9999.999 # 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。 结论: 当数值在其取值范围之内,小数位多了,则直接截断小数位。 若数值在其取值范围之外,则用最大(小)值对其填充。
    查看全部
    0 采集 收起 来源:数据准备

    2018-03-22

  • 记录的操作 INSERT 增 DELETE 删 UPDATE 改 称为记录的写操作 SELECT 记录的查找 称为记录的读取操作
    查看全部
    0 采集 收起 来源:数据准备

    2017-02-06

  • MySQL % 和 编程里的 * 一样 MySQL从1开始
    查看全部
    0 采集 收起 来源:MySQL 字符函数

    2017-02-06

举报

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

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