Mysql
文章平均质量分 70
april2nd
这个作者很懒,什么都没留下…
展开
-
mysql根据group by统计总数横向输出结果
遇到一个面试题,统计每个用户支付成功和失败的订单数,并且失败和成功的结果横向输出,结果如下uid 成功 失败 1 2 1 2 1 1 sql语句如下,用到了sum(if)函数CREATE TABLE `testtable` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_原创 2021-03-17 19:56:45 · 670 阅读 · 0 评论 -
Mysql中使用SQL删除多字段相同的重复记录
创建一个表 我这里用的是mysql8.0CREATE TABLE `testtable` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT 'aaa', `uid` int DEFAULT NULL, `pay_status` int DEFAULT NULL, PRIMARY KEY (`原创 2021-03-17 17:32:03 · 945 阅读 · 0 评论 -
MySQL InnoDB MVCC机制吐血总结
谈到MySQL事务,必然离不开InnoDB和MVCC机制,同时,MVCC也是数据库面试中的杀手问题,写这篇总结的目的,就是为了让自己加深映像,这样面试就不会忘记了。在搜索时发现关于MVCC的文章真的是参差不齐(老子真的是零零散散看了三个月都迷迷糊糊),所以这里集合了各家所言之后进行了自我总结,苦苦研究了许久,才得到的比较清晰的认知,这可能也是我目前最有深度的一篇博客了把,希望对我和看到的人都有所帮助,哈哈。MVCC: Multiversion Concurrency Control,翻译为多版本并发控制转载 2021-03-17 12:19:01 · 171 阅读 · 0 评论 -
MySQL如何选择float, double, decimal
前言我们知道在MySQL中有3种类型可以表示实数,分别是float,double和decimal。关于如何合理得使用这三种类型,网上的答案也层出不穷。但是究竟该选择哪一种类型,好像并没有统一的答案,接下来,将通过一个例子来说明什么情况下选择float,什么情况下选择double,什么情况下选择decimal。相信对这个例子的剖析之后,你就会明白什么时候用什么样的类型举个例子假如我们有一张表,用来存储用户的积分,表定义如下:CREATE TABLE`f`( `f1`float(1...转载 2021-03-15 22:22:37 · 683 阅读 · 0 评论 -
MyISAM与InnoDB的区别
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。InnoDB由Innobase O转载 2021-03-14 20:47:20 · 67 阅读 · 0 评论