
Mysql
文章平均质量分 52
BabyFish13
不要急,慢慢来;控制好节奏,奋斗到底!
展开
-
MySQL数据导出导入
-add-drop-database 在每次执行建表语句之前,先执行DROP TABLE IF EXIST语句。指定的路径,mysql要有写的权限.最好用tmp目录,文件用完之后,再删除!--no-create-db 不输出CREATE DATABASE语句。--default-character-set=utf8 设置字符集。--no-create-info 不输出CREATE TABLE语句。--lock-all-tables 全局一致性锁。--databases 将后面的参数都解析为库名。原创 2025-01-10 12:10:39 · 1423 阅读 · 0 评论 -
ORACLE中判断表是否存在再删除表避免报错与MySql和SqlServer的不同
此例用在数据仓库项目的建T99代码表脚本方案上;此脚本在方案中用Perl根据Excel生成。原创 2023-08-15 16:20:47 · 1710 阅读 · 0 评论 -
mysql逗号分隔List字段转多行
具体的逻辑我还没整明白,先记上再说,亲测可用。1、原表数据select a1.id,a1.job_dependsfrom job_version_history a1where a1.id in (1655,1656);id job_depends1655 353,3,5321656 484,5,5672、一行转多列select a1.id,a1.job_depends,substring_index(substring_index(a1.job_d...原创 2021-01-19 18:59:35 · 2338 阅读 · 0 评论 -
mysql一次性修改多个列
1、本来语句ALTER TABLE api.api_ad_flow_classification_user_full_1d MODIFY COLUMN user_voilate_rate decimal(10,4) NOT NULL DEFAULT '0' COMMENT '违约比例';ALTER TABLE api.api_ad_flow_classification_user_full...原创 2020-04-23 14:09:07 · 6506 阅读 · 0 评论 -
mysql中实现取分组排序第一个或最后一个的方法
在hive或oracle中有row_number()over()函数,mysql中不支持。想了好久,网上搜了好久,发现原先刚毕业不了解分析函数的时候,就通先分组取其最大最小值再查询出其记录的方法做出过。这些年分析函数用惯了,原始的方法就想不起来了。这种方法在查询效率上,数据量大的时候可能会比较低,但解决一般问题,还是可以的。例:select left(job_name,3) layer,a...原创 2020-02-09 11:41:53 · 528 阅读 · 2 评论 -
Mysql忘记root密码解决方法
1、更改my.cnf配置文件1.1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf1.2、在[mysqld]下添加skip-grant-tables,然后保存并退出1.3、重启mysql服务:service mysqld restart[root@master ~]# service mysqld restartRedirecti...原创 2018-05-09 14:08:32 · 260 阅读 · 0 评论 -
Mysql表结构信息的查看
主要是一个查询的sql语句,可以根据需要结合Python等进行改造和优化,使我们在进行数据结构整理和数据分析的时候能够多一点方便。其他诸如Oracle的及Hive的表结构信息查看与此类似又有所不同。SELECT a1.table_name 表名, a1.TABLE_ROWS 记录条数, a1.TABLE_COMMENT 表注释, a2.COLUMN_NAME 列名, a2.COLUMN_...原创 2018-03-06 16:28:16 · 2074 阅读 · 0 评论 -
mysql关联更新update
样式1:update xcs_user_credit_score a1,xcs_user_credit_score a2 set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-1原创 2017-09-25 10:47:44 · 42128 阅读 · 2 评论 -
Mysql中group_concat的使用
GROUP_CONCAT将某一字段的值按指定的字符进行累加,系统默认的分隔符是逗号,可以累加的字符长度为1024字节。但可以对这些参数进行修改。1.分组字符累加select group_concat(name) from chushou_game group by category_id;按category_id进行分组查询,将每组中的name进行累加。2.修改默认分隔符selec原创 2017-08-11 09:49:08 · 1229 阅读 · 0 评论 -
Oracle、Mysql、Hive多行转一列函数实现及异同
1、oracle用wmsys.wm_concatselect u_id, wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum from shopping group by u_id ;2、mysql用group_concatSELECT uid,group_concat(concat('name:',name,'-p原创 2017-07-06 17:16:04 · 1843 阅读 · 0 评论 -
Python自动化拉取Mysql数据并装载到Hive(V2.0)
上一版本:http://blog.youkuaiyun.com/babyfish13/article/details/70792158相较于之前的版本,主要作了两方面的优化:数据字符回车换行导致装载错误的问题修复及跑批调用参数等方面的优化。此版本,主要考虑了串行调度、全量加载,并行、增量装载将在下一个版本中优化。1、数据装载的表级参数配置文件/Users/nisj/PycharmProject原创 2017-06-23 11:53:37 · 1401 阅读 · 0 评论 -
Python自动化拉取Mysql数据并装载到Hive(V3.0)
相关参考:Python自动化拉取Mysql数据并装载到Hive(V2.0)-->http://blog.youkuaiyun.com/babyfish13/article/details/70792158Python自动化拉取Mysql数据并装载到Hive-->http://blog.youkuaiyun.com/babyfish13/article/details/73618331相较于之前的版本,该版原创 2017-06-29 11:58:04 · 2029 阅读 · 0 评论 -
Mysql累积求和
1、样例表表结构show create table event_attractnew_daily_invitation_201805;CREATE TABLE `event_attractnew_daily_invitation_201805` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键 ID', `uid` b...原创 2018-05-29 15:16:23 · 3467 阅读 · 0 评论 -
Mysql表情符插入报错问题解决
1、utf8建表drop table if exists mx_3;CREATE TABLE `mx_3` ( `游戏id` varchar(255) COLLATE utf8_bin DEFAULT NULL, `游戏名称` varchar(255) COLLATE utf8_bin DEFAULT NULL, `月收礼触手币` varchar(255) COLLATE utf8_...原创 2018-06-07 16:49:52 · 2976 阅读 · 0 评论 -
MySQL中判断字符型字段是否是数字的两个方法
1、通过正则表达式select * from user_profile_0 where (nickname REGEXP '[^0-9.]') =1 limit 100;//查询nickname列不是数字的数据select * from user_profile_0 where (nickname REGEXP '[^0-9.]') =0 limit 100;//查询nickname列是数...原创 2019-03-15 10:56:14 · 7551 阅读 · 0 评论 -
Mysql几个字符串截取函数的用法
1、从左开始截取字符串left(str, length)说明:left(被截取字段,截取长度)例:select left(nickname,20) from user_profile_0 limit 100;2、从右开始截取字符串right(str, length)说明:right(被截取字段,截取长度)例:select right(nickname,20) fro...原创 2019-03-15 11:28:12 · 354 阅读 · 0 评论 -
基于Mysql源数据的数仓表结构整理
1、简单的表结构信息查看SELECT a1.table_name 表名, a1.TABLE_ROWS 记录条数, a1.TABLE_COMMENT 表注释, a2.COLUMN_NAME 列名, a2.COLUMN_TYPE 数据类型, a2.IS_NULLABLE 是否为空, a2.COLUMN_DEFAULT 默认值, a2...原创 2019-03-21 15:16:14 · 1243 阅读 · 0 评论 -
MySQL按天/周/月/年等时间段方式统计
取日期的(天/周/月/年)方法格式DATE_FORMAT(date,format) 根据format字符串格式化date值。下列修饰符可以被用在format字符串中:%M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年,...原创 2019-06-26 15:18:18 · 1002 阅读 · 0 评论 -
日期所在周、月等第一天最后一天的计算
1、hive中的情形select '2019-07-29' as day -- 时间 ,date_add('2019-07-29',1 - dayofweek...原创 2019-07-30 12:53:57 · 503 阅读 · 0 评论 -
Mac快速进入mysql命令行
Mysql server在mac上安装好之后,直接在Mac终端输入[mysql]连接是没有反应的,会报[-bash: mysql: command not found]的错误。这是因为,mysql的安装程序没有将其添加到系统的环境变量。我们可以通过进入到mysql所在的目录启动mysql客户端。1.终端输入进入bin 目录cd /usr/local/mysql/bin/2.mysql登录...原创 2019-09-26 14:43:19 · 2766 阅读 · 0 评论 -
Mysql执行计划查看
一、相关参数设定默认情况下Mysql的profiling是关闭的,所以首先必须打开profiling。mysql> show variables like "%profiling%";+------------------------+-------+| Variable_name | Value |+------------------------+----原创 2016-04-22 20:47:46 · 1321 阅读 · 0 评论 -
Python自动化拉取Mysql数据并装载到Hive
程序调用有并行和串行两种方式,是否用并行调度的那个脚本,取决于服务器的磁盘空间大小及源Mysql库的性能。代码调用的时候(串并行),主要修改两方面:1、如果不存在数据源则在【ParProc.py】重新配置一个;2、在串并行调度的时候,传数据源配置名、表名、表类型参数给调度程序。本次更新修改,主要涉及数据的传参等更为合理一些;实际上,在进行数据传输的时候,还有一个Bug,就是数据传输的文本字原创 2017-04-26 11:36:25 · 1620 阅读 · 0 评论 -
Python访问Mysql分表数据的方法示例
1、源表、目标表结构show create table user_profile_252;CREATE TABLE `user_profile_252` ( `uid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', `nickname` varchar(45) CHARACTER SET utf8 NOT NULL COMMEN原创 2017-03-07 11:54:55 · 1380 阅读 · 2 评论 -
Python自动化拉取Mysql数据并装载到Oracle
Mysql的数据表分为普通的表及以键值与256取模分表两种形式,暂时未处理源表是分表的情况;流程顺序是先根据Mysql表结构进行Oracle库上的建表,然后从Mysql将数据直接插入到Oracle数据库中。处理过程中,考虑到每行一提交的效率问题,所以默认设置了1000行提交一次的Oracle数据插入方式。目前,暂不考虑数据的增量更新;主要考虑目前的数据环境较乱,可以较方便的将适用于Orac原创 2017-04-07 16:26:15 · 2100 阅读 · 2 评论 -
centos7下使用yum安装mysql
CentOS7的yum源中默认是没有mysql的。为了解决这个问题,需要先下载mysql的repo源。1. 下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2. 安装mysql-community-release-el7-5.noarch.rpm包$ su原创 2016-09-01 11:02:06 · 587 阅读 · 0 评论 -
Mysql用户管理及权限设置
用户管理mysql>use mysql;查看mysql> select host,user,password from user ;创建mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储修改mysql>rename user feng to newu原创 2016-07-20 11:00:29 · 747 阅读 · 0 评论 -
MySQL权限体系
1、MySQL权限体系mysql 的权限体系大致分为5个层级:全局层级: 全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANT ALL ON .和REVOKE ALL ON .只授予和撤销全局权限。数据库层级: 数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db表中。GRANT ALL ON db_nam原创 2016-07-20 10:50:51 · 598 阅读 · 0 评论 -
开源MySQL数据仓库解决方案:Infobright
Infobright是一款基于独特的专利知识网格技术的列式数据库。Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类),infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个。mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,但因原创 2016-07-04 19:34:24 · 7432 阅读 · 1 评论 -
Mysql数据库及表空间占用信息统计
1、mysql中查看各表的大小这里用到一个表, information_schema.tables;对应主要字段含义如下:ABLE_SCHEMA : 数据库名TABLE_NAME:表名ENGINE:所使用的存储引擎TABLES_ROWS:记录数DATA_LENGTH:数据大小INDEX_LENGTH:索引大小按记录数据统计:select table_schema,t原创 2016-07-04 11:07:03 · 8018 阅读 · 0 评论 -
CentOS6.6-64下rpm方式mysql-5.7.12安装实录
操作系统环境情况:[root@localhost ~]# cat /etc/issue CentOS release 6.6 (Final)Kernel \r on an \m[root@localhost ~]# getconf LONG_BIT641、mysql-5.7.12 rpm bundel包下载[root@localhost ~]# wget ht原创 2016-04-22 17:10:39 · 6694 阅读 · 3 评论 -
MySQL中的insert into类似用法
1、insert intoinsert into表示插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错。2、insert ignore into当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据。I原创 2016-05-03 10:14:26 · 2686 阅读 · 0 评论 -
mysql数据字段加密
PASSWORD():创建一个经过加密的密码字符串,适合于插入到MySQL的安全系统。该加密过程不可逆,和unix密码加密过程使用不同的算法。主要用于MySQL的认证系统。ENCRYPT(,) AES_DECRYPT( , ):使用UNIX crypt()系统加密字符串,ENCRYPT()函数接收要加密的字符串和(可选的)用于加密过程的salt(一个可以唯一确定口令的字符串,就像钥匙一样)。原创 2016-04-14 11:43:39 · 7358 阅读 · 0 评论 -
MySQL数据文件介绍及win下存放位置
一、MySQL数据库文件介绍MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎创建的数据库文件。1、MySQL创建并管理的数据库文件.frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都原创 2016-04-26 11:26:28 · 1297 阅读 · 0 评论 -
Centos7上MySQL5.7.12系统不兼容启动失败问题处理
1、报错信息[root@spark01 ~]# /etc/init.d/mysqld startStarting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld原创 2016-08-25 15:18:47 · 3689 阅读 · 0 评论 -
Mysql分表数据通过Shell进行导出与统计
1、分表数据的统计[root@master tv]# cat submeter_data_static.sh #!/bin/bash#/usr/bin/mysql -hsrchostip -P50506 -usrcmysqluser -ppasswordstring -N -e"select table_name from information_schema.tables whe原创 2016-10-10 14:56:35 · 1782 阅读 · 0 评论 -
Python自动化拉取Mysql数据并装载到Hive
Mysql的数据表分为普通的表及以键值与256取模分表两种形式;流程顺序是先根据Mysql表结构进行Hive库上的建表,然后从Mysql下载到OS上,最后将数据装载到Hive库中。目前,暂不考虑数据的增量更新;主要考虑目前的数据环境较乱,可以较方便的将数据拉取到大数据平台,然后进行相关的计算。程序调用有并行和串行两种方式,是否用并行调度的那个脚本,取决于服务器的磁盘空间大小及源Mysql库原创 2017-03-21 17:41:02 · 2005 阅读 · 0 评论 -
用Python将统计数据不存在的记录按维度对应指标补齐
因为接到这个需求的时候,一开始想写Sql语句直接实现,发现比较麻烦;后来想通过Mysql存储过程来处理,但以前对Oracle存储过程熟悉,MySql存储过程代码不熟悉,要使用起来有一定的学习成本;最后选择用Python控制实现。谨此以记,供以后类似需要做参考。需求描述:一般的统计对格式如:”dim1,dim2,index1,index2,date“,如果维度对应的指标不存在,则结果表中就没原创 2017-01-20 17:07:24 · 1372 阅读 · 1 评论 -
Mysql排名功能的实现
Mysql不像Oracle那样有方便的排名函数可以直接使用,要实现排名功能要稍微费点周折。1、建表及数据初始化drop table if exists t_rank;CREATE TABLE t_rank ( pid INT(4) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, age INT(3), groupid原创 2017-01-10 14:40:46 · 7701 阅读 · 0 评论 -
Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(3)
本篇主要是接上文【Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(2)】-->http://blog.youkuaiyun.com/babyfish13/article/details/53705454,及【Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(3)】-->http://blog.youkuaiyun.com/babyfish13/article/details/53705729;具体说原创 2016-12-17 12:31:12 · 1185 阅读 · 0 评论 -
Mysql库表数据随时从生产拉取到数仓(Mysql)的方案(1)
1、程序路径[root@slave1 dw-etl]# pwd/root/dw-etl[root@slave1 dw-etl]# tree.├── data│ └── qrt_data├── etl-script│ └── qrt│ ├── nohup.out│ ├── qrt-hour_batch.sh│ └── src2qrt原创 2016-12-17 11:23:02 · 1433 阅读 · 0 评论