随笔分类 -  2、3关系型数据存储管理一体化(RDBMS) / 2、MySQL(集中式、开源、关系型)

摘要:一、Oracle数据库单机关机(eg:LEAP系统) 先关闭使用数据库的应用系统,再关闭数据库 关闭数据库执行以下命令 1、关闭Oracle数据库监听器:(使用操作系统下管理Oracle的账户,关闭监听) $ lsnrctl stop 2、登陆数据库系统: $ sqlplus / as sysdba 阅读全文
posted @ 2021-10-11 14:23 马踏飞燕Beautiful 阅读(970) 评论(0) 推荐(0)
摘要:序号 分类 学习内容 目标/要求 方式 学时 考核 参考资料 1 基础知识 数据库理论 理解数据库基本理论 面授 1 能阐述元素、数据记录、数据表、数据库的基本概念T-SQL语法要求 https://www.2cto.com/database/201711/699763.html 2 建立数据库、建 阅读全文
posted @ 2021-10-09 11:08 马踏飞燕Beautiful 阅读(111) 评论(0) 推荐(0)
摘要:BUG背景: 我们有一个订单表 和 一个 物流表 它们通过 订单ID 进行一对一的关系绑定。但是由于物流表在保存订单信息的时候没有做判断该订单是否已经有物流信息,这就变成同一个订单id在物流表中存在多条数据,也就变成了本来订单表只有100条纪录,而left join 物流表后,所查询的订单数据远远大 阅读全文
posted @ 2020-11-17 11:12 马踏飞燕Beautiful 阅读(9527) 评论(0) 推荐(1)
摘要:工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时。 举个例子: 现在porder表有 1000W数据,其他关联的表数据都很少,因为条件的限制必须要关联3个表,正常的逻辑就是这样写,但是我们在数 阅读全文
posted @ 2020-11-17 10:37 马踏飞燕Beautiful 阅读(3333) 评论(0) 推荐(0)
摘要:单个left join: (1)一对一:结果表的行数=左表行数 (2)一对多:结果表的行数>左表行数 多个left join: (0)多个left join由上到下,依次生成查询表,原理同单个left join (1)需要补充的是,如果在left join a表之前,想先对a表做一个字段的筛选,不能 阅读全文
posted @ 2020-11-17 10:04 马踏飞燕Beautiful 阅读(6961) 评论(0) 推荐(0)
摘要:在这篇的缘由:问题:“FROM_UNIXTIME(timeline,'%Y-%m‘)”的结果(2020-06)做月份增加1月或者减少1月的计算处理,想着直接在结果上+1但是,结果为2021。不是自己想要的。所以,才有了下边的思路。 DATE_FORMAT(DATE_ADD(FROM_UNIXTIME 阅读全文
posted @ 2020-10-23 12:00 马踏飞燕Beautiful 阅读(367) 评论(0) 推荐(0)
摘要:今天写sql语句时,相对字符串类型的数字进行排序,怎么做呢? 需要先转换成数字再进行排序 1.直接用加法 字符串+0 eg: select * from orders order by (mark+0) desc 2.使用函数 CAST(value as type); CONVERT(value, 阅读全文
posted @ 2020-10-09 11:11 马踏飞燕Beautiful 阅读(1497) 评论(0) 推荐(0)
摘要:select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table` 解释: CHAR_LENGTH(字符串) #计算字符串长度 mid(字符串,5,CHAR_LENGTH(reason)-5) #从 阅读全文
posted @ 2020-10-09 10:07 马踏飞燕Beautiful 阅读(10085) 评论(0) 推荐(0)
摘要:运行结果中提示Unknown column ‘xxx’ in ‘where clause’的问题。经过大神的指导,顿时明白其中缘由,如果sql中定义的类型是int型的可以不用加引号,但是如果是字符串类型的,必须加引号。例如: select ID from vc_diagram where USER_ 阅读全文
posted @ 2020-09-17 12:00 马踏飞燕Beautiful 阅读(6235) 评论(0) 推荐(0)
摘要:Every derived table must have its own alias 这句话的意思是说每个派生出来的表都必须有一个自己的别名。 一般在多表查询时,会出现此错误。 因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名 把My 阅读全文
posted @ 2020-09-17 11:37 马踏飞燕Beautiful 阅读(551) 评论(0) 推荐(0)
摘要:1、字符串时间转10位时间戳 select FLOOR(unix_timestamp(create_time)) from page; #create_time为字段名 page为表名 eg:select FLOOR(UNIX_TIMESTAMP('2020-06-30')) from `boc_c 阅读全文
posted @ 2020-09-16 12:00 马踏飞燕Beautiful 阅读(7222) 评论(0) 推荐(0)
摘要:首先,我们需要通过以下命令来检查MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql进程列表 如果mysql未启动,你可以使用以下命令来启动mysql服务器: root@host# cd /usr/bin ./mysqld_safe 阅读全文
posted @ 2020-07-07 17:10 马踏飞燕Beautiful 阅读(819) 评论(0) 推荐(0)
摘要:数据表: 结果表: mysql语句: 阅读全文
posted @ 2019-11-30 15:54 马踏飞燕Beautiful 阅读(246) 评论(0) 推荐(0)
摘要:需要在mysql中解决记录的分组统计、排序,并抽取前10条记录的功能。现已解决,解决方案如下: 1)表结构 CREATE TABLE `policy_keywords_rel` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `conte 阅读全文
posted @ 2019-11-30 15:40 马踏飞燕Beautiful 阅读(4627) 评论(0) 推荐(0)
摘要:说明:刚开始用的round(值1/值2*100,1) 结果没出效果,才搜到decimal函数 在工作中会遇到计算小数而且需要显现出小数末尾的0,我们会用到DECIMAL这个函数,这是一个函数非常强悍:具体用法DECIMAL(P,D); 在上面的语法中: P是表示有效数字数的精度。 P范围为1〜65。 阅读全文
posted @ 2019-11-30 15:30 马踏飞燕Beautiful 阅读(18423) 评论(0) 推荐(0)
摘要:今天在写sql语句的时候,想确认下mysql的不等于运算符是用什么符号表示的 经过测试发现mysql中用<>与!=都是可以的,但sqlserver中不识别!=,所以建议用<> selece * from jb51 where id<>45sql 里 符号<> 于 != 的区别<> 与!=都是不等于的 阅读全文
posted @ 2019-11-30 15:27 马踏飞燕Beautiful 阅读(6859) 评论(0) 推荐(0)
摘要:@x 是 用户自定义的变量 (User variables are written as @var_name)@@x 是 global或session变量 (@@global @@session )@@查看全局变量:select @@log_error;select @@FOREIGN_KEY_CK 阅读全文
posted @ 2019-11-30 15:19 马踏飞燕Beautiful 阅读(3266) 评论(2) 推荐(1)
摘要:总结:大组在前,小组在后,计量值再最后,即可实现组内排序;下边是参考别人的具体实例: 工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录。 【1】复现问题场景 为了说明问题,模拟示例数据库表students,效果同实例。 如下语句Sql_1: 1 SELECT * FR 阅读全文
posted @ 2019-11-30 13:54 马踏飞燕Beautiful 阅读(5074) 评论(0) 推荐(1)
摘要:DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) 返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。  阅读全文
posted @ 2019-11-25 16:54 马踏飞燕Beautiful 阅读(230) 评论(0) 推荐(0)
摘要:mysql计算排名,获取行号rowno 学生成绩表数据 SELECT * FROM table_score ORDER BY score DESC; 获取某个学生成绩排名并计算该学生和上一名学生成绩差,是并列排名 SELECT *, (SELECT count(DISTINCT score) FRO 阅读全文
posted @ 2019-11-25 16:45 马踏飞燕Beautiful 阅读(785) 评论(0) 推荐(0)