随笔分类 -  数据库

摘要:列转行上一篇博客已经介绍过了。 下面介绍一下行转列的实现 假设我们有一个数据表: 显示如下: 那么我们想要将它转化为一列列的如下结果输出: 那么如何做到哪? 方法一、简单可读性强: 方法二、快速 这是pg的专有方法 select * from tmp.dim_values_20170821 limi 阅读全文
posted @ 2015-11-01 11:30 李秋 阅读(1868) 评论(0) 推荐(0) 编辑
摘要:今天被问到列转行的问题,竟然没有回答上来,回想自己也是数据开发人员,平时的积累真是不到位,下面总结一下列转行。假设咱们有一个学生得分数据表:student_scoreCREATE TABLE student_scores( user_name character varying(30) NOT N... 阅读全文
posted @ 2015-10-31 14:28 李秋 阅读(813) 评论(0) 推荐(0) 编辑
摘要:简单方法:处理过程分为三个步骤:1、从数据库查询一条状态为为用的记录(不同的数据库写法会不一样)select*fromtable1wherestate='未用'limit12、将数据状态更新为已用,如果更新成功(影响记录数为1表示成功)则表示获取数据成功,否则这条数据已经被其他服务器或线程所抢用。u... 阅读全文
posted @ 2015-10-19 00:18 李秋 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:背书 随着大数据的到来,经常听到相关的词汇,维度、指标、BI、PV、UV等等,今天整理了这些词汇。 DW DW是Data Warehouse的缩写,即数据仓库。 DW要区别于普通数据库,数据仓库用于支持决策,面向分析型数据处理;而普通数据库主要服务于软件/网站,对于一致性/事物要求较高。 BI BI 阅读全文
posted @ 2015-01-23 10:17 李秋 阅读(3676) 评论(0) 推荐(1) 编辑
摘要:1、创建test,如果存在先删除hbase(main):010:0> disable 'test'0 row(s) in 1.4250 secondshbase(main):011:0> drop 'test'0 row(s) in 0.5540 secondshbase(main):012:0> ... 阅读全文
posted @ 2014-11-30 14:09 李秋 阅读(365) 评论(0) 推荐(0) 编辑
摘要:ACID在传数据库系统中,事务具有ACID 4个属性。(1) 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。(2) 一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保... 阅读全文
posted @ 2014-10-11 13:59 李秋 阅读(426) 评论(0) 推荐(0) 编辑
摘要:为什么要对数据仓库分层?用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个... 阅读全文
posted @ 2014-10-09 16:49 李秋 阅读(8816) 评论(2) 推荐(2) 编辑
摘要:一、引言 近年来,随着 Internet/Intranet 建网技术的飞速发展和在世界范围内的迅速普及,电子商务的冲击波又一次在世界范围内掀起巨浪,各类商务网站吸引着大量用户的青睐,商务网站的访问量也就越来越大。这种批量、并发性的访问使得商务网站对用户的响应速度会明显变慢,甚至有可能使用户无法登... 阅读全文
posted @ 2014-09-25 14:44 李秋 阅读(2084) 评论(0) 推荐(0) 编辑
摘要:1、首先下载:http://cdn1.mydown.yesky.com/soft/201403/mysql-5.6.4-m7.tar.gz2、解压,进入目录,执行cmake ./(如果没有cmake,那么安装 sudo yum install cmake),可能出错:CMake Error: you... 阅读全文
posted @ 2014-08-19 15:31 李秋 阅读(830) 评论(0) 推荐(0) 编辑
摘要:昨天刚刚安装了MYSQL,玩着挺Happy的,今天就链接不上了,报错是:root用户没有权限翻阅了一些文章,看着不太方便,我简单归纳一下:一、添加账户账户是:test;密码是:123456insert into mysql.user(Host,User,Password,ssl_cipher,x50... 阅读全文
posted @ 2014-08-17 16:20 李秋 阅读(284) 评论(0) 推荐(0) 编辑
摘要:本文介绍两个内容,为什么使用PreparedStatement的addBatch()方法?以及使用PreparedStatement的好处。一、addBatch使用方法昨天用JAVA做了一个导表的功能,数据量非常多,使用下面的缓冲方法非常使用。1. 建立链接 Connection conn... 阅读全文
posted @ 2014-07-05 11:14 李秋 阅读(18363) 评论(0) 推荐(0) 编辑
摘要:昨天被问到truncate与delete的区别,truncate没用过,回去百度了一下,才知道还有这个一种语句。truncate table命令将快速删除数据表中的所有记录(保留数据表结构)。这种快速删除与delete from 数据表的删除全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可以恢复的。咱们做一个测试:1、建一个带有自增字段的表,加入100万数据2、分别用TRUNCATE和DELETE删除全部数据(分别执行DELETE FROM `TABLENAME`; TRUNCATE FROM `TABL 阅读全文
posted @ 2014-03-29 22:38 李秋 阅读(789) 评论(0) 推荐(0) 编辑
摘要:最近公司有个项目,需要多并发完成任务,也就是一个任务控制中心控制多个WORKER的问题,这里的核心点在于如果WORKER_A正在执行1号任务,任务中心不能让WORKER_B重复执行1号任务,即WORKER_A和WORKER_B同时来任务中心需要互斥。咱们的解决方案是使用MYSQL的INNODB行锁机制完成这项工作,即使用MYSQL来充当任务中心的角色。相关参考:SELECT FOR UPDATE原理。一、创建数据表: testCREATE TABLE `test` ( `unit_id` int(11) NOT NULL AUTO_INCREMENT, `style` int(11) NO.. 阅读全文
posted @ 2014-01-24 11:46 李秋 阅读(801) 评论(0) 推荐(0) 编辑
摘要:问题说明:最近遇到一个问题,多个WORKER同时向MYSQL数据库请求任务,如何实现互斥?例如:SELECT * FROM student WHERE id > 10 LIMIT 100;UPDATE student SET status = 1 WHERE id > 10 LIMIT 100;当有多个WORKER执行上面两条语句,那么很可能都执行同样的数据,造成线上问题,比如WORDER1执行SELECT之后,还没有执行UPDATE之前,WORDER2也执行了SELECT语句,造成问题。那么这种情况可以使用SELECT ... FOR UPDATE,解决问题,当我读出数据的时候, 阅读全文
posted @ 2014-01-15 11:24 李秋 阅读(3726) 评论(0) 推荐(0) 编辑
摘要:我同事写了一条Sql语句,当时没看明白,下面晒出来:SELECT SUM(new_cart) as new_cart,SUM(new_collect) as new_collect, SUM(total_cart) as total_cart, SUM(total_collect) as total_collect, SUM(ipv) ipv, SUM(iuv) iuv FROM ( SELECT SUM(new_cart) as new_cart,SUM(new_collect) as new_collect,0 as total_cart,0 as total_collect, S... 阅读全文
posted @ 2013-11-06 15:43 李秋 阅读(447) 评论(0) 推荐(0) 编辑
摘要://添加主键 alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);//增加一个新列alter table rpt_fmp_eleven_auction_info_d_01 add iuv bigint(20) default NULL comment 'iuv';//删除列 alter table t2 drop column c;//重命名列 alter table t1 change a 阅读全文
posted @ 2013-10-30 11:55 李秋 阅读(378) 评论(0) 推荐(0) 编辑
摘要:方法一(一般不使用,多线程可能不准确)SELECT MAX(id) FROM table方法二(一般使用这个)SELECT LAST_INSERT_ID() 阅读全文
posted @ 2013-10-30 10:31 李秋 阅读(194) 评论(0) 推荐(0) 编辑
摘要:最近工作中遇到一个情况,需要将使用Mysql存储海量的数据,需要使用Mysql分区的技术,那么下面是一个按照日期分表的一个事例: CREATE TABLE `big_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `thedate` date DEF... 阅读全文
posted @ 2013-10-15 16:31 李秋 阅读(835) 评论(0) 推荐(0) 编辑
摘要:最近一直使用语句,SELECT auction_id, auction_name,SUM(new_cart),SUM(new_collect),SUM(total_cart),SUM(total_collect) FROM tableName WHERE seller_id = ? AND thed... 阅读全文
posted @ 2013-10-15 11:00 李秋 阅读(983) 评论(0) 推荐(0) 编辑
摘要:UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');REPLACE(str,from_str,to_str)在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串事例:UPDATE lzmain.lz_srcmap SET NAME=REPLACE(NAME,'商城','天猫'),level1_name=REPLACE(level1_name,'商城','天猫') WHERE NAME LIKE '商城%' 阅读全文
posted @ 2013-04-16 16:46 李秋 阅读(201) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示