标签: mysql-python

无法通过Python(Mysql.Connector)创建临时表

我有以下格式的查询,

DROP TABLE X; CREATE TEMPORARY TABLE IF NOT EXISTS X (SELECT * FROM TABLE); SELECT A,B,C FROM X;

但是,如果我使用 mysql 连接器在 Python 中运行它。我收到以下消息,'No result set to fetch from'。我的理解是它只执行第一个DROP TABLE X;并返回。还有其他方法可以实现这一目标吗?我也尝试过使用multi=True,但也没有用。提前致谢

python mysql-connect mysql-connector mysql-python mysql-connector-python

1
推荐指数
1
解决办法
2580
查看次数

(MySQLdb._exceptions.ProgrammingError) 格式字符串参数不足

我正在使用以下查询从 mysql 数据库读取数据:
设置:

conn = MySQLdb.connect(host='127.0.0.1', port=3306, user='**', passwd='**', db='***')
engine = create_engine('mysql+mysqldb://***')

sql = 'show tables like "{}"'.format('aTable_' + '%')
Run Code Online (Sandbox Code Playgroud)

选项-1:这样就可以了

a1 = pd.read_sql_query(sql, conn)
Run Code Online (Sandbox Code Playgroud)

选项2:这将抛出错误:
ProgrammingError:(MySQLdb.exceptions.ProgrammingError )格式字符串的参数不足[SQL:显示类似“aTable %”的表](此错误的背景位于:http://sqlalche.me/ e/f405 )

a1 = pd.read_sql_query(sql, engine)

Run Code Online (Sandbox Code Playgroud)

如果我想使用第二种风格(引擎作为参数)我该怎么办?

python sqlalchemy mysql-python pandas

1
推荐指数
1
解决办法
2824
查看次数

将包含逗号数据的csv文件导入MySQL

我有超过10GB的.csv文件.我试图使用python将这些文件中的数据导入MySQL.由于csv文件是逗号分隔文件,并且我有数据本身包含逗号,因此我不能在这里使用','进行拆分.请建议分割csv文件的其他选项.我想将数据从csv文件(数据本身包含逗号)导入MySQL(我使用Wamp服务器).我有"伦敦,英国","2010","信用,储蓄"等数据

python mysql wamp wampserver mysql-python

0
推荐指数
1
解决办法
4057
查看次数

Python | MySQLdb - >我无法插入

我有一个奇怪的问题.有两个数据库.其中一个产品包含在线商店.另一个上面有网上商店软件,只有活跃的产品.

我想从db1中获取值,在python中更改一些值并插入到db2中.

db1.execute("SELECT * FROM table1")
for product in db1.fetchall():
    # ...
    db2.execute("INSERT INTO table2 ...")
    print "Check: " + str(db2.countrow)
Run Code Online (Sandbox Code Playgroud)

所以我可以通过select获取值,即使从db2中选择也没问题.我的检查总是给我1但是table2中没有新的行.自动增量值增加但没有数据.我甚至没有得到像"无法插入"这样的错误所以有人知道可能出现什么问题吗?(如果我通过phpmyadmin手动插入它可以工作......如果我只是从我的脚本中取sql并手动执行sql-statements工作以及)

编辑:在这里找到答案如何在Python中检查插入是否成功使用MySQLdb?

有没有办法让这些执行没有每次提交?我有一个围绕mysqldb的包装器,它对我来说非常有效,通过提交改变行为我需要进行一些重大更改.

编辑2:好吧我发现db1是MyISAM(没有提交就可以工作)而db2是InnoDB(实际上似乎只能用于提交)我想我必须将db2更改为MyISAM.

python database insert mysql-python

0
推荐指数
1
解决办法
606
查看次数

Python Mysql TypeError:“ NoneType”对象不可下标

conn = MySQLdb.connect (host = "localhost", user="root", passwd="xxxx", db="xxxxx")
     cursor = conn.cursor()
     cursor.execute ("SELECT * FROM pin WHERE active=1")
     while (1):
       row = cursor.fetchone()
       st = str(row[2])
       pin = str(row[1])
       order = str(st)+str(pin)
       if row == None:
          break
       sendSerial(order)
conn.close()
Run Code Online (Sandbox Code Playgroud)

为什么st = str(row [2])变成错误?应该如何从数据库中将行检索到变量中?

谢谢您的回答。

python mysql-python

0
推荐指数
1
解决办法
6594
查看次数

python中多线程应用程序中的分段错误错误

我在python中有一个多线程应用程序,其中我创建了多个生产者线程,并从数据库中提取数据.数据以块的形式提取.因此,线程创建带有限制值的sql语句的部分将保持在锁定状态.为了让线程同时执行查询,query()函数保持在锁外.然后,结果获取部分再次保持在锁定之下.以下是代码段:

with UserAgent.lock:
    sqlGeoTarget = "call sp_ax_ari_select_user_agent_list('0'," + str(self.chunkStart) + "," + str(self.chunkSize) + ",1);"
    self.chunkStart += self.chunkSize

self.dbObj.query(sqlGeoTarget)
print "query executed. Processing data now..."+sqlGeoTarget

with UserAgent.lock:
    result = self.dbObj.fetchAll()
    self.dbObj.dbCursor.close()
Run Code Online (Sandbox Code Playgroud)

但是这段代码会产生致命的错误segmentation fault (core dumped).因为如果我将所有代码置于锁定状态,它就可以正常执行.我在获取数据后显式关闭游标,当query()函数再次触发时重新打开它.

此代码位于名为的类中UserAgent,它是名为的类的共享资源Producer.因此,共享数据库对象.所以问题区域99%必须是因为db对象被共享同时命中查询并且关闭游标然后必须弄乱结果集.但那么如何解决这个问题并实现并发数据库查询执行?

python multithreading mysql-python

0
推荐指数
1
解决办法
2567
查看次数

MySQLdb.cursors.Cursor.execute不起作用

我已经完成以下工作:

import MySQLdb as mdb
con = mdb.connect(hostname, username, password, dbname)
cur = con.cursor()
count = cur.execute(query)
cur.close()
con.close()
Run Code Online (Sandbox Code Playgroud)

我有两个查询,我在mysql控制台中执行它们,我可以查看结果。
但是当我通过python提供相同的查询时,一个查询有效,而另一个查询则无效。
我确定这不是mysql或查询或python代码的问题。我怀疑cur.execute(query)函数。

有人遇到过类似情况吗?有什么办法吗?

python mysql mysql-python

0
推荐指数
1
解决办法
5525
查看次数

MySQL sql为列

我有下表

db.queries
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name      | varchar(256)     | NO   |     |         |                |
| sql       | text             | NO   |     | NULL    |                |
| frequency | int(10) unsigned | NO   |     | 86400   |                |
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQLdb python工具插入标记的名称,名称SQL查询.

cur.execute("insert into db.queries (name, sql, frequency) values ('{0}', '{1}', {2})".format('some query', 'Select a query', 86400)
Run Code Online (Sandbox Code Playgroud)

我以前曾经多次使用MySQL和MySQLdb,从来没有遇到过这些问题.

我经常遇到的错误如下:

_mysql_exceptions.ProgrammingError:(1064,"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'sql,frequency'附近使用正确的语法)值('MY NAME','选择计数(*)如'第1行')

我感谢任何帮助.

python mysql mysql-python

0
推荐指数
1
解决办法
63
查看次数

Python和Mysql:带变量的Select语句

嗨,我正在寻找类似的主题,但找不到任何决定发布的主题。任何提示或链接将不胜感激。

我正在使用python 2.7 + MySQLdb,我做了一条sql语句,但是有一个奇怪的问题。

?作品?

Val3 = 1
sql = """SELECT ValA FROM %s WHERE Val2 = %s AND Val3 = %s""" % (Val1, Val2, Val3)
Run Code Online (Sandbox Code Playgroud)

不行吗?

Val3 = "variable"
sql = """SELECT ValA FROM %s WHERE Val2 = %s AND Val3 = %s""" % (Val1, Val2, Val3)
Run Code Online (Sandbox Code Playgroud)

当我将文本用作变量时,不会执行sql语句。

(注意:没有错误消息会像没有出现一样被对待)

有人知道问题出在哪里吗?

python select where mysql-python

0
推荐指数
1
解决办法
2万
查看次数

TypeError:使用mysqldb在python中无法调用'connection'对象

from flask import Flask
from flask_restful import Resource, Api
from flask_restful import reqparse
from flask_mysqldb import MySQL



mysql = MySQL()
app = Flask(__name__)

# MySQL configurations
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = ''
app.config['MYSQL_DB'] = 'itemlistdb'
app.config['MYSQL_HOST'] = 'localhost'




    mysql.init_app(app)

    api = Api(app)

    class AuthenticateUser(Resource):
        def post(self):
            try:
                # Parse the arguments

                parser = reqparse.RequestParser()
                parser.add_argument('email', type=str, help='Email address for Authentication')
                parser.add_argument('password', type=str, help='Password for Authentication')
                args = parser.parse_args()

                _userEmail = args['email']
                _userPassword = args['password']

                conn = mysql.connection
                cursor = conn.cursor() …
Run Code Online (Sandbox Code Playgroud)

python mysql mysql-python

0
推荐指数
1
解决办法
2090
查看次数