在测试时用到的一些mysql的小技巧(持续更新)

时间:2024-04-14 11:07:45

经常使用的快捷键:  

  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()

  在测试时用到的一些mysql的小技巧(持续更新)

创建数据表:

  create table 表名(

    字段名 int(10) primary key not null unique,

    字段名 varchar(50) not null,

    字段名 varchar(50) not null

    );

查看创建的表格:

  DESC 表名

在测试时用到的一些mysql的小技巧(持续更新)


创建一个存储函数来统计表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(字段名), '显示格式') 在测试时用到的一些mysql的小技巧(持续更新)
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

在测试时用到的一些mysql的小技巧(持续更新)

SELECT SUBSTR(17621211515,1,3)

截取字符串

在测试时用到的一些mysql的小技巧(持续更新)

例子:

在测试时用到的一些mysql的小技巧(持续更新)

concat拼接

在测试时用到的一些mysql的小技巧(持续更新)

FROM子查询,任何查询语句都可以作为一张表进行二次查询

  SELECT a.`status` FROM (
  SELECT * from asset_borrow_order where `status` = 7) a

自连接,派生表连接

输出某一列的排名过程:

在测试时用到的一些mysql的小技巧(持续更新)

在测试时用到的一些mysql的小技巧(持续更新)