![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
SugarPPig
半躺主义者
展开
-
MySQL解析JSON格式字段并取出部分值
MySQL JSON原创 2024-05-13 17:50:59 · 1217 阅读 · 1 评论 -
MySQL 服务器权限与对象权限
MySQL 权限原创 2024-04-23 19:32:34 · 835 阅读 · 0 评论 -
ClickHouse和MySQL的区别
ClickHouse和MySQL原创 2023-06-16 16:55:25 · 4890 阅读 · 0 评论 -
MySQL 表名批量转为大写
DROP PROCEDURE IF EXISTS upperTable;DELIMITER $CREATE PROCEDURE upperTable(IN dbname VARCHAR(200))BEGINDECLARE done INT DEFAULT 0;DECLARE oldname VARCHAR(200);DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES WHERE table_schema原创 2021-10-15 11:44:19 · 181 阅读 · 0 评论 -
docker 部署 mysql5.7
# pwd/opt# mkdir -p docker_v/mysql/conf# cd docker_v/mysql/conf# touch my.cnf# docker run -p 3306:3306 --restart=always --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID4ec4f56455ea2d6d7251a05b7f308e3原创 2021-08-20 23:33:49 · 79 阅读 · 0 评论 -
Mysql 导入 txt 文件
例如需要导入敏感词库,https://github.com/SugarPPig/files/blob/main/SensitiveWord.txt,其中有大量的中文词汇,所以需要注意字符集。1、新建表,字符集选择 utf82、执行命令load data local infile "C:/Users/1024/Desktop/SensitiveWord.txt" into table SensitiveWord character set utf8;部分效果:...原创 2021-08-18 13:08:47 · 399 阅读 · 0 评论 -
Mysql 超大分页处理
超大的分页一般从两个方向上来解决:从需求的角度减少这种请求,主要是不做类似的需求(直接跳转到几百万页之后的具体某一页,只允许逐页查看或者按照给定的路线走,这样可预测,可缓存),以及防止ID泄漏且连续被人恶意攻击。该方案下解决超大分页,其实主要是靠缓存,可预测性的提前查到内容,缓存至 redis 等 k-V 数据库中,直接返回即可。数据库层面,这也是我们主要集中关注的(虽然收效没那么大),类似于 select * from table where age > 20 limit 1000000,10原创 2021-07-07 11:00:55 · 1721 阅读 · 2 评论 -
【mysql慢查询日志】设置与分析
开启慢查询日志开启方法有两种永久设置,服务重启不影响修改配置文件slow_query_log = ON 临时设置,服务重启失效mysql> set global slow_query_log='ON'; 我这里的设置是,查询时间超过1秒即视为慢查询分割日志我只想分析今天的日志,整个日志文件太大不方便,可以进行截取awk '/# Time: 201202/,/# Time : 201202/' mysql-slow.log > slow.log参数原创 2020-12-02 18:27:57 · 170 阅读 · 0 评论 -
【mysql数据迁移】大数据的导出与导入
需求将数据库A中的表结构和数据全部拷贝到数据库B中导出mysqldump --skip-lock-tables -h172.18.100.20 -uadmin -padmin123 A > A.sql导入新建脚本文件 source.shvi source.sh写入以下内容mysql -uroot -p123456 B < A.sql 赋予执行权限chmod +x source.sh后台运行nohup ./source.sh > /dev/null 2>原创 2020-11-30 09:54:22 · 213 阅读 · 0 评论 -
【mysql实战】利用复合分区在大数据表中实现按人气、分类和年份联合条件查询
Select * from news_main order by news_click desc 1、为了避免大数据的性能问题,我们就要使用分区,并且使用 list 分区,这里我们把每个分类(java、php、python)分成一个新区,new_class 字段必须设为联合主键。alter table news_main PARTITION by list(news_class...原创 2019-11-05 23:09:33 · 215 阅读 · 0 评论 -
【mysql实战】表级锁、行级锁
MyISAM 和 InnoDB 都支持表级锁(读锁、写锁)。行级锁只有 InnoDB 支持,也是 mysql 中最小粒度锁,也是真正的事务锁。 行级锁分为共享锁和排它锁。以下为最常见的 user 表为例。1.1、读锁lock table user read;-- UNLOCK tables;所有会话都不能修改,都可以读。1.2、写锁lock table user ...原创 2019-11-04 17:54:31 · 182 阅读 · 0 评论 -
【mysql实战】Explain 命令 type 指标
Explain 命令用于分析 sq| 语句的执行情况和成本预估,type 指标逐渐递降:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index >...原创 2019-11-04 16:43:45 · 216 阅读 · 0 评论 -
【mysql实战】存储过程灌入一百万数据
两张表字段完全相同,一张 InnoDB,一张 MyISAM。CREATE TABLE `user_sys` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(30) NOT NULL, `user_pwd` varchar(30) NOT NULL, `user_regdate` timestamp NU...原创 2019-11-04 00:47:45 · 419 阅读 · 0 评论 -
【SQL进阶】通过购房预算、房源户型价格来计算匹配度
select @str:='100-400万',@maxTypePrice:='500',@minTypePrice:='300',@price_scope:=if(locate('-',@str) > 0,replace(@str,'万',''),if(locate('万以下',@str) > 0,replace(@str,'万以下',''),replace(@str,'万以...原创 2019-10-30 17:46:41 · 243 阅读 · 0 评论 -
【SQL进阶】多表关联 update(用户积分奖励)
users_buy 字段说明:1、id 自增ID2、user_name 用户名3、paymoney 消费金额4、paydate 消费日期update users_score a INNER JOIN (select max(paymoney) as mp,user_name from users_buy group by user_name ) b on a.us...原创 2019-10-27 01:49:55 · 330 阅读 · 0 评论 -
【SQL进阶】子查询去重、获取商品分类最新销售情况
prod_sales字段说明:1、id 自增ID2、prod_class 商品分类3、sales_date 销售汇总日期4、prod_id 商品ID或名称5、sales_num 销售数量select a.* from prod_sales a INNER JOIN(select prod_class,max(sales_date) as sn from prod...原创 2019-10-26 16:40:54 · 474 阅读 · 0 评论 -
【SQL进阶】获取连续签到X天用户列表
select user_name,sign_date from(select user_name,sign_date,IF(@pre=user_name and DATEDIFF(sign_date,@pre_date)=1,@rownum:=@rownum+1,@rownum:=1) as rnum, @pre:=user_name,@pre_date:=sign_date fro...原创 2019-10-26 16:31:50 · 300 阅读 · 0 评论 -
【SQL进阶】利用 order by 实现排名作弊
select * from user_level order by id in(4,6,2) and id<>2 desc,user_total desc原创 2019-10-26 16:22:04 · 197 阅读 · 0 评论 -
【SQL进阶】更新数据:update 表子查询、多条件判断
需求:1、只对超过平均消费金额的用户进行等级升级2、达到平均消费金额 1倍的用户 等级是 白金用户3、2倍或以上的是黄金用户4、其他一律是吃瓜用户user_level 字段说明:1、id 自增ID2、user_name 用户名3、user_total 消费总金额4、user_rank 用户等级、默认是吃瓜update user_level,(sele...原创 2019-10-26 16:12:32 · 1562 阅读 · 0 评论 -
【SQL进阶】有重复数据不插入或更新的处理方法
ON DUPLICATE KEY UPDATE (这是mysql的特有语法)一般跟在insert 后面出现。 如果insert会导致UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATEusers 表字段说明:1、user_id 自增ID2、user_name 用户名,唯一索引3、user_qq 用户QQ4、use...原创 2019-10-26 15:56:57 · 1745 阅读 · 0 评论 -
【SQL进阶】找到重复数据、并删除
reviews 字段说明1、r_id 自增ID2、r_content 评论内容3、r_userid 评论人id4、news_id 对应的新闻iddelete from reviews where r_id in ( select r_id from (select a.*,if(@tmp=CONCAT(r_content,r_userid),@rownum...原创 2019-10-26 15:32:24 · 202 阅读 · 0 评论 -
【SQL进阶】自连接查询的妙用(推荐人统计)
webusers字段说明:1、u_id 自增ID2、u_name 用户姓名3、p_id 推荐人的u_idselect a.users,b.u_name from (select GROUP_CONCAT(u_name) as users,p_id from webusers GROUP BY p_id ) a INNER JOIN webusers bo...原创 2019-10-26 15:06:46 · 445 阅读 · 0 评论 -
【SQL进阶】纯SQL也能实现小算法(辅助决策)计算商品重要度、是否需要及时补货
select p_type,p_name, (p_view/view_avg)*0.3+(sales/sales_avg)*0.7 as weight from (select a.*,b.sales_avg,c.view_avg from (select p_type,a.p_name,a.p_view, IFNULL(b.p_sales,0) as sales from p...原创 2019-10-26 15:00:42 · 288 阅读 · 0 评论 -
【SQL进阶】分组后在分组内排序、每个分组中取前N条
products字段说明:1、p_id 自增ID2、p_name 商品名称3、p_type 商品分类4、p_view 点击量SELECT p_type,p_name,p_view,row_num from ( SELECT p_type,p_name,p_view,IF(@pre=p_type,@rownum:=@rownum+1,@rownum:=1) as ro...原创 2019-10-26 14:43:08 · 371 阅读 · 0 评论 -
【SQL进阶】取出数据并显示行号
select p_name,p_type,p_view,@rownum:=@rownum+1 as line from products a,(select @rownum:=0) b ORDER BY p_view desc原创 2019-10-26 14:22:18 · 298 阅读 · 0 评论