Python中直接在MySQL执行SQL命令

因为懒,所以不想用SQLyog,用Python写了一个快速执行SQL命令的程序:

import pymysql,sys

class dealMySQL(object):
    ‘PyMysql‘
    version = ‘Version:0.1‘ 
    author = ‘Author: August‘
    
    def __init__(self):
        pass
    
    @classmethod    
    def execute(self,sql):
        ‘execute SQL command!‘
        try:
            conn = pymysql.Connect(host=‘localhost‘,user=‘root‘,passwd=‘‘,db=‘sql_‘,port=3306,charset=‘utf8‘)
            cur = conn.cursor()
        except pymysql.err.InternalError as err:
            print("Can not connect MySQL:%r"%err)
            sys.exit()
        except pymysql.err.OperationalError as err:
            print("Can not connect MySQL:%r"%err)
            sys.exit()
        try:
            cur.execute(sql)
            conn.commit()
            for x in cur:
                print(x)
            print("success!")
        except:
            print("Error! Please check your SQL!")
            
        cur.close()
        conn.close()
时间: 2024-10-06 18:31:16

Python中直接在MySQL执行SQL命令的相关文章

mysql执行sql及慢查询监控

[前言] mysql可以记录用户执行的sql:记录到文件.表格 mysql可以定义执行多少时间以上得sql属于慢查询,也会根据配置,记录相关信息到文件.表格 [背景说明] 公司想监控记录每天执行了哪些sql,哪些sql是慢查询,然后去优化sql [技术说明] 其实只要搞清楚了mysql怎样记录执行sql的 怎样记录慢查询的即可 接下来就是写代码去梳理成报告,我这里使用的是python [最终效果如下] [技术细节] 1.修改my.cnf #整体的效果,全局开启表和日志文件都写,但是对于gener

mysql执行SQL语句时报错:[Err] 3 - Error writing file '/tmp/MYP0G1B8' (Errcode: 28 - No space left on device)

问题描述: 今天一同事在mysql中执行SQL语句的时候,报了/tmp空间不足的问题,报错如下: [SQL] SELECT f.prov as 字段1, MAX( CASE f.flag_name WHEN '字段1' THEN f.num ELSE 0 END ) AS '字段1', MAX( CASE f.flag_name WHEN '店员量' THEN f.num ELSE 0 END ) AS '字段1', MAX( CASE f.flag_name WHEN '字段1' THEN f

Access环境下使用PowerShell执行SQL命令

要使用数据就要先连接上数据库,连接Access的方式有好几种,我现在使用的是Oledb连接方式.其中又分为无密码和有密码. 无密码连接文本:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessFile.accdb;Persist Security Info=False;有密码连接文本:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myAccessFile.accdb;Jet OLEDB:Data

Linux中连接mysql执行sql文件

数据量小的时候可以把sql语句内容粘贴执行,但是文件很大的时候,这样执行效率很慢很慢,需要使用source执行sql文件 1.客户端连接mysql数据库 [[email protected] ~]# mysql -h rm-k1h7gjp9s3dd5c8a7.mysql.rds.aliyuncs.com -u root -p 回车之后会输入数据库密码 2.切换数据库  use e_user; 3.执行sql文件,/usr/t_user_alpha.sql路径是mysql客户端的路径,mysql命

python MySQL执行SQL查询结果返回字典

写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数据结果是字典,返回结果为多条数据的时统一存放在列表中便于对数据遍历,同时我在传入参数的时候可以准确的获取关键字: # -*- coding: utf-8 -*- # @Time : 2018/12/30 18:39 # @Author : Hunk # @Email : [email protect

Spark-Sql整合hive,在spark-sql命令和spark-shell命令下执行sql命令和整合调用hive

1.安装Hive 如果想创建一个数据库用户,并且为数据库赋值权限,可以参考:http://blog.csdn.net/tototuzuoquan/article/details/52785504 2.将配置好的hive-site.xml.core-site.xml.hdfs-site.xml放入$SPARK_HOME/conf目录下 [root@hadoop1 conf]# cd /home/tuzq/software/hive/apache-hive-1.2.1-bin [root@hadoo

mysql执行sql文件

mysql -uspider_55haitao -pspider_55haitao -Dspider_55haitao</home/gphonebbs/Dump20161109.sql 方法一 使用cmd命令执行(windows下,unix或Linux在的其控制台下)[MySQL的bin目录]\mysql –u用户名 –p密码 –D数据库<[sql脚本文件路径全名],示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意

MySQL执行sql查询并上传至远程服务器

最近项目中有需要做一个shell脚本,可以对一个数据库执行sql操作,并将结果转为txt,筛选结果用tab隔开,保存至一个远程服务器上,以供其他人用Excel读取用txt中的内容. MySQL中将结果保存下来,有两种方案,一种是在sql语句中增加INTO OUTFILE语句,并且可以定制化输出的格式.但是这种方法留下的文件在数据库所在的服务器上,而期望的是将文件放在执行脚本的机器上. 后来实现是不改变sql语句的内容,在脚本中将结果保存到本地/tmp目录下,再用curl上传到远程服务器上,下面抽

mysql执行 sql文件遇到USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8错误

使用navcat在导入别人发的mysql数据的时候,报了下面这个错误: [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8' at line 9 错误原因主要