如何编写含指定SELECT查询的SQL脚本,用于phpMyAdmin每日导入MySQL?
制作可每日编辑的SQL脚本文件
首先咱们把查询优化得更易编辑——把一堆OR postid = xxx改成IN()语法,这样postid列表集中在一起,修改起来顺手多了。
步骤1:创建脚本文件
- 打开记事本(或者VS Code、Sublime这类文本编辑器都行)
- 粘贴下面优化后的查询,加上注释提示自己每日修改的位置:
-- 每日更新下方括号内的postid列表,保存后即可导入数据库 SELECT `postid` FROM `posts` WHERE `postid` IN ( 15735, 7490830, 286188, 396331, 418844, 10557, 10851, 164320, 47314, 20390 ) AND `acount` = 0;
- 保存文件,命名为
daily_post_filter.sql(后缀必须是.sql,方便数据库识别)
步骤2:每日编辑与导入
- 每天打开这个
.sql文件,直接修改IN()括号里的postid数值就行,删改添加都很直观 - 导入到MySQL的方式:
- 命令行:打开终端,输入
mysql -u 你的用户名 -p 你的数据库名 < /文件路径/daily_post_filter.sql,输入密码就完成了 - 用phpMyAdmin导入(后面会详细说操作步骤)
- 命令行:打开终端,输入
在phpMyAdmin中创建基于该查询的SQL脚本
如果你习惯用phpMyAdmin操作,有两种实用方式:
方式1:直接保存查询为可复用脚本
- 登录phpMyAdmin,选中你要操作的数据库
- 点击顶部导航栏的SQL标签
- 在输入框里粘贴优化后的查询(就是上面用
IN()的版本) - 点击输入框下方的保存按钮,给脚本起个好记的名字(比如
daily_post_filter),选择保存位置(默认存在当前数据库的脚本列表里),点确定 - 以后要修改或使用时,回到SQL标签,点击右侧的加载保存的脚本,选中你保存的脚本,就能直接编辑postid列表,执行或重新保存都很方便
方式2:创建视图(适合逻辑固定、仅需改postid的场景)
如果acount=0这个条件长期不变,只是postid列表需要更新,可以创建视图:
- 选中
posts表,点击顶部的视图标签 - 点击创建视图,在查询编辑器里输入你的查询(用
IN()语法) - 给视图起个名字(比如
filtered_posts),点击执行 - 以后要修改postid列表时,回到视图标签,找到这个视图点击编辑,修改
IN()里的数值后保存;查看结果的话,直接点击视图名称就能看到符合条件的postid
内容的提问来源于stack exchange,提问作者Aras Ahmed
相关产品推荐
相关产品推荐

