
MySQL——燕十八老师课程笔记
文章平均质量分 56
芋头圆生煎
请为我点赞 & 收藏,博主会很开心,谢谢
展开
-
MySQL燕十八老师课程笔记:第十九课:事务
什么是事务?将一个业务下的SQL语句作为一个单元统一操作==>“同生共死”【myisam不支持事务】例如:A转账500给B,打完之后A减少500,B增加500,如果这两个动作有一个没有完成,则整个转账过程失败(原子性)# 如何启用事务?start transaction;# 如何结束事务?commit;# 如何撤销事务?(回滚事务)——即对于失败事务,对之前的成功操作做的处理rollback;事务的中间状态是不可见的——隔离性事务发生结束了之后是不能恢复的——持久性事务之前和之原创 2021-03-18 09:58:27 · 162 阅读 · 2 评论 -
MySQL燕十八老师课程笔记:第十八课:乱码问题全解
在本地文本文档打“联通”二字后保存,发现再次打开后显示乱码,但其他就没有这种问题。键盘上127个字符,用一个字节就够存储了,原因:一个字节有八个位:0000 0000-1111 1111,一共有256种值。(事实上,7个位就够了,因为7个位可以表示128种变化)ASCII码:0-127表示,最高位始终为0。但对于中文,一个字节显然不够,这时我们需要用2个字节来表示:0000 0000 0000 0000->1111 1111 1111 1111 0->65535,6万多种组合,够用了原创 2021-03-18 09:58:07 · 187 阅读 · 2 评论 -
MySQL燕十八老师课程笔记:第十七课:视图
# 查询每个栏目下商品的平均价格,并取平均价前3高的栏目select cat_id,avg(shop_price) as pj from goods group by cat_id order by pj desc limit 3;# 取平均价格前3低的:select cat_id,avg(shop_price) as pj from goods group by cat_id order by pj asc limit 3;# 平均价由高到低,第3到第5名的栏目select ca原创 2021-03-18 09:57:42 · 169 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十六课:MySQL各个函数
# 在给商品打八八折的基础上抹掉零头select goods_id,goods_name,floor(shop_price*0.88) from goods where cat_id=4;# 给每一个商品生成一个5到15元之间的随机红包,购买随机赠送红包select floor(rand()*10+5); select goods_id,goods_name,floor(rand()*10+5.99999) as bonus from goods; # 因为加5的话,返回15的概率很小原创 2021-03-18 09:57:22 · 181 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十五课:union
union:合并两条或多条语句的结果。语法:sql1 union sql2# 要求查出价格低于100元和价格高于4000元的商品,要求不能用or# 先查低于100元的商品select goods_id,goods_name,shop_price from goods where shop_price < 100;# 再取出大于4000的商品select goods_id,goods_name,shop_price from goods where shop_price >原创 2021-03-18 09:57:00 · 164 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十四课:左连接、右连接等区别
声明: 本文所有名字都不代指具体明星!只是为了方便理解借用名字而已!!请勿上升真人!!!❤左连接、右连接、内连接的区别?例子:男生表:姓名屌丝李四王五高富帅郑七配偶ABCDE女生表:姓名空姐大S张柏芝阿娇林黛玉宝钗配偶BCDDEF这时,主持人大声说:所有的男士站到舞台上,带上自己的配偶,(没有的拿块牌子,上写NULL)思考:张三(屌丝)上不上舞台呢?答:上问:张三(屌丝)没有对应的行怎么办?答:用原创 2021-03-18 09:56:39 · 248 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十三课:左连接
要求:打印报价单,打印出所有商品的名称、库存和价格一张表就是一个集合,每一行就是一个元素。在数据库的操作上,如何操作表,达到集合的笛卡尔积的效果?直接用“,”隔开,表明查询即可。select goods_id,cat_id,goods_name,cat_id,cat_name from goods,category;ambiguous adj.模糊的原因:cat_id在两张表中都有,到底指哪张表的cat_id字段呢?如果在多表联查时,某一列名,在2张或2张以上表都有,则需要在列名前指定表名,原创 2021-03-18 09:56:19 · 186 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十二课:NULL
建表时,列后面的 not null default ‘’/ default 0 就是让这个列值不为 NULL,如果某个列确实没填值,也有默认值,不会为NULL。为什么不想要NULL的值?例:create table test(name varchar(20))engine myisam charset utf8;insert into values('lisi'),('wangwu'),('null');问:这个插入的null,是不是真的null?答:不是,这只是一个字符串。inse原创 2021-03-18 09:55:46 · 162 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十一课:子查询
# 查出本网站最新的(goods_id)最大的一条商品# 思路:按goods_id desc排序,再取第一行select goods_id,goods_name from goodsorder by goods_id desc limit 0,1;# 查出本网站最新的(goods_id)最大的一条商品# 要求:不允许用排序!!select goods_id,goods_name from goods where goods_id = 33;#(这个做法中的33是用子查询的结果当条件)不具原创 2021-03-18 09:55:17 · 209 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第十课:order by 与 limit 详解
在PHP中,获取不同栏目的商品:在地址栏上获取$_GET[‘id’]select goods_id,cat_id,goods_name from goodswhere cat_id = 5;排序是针对最终结果集的。即当最终结果集出来后,order by 要放在 where\group\having 的后面。# 取出第四个栏目下的商品,并按价格由高到低排序select goods_id,goods_name,shop_price from goodswhere cat_id=4order by原创 2021-03-14 11:12:17 · 396 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第九课:having筛选
回顾之前做过的一道题:查询本店价比市场价省的钱,并且要求省钱200元以上的取出来select goods_id,market_price,shop_price,(market_price-shop_price) as discountfrom goods where (market_price-shop_price) > 200;# 注意:最后的那个:不能用where discount>200,因为这个已经是结果了,MySQL语句不能对结果进行操作。使用having:select原创 2021-03-14 11:08:48 · 319 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第八课:SQL之group分组及统计函数详解
5个统计函数:min max sum avg count# 查询出最贵的商品的价格# 即shop_price最大的值查询出来select max(shop_price) from goods;# 同理,查询出最便宜的商品的价格select min(shop_price) from goods;# 查询出发布最早的商品,即goods_id最小的值select min(goods_id) from goods;# goods_number是指库存量,# 店主想统计一下,本店一共库原创 2021-03-14 10:46:27 · 564 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第七课:查询模型的理解
把列看成变量,把where 后面看成表达式,哪一行能够使表达式为真,就取出哪一行。第一点:把where后面看成表达式:判断下一行取出什么?select goods_id, goods_name from goodswhere 1>2;#结果:empty set 因为表达式恒为假。同理:问:where 1 是什么意思?select goods_id, goods_name from goodswhere 1;#取出所有行。第二点:把列看成变量(既然是变量,变量之间就可以运算)取原创 2021-03-14 10:36:57 · 176 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第六课:商品表的各种按条件查询
老师下了ecshop,我看有弹幕同学说:“可以下,但没必要”,我就没下。查询:#先模拟ecshop建一个小型的商品表create table goods(goods_id mediumint(8) unsigned not null auto_increment,cat_id smallint(5) unsigned not null default '0',goods_sn varchar(60) not null default '',goods_name varchar(120) not原创 2021-03-14 10:32:53 · 1320 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第五课:建表
MySQL中,Boolean型就是tinyint。建表案例:创建某高端白领私密社交网站。username、id、gender、weight、birth、salary、lastlogin、除了username和intro外,其他的列都定长,因此不妨让其所有列都定长,这样会带来查找效率和速度上的极大提高。username:char(20) intro:char(1500)却浪费得太多了,另一方面,人的简介一旦注册完,改的频率也不是很高,因此我们可以把intro列单独拿出来,放到另一张表里。在开发原创 2021-03-14 10:28:23 · 140 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第四课:时间类型
date,用于存储日期类型。create table test(star varchar(20) not null default '',birth date not null default '0000-00-00')engine myisam charset utf8;insert into test values('张国荣','1956-05-12');#注意:如果这里insert不进去,可能是客户端没有声明字符集的问题,要重新声明一下set names gbk;#这样就可以了。原创 2021-03-14 10:01:50 · 137 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第三课:列类型-字符型和字符串型
怎么建表?——只要把第一行表头建好了,这张表也完成了。至于其他的数据,已经不是表的概念了,而只是表中的数据。因此,建表的过程,就是一个画表头的过程,即:建表的过程就是一个声明字段的过程。建表和列类型的关系:存储同样的数据,不同的列类型,所占据的空间和效率是不一样的。重点:学习列类型的存储范围和占据的字节关系。MySQL三大列类型:数值型1.整型1.1 Tinyint:占一个字节,存储范围:有符号数:-128 ~ 127,无符号数:0~255,(这里,燕十八老师的网课,深刻理解了反码原码补码原创 2021-03-14 09:56:09 · 165 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第二课:增删改查
增:tee D:\1010.sql回车后显示:Logging to file 'D:\1010.sql'这句话是把敲的sql及结果都输出到一个sql文件里,便于复习。create table class( id int primary key auto_increment, sname varchar(10) not null default '', gender char(1) not null default '', company varchar(20) no原创 2021-03-14 09:44:17 · 221 阅读 · 0 评论 -
MySQL燕十八老师课程代码
create table class(id int primary key auto_increment,sname varchar(10) not null default ‘’,gender char(1) not null default ‘’,company varchar(20) not null default ‘’,salary decimal(6,2) not null default 0.00,fanbu smallint not null default 0)engine原创 2021-03-11 13:21:36 · 219 阅读 · 0 评论 -
MySQL燕十八老师课程笔记:第一课:基本入门语句10条
最最最开始:你需要安装,网上有很多安装教程,这里就不赘述了。可以建一个快捷方式在桌面,这样子下次进入会快很多。双击之后填密码就可以进入啦!界面如图:当连上服务器 之后,首先面对的是:库选库语句:use +库名如果不知道有哪些库:show databases;连上库,选了库之后,面对的是 表:查看库下面的所有表:show tables;建立自己的库:create database +库名 charset +字符集(建议后面加“charset utf8”)create database原创 2021-03-09 13:51:56 · 282 阅读 · 0 评论