在测试时用到的一些mysql的小技巧(持续更新)
经常使用的快捷键:
1.ctrl+q 打开查询窗口
2.ctrl+/ 注释sql语句
3.ctrl+shift +/ 解除注释
4.ctrl+r 运行查询窗口的sql语句
5.ctrl+shift+r 只运行选中的sql语句
6.F6 打开一个mysql命令行窗口
7.ctrl+l 删除一行
8.ctrl+n 打开一个新的查询窗口
9.ctrl+w 关闭一个查询窗口
多表查询结果连接显示:
UNION自动去除重复行;UNION ALL 重复行保留
limit和between的用法:
select * from admin order by admin_id limit 100000,10 #跳过100000行显示前10行
select * from admin where admin_id between 100000 admin 100010 order by admin_id #显示100000到100010之间的行数
SELECT * FROM Persons WHERE LastName BETWEEN 'A' AND 'B'
用python连接并操作mysql
导入pymysql模块,pip install pymysql
import pymysql.cursors # 连接数据库
connect = pymysql.Connect(
host = '120.26.90.177',
port = 3306,
user = 'test_admin',
passwd = 'bdwork.com!@#',
db = 'bdwork_test',
charset = 'utf8'
)
# 获取游标
cursor = connect.cursor() # 查询数据
sql = "SELECT realname,source from pre_xj_eventapply where uid in (314948,314739,314740,314839)"
cursor.execute(sql)
for row in cursor.fetchall():
print(row)
print('共查找出', cursor.rowcount, '条数据') # 关闭连接
cursor.close()
connect.close()
mysql
like在生产上尽量不要用,*也都直接替换成要查询的具体字段,这些都可以减轻数据库负担,加快查询速度。
查询当前时间:
SELECT Now()

创建数据表:
create table 表名(
字段名 int(10) primary key not null unique,
字段名 varchar(50) not null,
字段名 varchar(50) not null
);
查看创建的表格:
DESC 表名

创建一个存储函数来统计表sch中的记录数:
create function count_sch()
returns int
return (select count(*) from sch);
#查看
select count_sch() as count_sch;
#创建的存储函数名称为count_sch,通过select count_sch()查看函数执行的情况,这个表中只有两条记录,得到的结果也是两条记录,说明存储函数成功的执行。 SELECT DISTINCT 字段 FROM 表; # 去除重复
SELECT TOP 50 PERCENT * FROM 表; # 取表中前50%的数据 SQL HAVING 语句 与WHERE关键字对比去记,因为WHERE无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。
#格式化显示时间
DATE_FORMAT(FROM_UNIXTIME(字段名), '显示格式')
shift+home选中整行sql
shift+ctrl+r运行选中的sql 把当前时间字段减少6天
UPDATE asset_repayment_order set repayment_time = DATE_sub(repayment_time, INTERVAL 6 DAY)
update 表 set 字段 = date_sub(字段,interval 天数 day)
说明:
增加当前时间,
select date_add('2000-02-28', interval 1 day);#结果为:'2000-02-29'
字符串转md5

SELECT SUBSTR(17621211515,1,3)
截取字符串

例子:

concat拼接

FROM子查询,任何查询语句都可以作为一张表进行二次查询
SELECT a.`status` FROM (
SELECT * from asset_borrow_order where `status` = 7) a
自连接,派生表连接
输出某一列的排名过程:


在测试时用到的一些mysql的小技巧(持续更新)的更多相关文章
- Mysql注入小tips --持续更新中
学习Web安全好几年了,接触最多的是Sql注入,一直最不熟悉的也是Sql注入.OWASP中,Sql注入危害绝对是Top1.花了一点时间研究了下Mysql类型的注入. 文章中的tips将会持续更新,先说 ...
- mysql优化小技巧
对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...
- mysql 函数编程大全(持续更新)
insert ignore insert ignore表示,如果中已经存在相同的记录,则忽略当前新数据 如果您使用一个例如“SET col_name = col_name + 1”的赋值,则对位于右侧 ...
- mysql使用小技巧
1.mySql 删除表中大批量的数据 假设有一个表(logs)有2000万条记录,我们要在业 务不停止的情况下删除其中status=1的所有记录,差不多有1800万条,直接执行 DELETE FROM ...
- mysql一些小技巧
1 强制命中索引:force index 某些时候查询,索引会失效,可以进行强制命中索引 2 group_concat 能将相同的行组合起来. 当然,我推荐这种操作可以在代码中操作,如果必须在特定情况 ...
- MySQL 常用命令(持续更新)
停止启动MySQL服务 停止:net stop mysql启动:net start mysql 查看正在运行的线程 SHOW PROCESSLIST SHOW FULL PROCESSLIST 杀死线 ...
- 【mysql】 操作 收集持续更新
一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 GROUP_CONCAT(Name SEPARATOR ',') 需注意: 1.GROUP_CONCAT()中的值为你要合并的数据的 ...
- MySQL 优化小技巧
碎片整理: mysql数据一开始是在磁盘上顺序存放的,如果数据表有频繁的update改动,那么数据就会形成很多碎片,拖慢速度和不利于索引: 优化碎片有两种方式: alter table user en ...
- mysql 查询小技巧
数据字段中存放的是id集,形如 1,2,15,35 也可类推json格式 查询时不用拆分了, 用上 instr.concat搜索和连接字符串 查询fids中包含15的 select * from ...
随机推荐
- 打开eclipse出现an error has occurred.see the loh file
解决方案: 1,打开eclipse安装目录下的eclipse.ini文件:2,打开的文本文件最后添加一行--add-modules=ALL-SYSTEM3,保存重新打开Eclipse. 测试过已经ok
- 【luogu P3879 [TJOI2010]阅读理解】 题解
题目链接:https://www.luogu.org/problemnew/show/P3879 我先说一句: 我永远都喜欢StellaSTL 这个题,很明显就是 trie树 hash map+vec ...
- HDU 2005 第几天?(闰年判断)
传送门: acm.hdu.edu.cn/showproblem.php?pid=2005 第几天? Time Limit: 2000/1000 MS (Java/Others) Memory L ...
- HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
传送门: Bungee Jumping Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- JavaScript函数-高阶函数
JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数. function add(x,y,f) ...
- 使用transfor让图片旋转
材料:Transform,onmouseout,onmouseover css: html: js:
- 虚拟局域网VLAN的配置实验
实验涉及命令以及知识补充 交换机的不同状态 switch: :交换机的ROM态 rommon> :路由器的R状态 switch > :用户模式 switch# :特权模式 switch(c ...
- java之递归学习
递归思想(2018-10-22): 递归就是方法里调用自身 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口 递归算法代码显得很简洁,但递归算法解题的运行效率较低.所以不提倡用递归设计程序 ...
- 安装Chrome插件
重装系统后重装了Chrome浏览器,想着将自己的东西同步到Chrome上.但是登录谷歌账号要FQ,我又是靠setup插件FQ,但插件又要靠账号同步到本地.形成了死循环. 其实重装系统前我将插件提取了, ...
- Maven 运行启动时****找不到符号*com.xxx.user.java
Maven 运行启动时****找不到符号*com.xxx.user.java maven项目更改后没有安装 (install) 重新安装解决问题!
