在测试时用到的一些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 ...
随机推荐
- C# 利用HttpWebRequest进行HTTPS的post请求的示例
最近一个推送信息的目标接口从http格式换成https格式,原来的请求无法正常发送,所以修改了发送请求的方法.标红的代码是新加了,改了之后就可以正常访问(不检测证书的) public static s ...
- 初学bind
其实项目中还没有用到. 但自己还是想逐步了解一些高级的JS语法,不是为了炫技,也不像找前端的工作. 主要目的是:1.学习设计思想,提升解决问题的能力2.让自己的脑子动起来,别太笨. 简单的几句话总结一 ...
- 【SQL SERVER学习笔记】Sqlserver游标的尝试
DECLARE @ProName NVARCHAR(50)DECLARE @CityName NVARCHAR(50)DECLARE @ProId INT DECLARE @CityId INT DE ...
- git submodule update --init --recursive
最近在跑好几个模型,视频检测,物体检测,搭建mxnet时,有点问题,记录一下. 视频检测,mxnet需要用指定版本,git 切换到指定版本后,update了,但是依然提示说有些库找不到.想了想,应该是 ...
- Spring知识点总结(二)之Spring IOC
1.创建bean类,并在spring中进行配置交由spring来管理1. IOC(DI) - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管 ...
- Python函数中参数类型
在学习Python函数的时候,函数本身的定义和调用并不是很复杂,但是函数的参数类型和用法的确有些复杂.在此做一个小结,加深理解. Python参数的定义 负责给函数提供一些必要的数据或信息,以保证函数 ...
- JavaScript 基础(二)数组
字符串, JavaScript 字符串就是用'' 和""括起来的字符表示. 字符字面量, \n 换行, \t 制表, \b 退格, \r 回车, \f 进纸, \\ 斜杠,\' 单 ...
- 关于alert后,才能继续执行后续代码问题
如果在正常情况下,代码要在alert之后才执行,解决办法:将要执行的代码用setTimeout延迟执行即可(原因:页面未加载完毕) 首先,先说明问题情况: 如下JS代码,不能正常执行,只有在最前面加上 ...
- atan和atan2反正切计算
typedef struct point { double x, y; }point; //给定两个点 point a(x1,y1),b(x2,y2); 使用反三角函数atan求斜率,原型如下 flo ...
- CentOS7 64位下 MySQL5.7的安装与配置(YUM)
趁着11.11的时候在阿里云上弄了一云服务ECS(作为自己的节日礼物 > _ <) ,系统为CentOS的,打算弄一个人博客之类的,这些天正在备案当中(不知得多久). 忙里偷闲,在中午休息 ...