
MySQL
mysql
章鱼哥TuNan&Z
追求幸福,探索未知,不卑不亢,沉稳可靠。所有技能都会因为不用而退化。避免这种损失的正确对策是使用一些类似于飞行员训练中用到的飞行模拟器那样的东西。这种模拟器让飞行员能够持续地操练所有很少用到但必须保证万无一失的技能。明智的人会终身操练他全部有用然而很少用的上的、大多数来自其他学科的技能,并把这当做事一种自我提高的责任。如果他减少了他操练的技能的种数,进而减少了他掌握的技能的种数,那么他自然会陷入“铁锤人倾向”引起的错误之中。他的学习能力也会下降,因为他需要用来理解新经验的理论框架已经出现了裂缝。对于一个善于思考的人而言,把他的技能编排成一张检查清单,并常常将这张清单派上用场,也是很重要的。
展开
-
高效完成元数据导入(通过表格)
创建目标表:创建一个表来存储元数据信息。获取表和字段信息:从获取表和字段的元数据信息。将元数据插入目标表:按照表名分组,并按字段顺序将这些信息批量插入到目标表中。以上步骤详细描述了如何将 MySQL 中的表名、字段名、字段中文名、字段类型等信息批量插入到一个新的表中,并按照表名分组和字段顺序插入。通过创建存储过程,可以使这个过程更加自动化和易于维护。后续我们也可以做一个前端页面实现交互,直接批量或者单独往一个对话框中丢表名称,自动下载对应的表结构字段信息。原创 2024-06-24 23:53:47 · 862 阅读 · 0 评论 -
SQL 中去掉字段中字符串左边的0
SQL 中去掉字段中字符串左边的0原创 2023-02-20 09:42:46 · 3792 阅读 · 0 评论 -
SQL中替换某个字段中的多个字符为一个字符串,或则SQL中将某个字段的多个字符去掉
SQL中替换某个字段中的多个字符为一个字符串,或则SQL中将某个字段的多个字符去掉原创 2023-01-05 20:00:26 · 1967 阅读 · 0 评论 -
排名问题题解
排名问题题解刷题通过的题目排名https://www.nowcoder.com/practice/cd2e10a588dc4c1db0407d0bf63394f3b方法一、首先要通过题目降序,id升序,那么sql应为:select a.id,a.number from passing_number a order by a.number desc, a.id asc;要得到通过题目的排名,比如你通过了8分,,你同学a也通过了8分,找到大于等于你的成绩,一个9分,一个8分,一个8分,去重复,就原创 2021-12-17 01:33:47 · 449 阅读 · 0 评论 -
统计每个日期新用户的次日留存率
统计每个日期新用户的次日留存率#明确问题:12号的新用户次留是指在12号是第一次登录,并且在13号也登录了。#分母:当前日期新用户的特征是 当前日期=该用户所有登录日期的最小值#分子:当前日期作为前一天有该用户的登录记录 并且是第一次登录。(12号作为前一天有这个人,说明13号有这个人)【易错点】因为分母有可能为0,所以用ifnull(不为null时返回的值,为null时返回的值),这里指定为null时返回0前一天有该用户的登录记录:case when (user_id,date)in原创 2021-12-15 09:57:02 · 2131 阅读 · 0 评论 -
新登录用户的次日成功的留存率
新登录用户的次日成功的留存率描述统计一下牛客新登录用户的次日成功的留存率。有一个登录(login)记录表,简况如下:请你写出一个sql语句查询新登录用户次日成功的留存率,即第1天登陆之后,第2天再次登陆的概率,保存小数点后面3位(3位之后的四舍五入),上面的例子查询结果如下:查询结果表明:user_id为1的用户在2020-10-12第一次新登录了,在2020-10-13又登录了,算是成功的留存user_id为2的用户在2020-10-12第一次新登录了,在2020-10-13又登录了,算原创 2021-12-12 23:45:50 · 580 阅读 · 0 评论 -
构建一个触发器audit_log
构建一个触发器audit_log描述:构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。CREATE TABLE employees_test(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL);CREATE TABLE audit(EMP_no INT NOT NULL,NA原创 2021-12-08 14:54:44 · 254 阅读 · 0 评论 -
MySQL中创建四种不同类型索引的方法:
MySQL中创建四种不同类型索引的方法:1、添加主键alter table tbl_name ADD PARTIION KEY (col_list);//该语句添加一个主键,这意味着索引必须是唯一的,且不能为NULL.2、添加唯一索引ALTER TABLE tbl_name ADD UNION index_name (col_list);//这条语句创建索引的值必须是唯一的3、添加普通索引alter table tbl_name add index index_name (col_lis原创 2021-12-08 14:07:23 · 687 阅读 · 0 评论 -
oracle回滚和撤销机制笔记
oracle回滚和撤销机制笔记一、回滚段存储的内容1、对于insert操作:回滚段只需要记录插入记录的rowid,如果回退,只需要将该记录根据rowid删除即可。2、对于update操作:回滚段只需要记录被更新字段的旧值即可,回退时通过对旧值覆盖新值即可完成回退。3、对于delecte操作,oracle则必须记录整行的数据,在回退时,oracle通过一个反向操作恢复删除数据的数据。二、回滚在oracle中的机制。在一个简单的更新语句中,对于回滚段的操作存在多处,在事务开始时,首先需要转载 2021-07-19 11:08:36 · 2302 阅读 · 0 评论 -
oracle 语法转mysql(hql)之decode和case when 转换函数
oracle 语法转mysql(hql)之decode和case when 转换函数decode 和 case when 转换函数场景:经常需要oracle数据库和hive大数据平台或mysql数据库等切换,造成写代码经常要迁移,但是hive、mysql中没有decode,所以python写了一个转换case when 写法的函数编码:def decode_Case_when(str1): #对字符串进行分列 t0 = str1.split(',') #取出...原创 2021-07-13 09:20:12 · 973 阅读 · 0 评论 -
MySQL的存储引擎和数据结构
MySQL的存储引擎和数据结构一、存储引擎的数据结构1、B树(B-树)B树是2-3树的一种扩展,对于M阶(M就是数的高度,比如下图为一个四阶的树)的B树来说:(1)根节点至少有两个子节点(2)每个节点至多有M-1个key,以升序排列,以及Nk+1个指针,其中Nk代表key的数量。(3)对于一个key1来说,它左侧的指针指向的子节点的key值<=key1,右侧子指针指向的子节点的key值>key1(详见下图)(4)其他节点至少有M/2个子节点关于B树中插入节点的过程,在下面这个博原创 2021-05-16 22:56:35 · 294 阅读 · 0 评论 -
where 和on的区别
6、where 和on的区别在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。两条SQL:1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab.原创 2021-05-11 18:18:30 · 794 阅读 · 0 评论 -
group by ;distinct去重
都是用来去重的,去重的,group by 主要是用来分组的;distict专门用来去重的。结论:能使用group by代替distinct就不要使用distict;原因:使用distinct(id)会将所有的id都shuffle到一个reduce里面,数据倾斜,group by 起来多个reducer,将数据分布到多态机器上执行,时间就非常快。由于没有手动的指定reduce的个数,Hive会根据数据的大小动态的指定Reduce大小,也可手动指定如果想在一条语句中考一条语句里看总记录条数以及去.原创 2021-05-11 17:51:08 · 2958 阅读 · 0 评论 -
SQL经典面试题-连续登录3天用户
SQL经典面试题-连续登录3天用户1、场景-建表select * from tmp.tmp_last_3_day;2、分析3、sql实现连续3天登录的用户id sql如下:结果:原创 2021-05-06 10:48:53 · 1194 阅读 · 0 评论 -
HiveSQL
HiveSQLHive Sql 入门教程基础关键字用法前置教程hive库表知识hive库是表的一个集合,一个库拥有多个表,hive整个数据库拥有多个库。hive表代表一个对象,比如一个人设计为一个表就有身高体重等属性,在hive中实际存储表现为每张表会有一个存储地址,比如表名为people,实际存储会有hive中的分区概念/xx/xx/people,hive中引用了一个很重要的概念分区,分区实际上也是这个表的字段,反映在实际存储中通常以天为分区,存储在址为/xx/xx/peopl原创 2021-05-06 08:46:21 · 11243 阅读 · 4 评论 -
count(*) count(1)两者比较
count(*) count(1)两者比较1、没有主键的情况下count(1)比 count(* )快一些如果表只有一个字段,count( )是最快的有主键或联合主键的情况下,count( *)略比count(1)快一些。原创 2021-05-04 16:36:39 · 104 阅读 · 0 评论 -
Canal 采集MySQL binlog日志
Canal 采集MySQL binlog日志1、Canal 数据同步之MySQL binlog日志 Canal是阿里巴巴开发数据实时同步框架,原理与OGG基本类似,都是捕获数据库日志数据,进行解析,将其发送到目标端(比如Kafka 消息队列)。新版Canal 1.1版本针对MySQL数据库来说,日志数据:binlog日志,二进制日志。binlog中存储四种类型日志数据:插入insert、更新update、删除delete和清空truncate。默认情况下,MySQL数据库没有开启bin原创 2021-04-25 11:26:47 · 6869 阅读 · 0 评论 -
图解MySQL 内连接、外连接、左连接、右连接、全连接
mysql内连接外连接(图解)1、内连接查询select * form A,B where A.id=B.idselect * from A innner join B on A.id=B.id2、左外连接查询select * from A left [outer] join B on A.id = B.id3、右外连接查询select * from A right [outer] join Bon A.id=B.id4、全外连接[外链图片转存失败,源站可能有防盗链机制,建原创 2021-04-12 16:44:28 · 899 阅读 · 1 评论 -
mysql TIMESTAMPDIFF和TIMESTAMPADD用法
mysql TIMESTAMPDIFF和TIMESTAMPADD用法**TIMESTAMPDIFF****语法**TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)**说明**返回日期或日期时间表达式datetime_expr1和datetime_expr2之间的整数差。其结果的单元由interval参数给出。该参数必须是以下值的其中一个:- FRAC_SECOND:表示间隔是毫秒- SECOND:秒- MINUTE:分钟原创 2021-03-19 00:23:08 · 215 阅读 · 0 评论 -
Hive sql练习
###Hive sql练习-- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 SELECT a.*,b.s_score AS 01_score,c.s_score AS 02_score FROMstudent aLEFT JOIN score b ON a.s_id=b.s_id AND b.c_id='01'LEFT JOIN score c ON a.s_id=c.s_id AND c.c_id ='02' WHERE b.s_score>c.s_score;--原创 2021-03-16 13:35:08 · 411 阅读 · 0 评论 -
Mysql数据库
Mysql数据库1.登录MySQL数据库方式1:mysql -u用户名 -p密码mysql -u用户名 -p 回车输入密码方式2:mysql --host=ip地址 --user=用户名 --password=密码2、MySQL图形化开发工具-DataGripDataGrip连接Mysql[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TZiNRdUw-1614873125781)(https://gitee.com/TuNan86/mapdeport2/原创 2021-03-04 23:52:37 · 4479 阅读 · 4 评论