• 在测试时用到的一些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数据
    java随机读取文件
    移动文件
    输出字符串数组
    背包问题
    使用bloomfilter
    使用hash拆分文件
    判断文件的编码格式
  • 原文地址:https://www.cnblogs.com/lvzhenhua/p/9596653.html
Copyright © 2020-2023  润新知