GVKun编程网logo

Python + MySQLdb奇怪的问题

22

在本文中,我们将给您介绍关于Python+MySQLdb奇怪的问题的详细内容,此外,我们还将为您提供关于Centos安装pythonMySQL模块--MySQLdb、CentOS下安装python-m

在本文中,我们将给您介绍关于Python + MySQLdb奇怪的问题的详细内容,此外,我们还将为您提供关于Centos 安装python MySQL 模块 -- MySQLdb、CentOS下安装python-mysqldb出现的问题、Mongodb奇怪的问题、MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别?的知识。

本文目录一览:

Python + MySQLdb奇怪的问题

Python + MySQLdb奇怪的问题

我在使用MySQLdb库时遇到问题。我正在尝试将值插入到表中,但是MySQL没有显示它们。更奇怪的是,当我使用命令提示符手动插入值时,主键正在更改。

举个例子:

'786','2011-02-16 14:52:38',NULL
'787','2011-02-16 14:52:52',NULL
'792','2011-02-16 14:53:25',NULL

我手动在786和787(主键)处插入一些值,然后运行python脚本,在得到4个值后将其停止。我输入“ SELECT * from
table”,但没有看到任何变化。然后,我手动设置了另一个值,它显示了一个新的主键“ 792”。似乎python脚本正在删除内容…

这是我的python代码:

try:
            conn = MySQLdb.connect(host = "127.0.0.1",user = "root",passwd = "eBao1234",db = "test")
            cursor = conn.cursor()
            print 'data base connected'

            try:
                while 1:
                    localtime = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
                    i = i + 1



                    aRead = ser.readline()
                    aSplit = aRead.split(",")

                    if aSplit[0] == "t":


                        print str(i) + "," + localtime +  "," + aSplit[1]

                        tableName = "sampdb"
                        dbquery = "INSERT INTO %s (timestamp,tempReading) VALUES (NOW(),%s);" % (tableName,aSplit[1])
                        cursor.execute(dbquery)


            except KeyboardInterrupt:
                ser.close()
                #csvResults.close()
                #cursor.close()
                #conn.close()

                print "\nInterrupted."
                raw_input("Press enter to exit.")

        except Exception,e:
            print str(e)
            print 'error connecting to database'
            cursor.close()
            conn.close()

Centos 安装python MySQL 模块 -- MySQLdb

Centos 安装python MySQL 模块 -- MySQLdb

python操作MysqL需要安装module --- MysqLdb。

1. 下载MysqLdb

下载地址:https://pypi.python.org/pypi/MySQL-python

目前版本为1.2.5. 下载zip包之后解压。

2. 安装过程

进入解压后的目录:MysqL-python-1.2.5

sudo python setup.py build
sudo python setup.py install

3. 遇到的问题

build或者install过程报错: MysqL_config not found

需要安装MysqL-dev.

sudo yum install MysqL-devel


4. 引用模块

python
>>> import MysqLdb

CentOS下安装python-mysqldb出现的问题

CentOS下安装python-mysqldb出现的问题

CentOS下python-mysqldb安装过程居然耗费了3个小时,遇到诡异的问题就是python setup.py build 会出现一大堆乱码。看到网上有朋友

CentOS下python-mysqldb安装过程居然耗费了3个小时,遇到诡异的问题就是python setup.py build 会出现一大堆乱码。看到网上有朋友也遇到同样的问题,,贴出来分享一下,希望能节约大家的时间。

_mysql.c: At top level:
_mysql.c:647: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c: In function ????_mysql_ConnectionObject_clear????:
_mysql.c:679: error: ????_mysql_ConnectionObject???? has no member named ????converter????
_mysql.c:680: error: ????_mysql_ConnectionObject???? has no member named ????converter????
_mysql.c:680: error: ????NULL???? undeclared (first use in this function)
_mysql.c:680: warning: statement with no effect
_mysql.c: At top level:
_mysql.c:687: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:715: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:731: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:749: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:768: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:794: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:816: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:848: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:874: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:901: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:916: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:933: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:949: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:967: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1002: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1033: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1035: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1065: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1095: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1129: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1161: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1197: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1221: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1246: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1271: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1310: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1349: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1354: error: expected declaration specifiers or ????...???? before ????PyObject????
_mysql.c:1357: error: expected declaration specifiers or ????...???? before ????_PYFUNC????
_mysql.c: In function ????_mysql__fetch_row????:
_mysql.c:1363: error: ????PyObject???? undeclared (first use in this function)
_mysql.c:1363: error: ????v???? undeclared (first use in this function)
_mysql.c:1363: error: invalid operands to binary *
_mysql.c:1363: warning: statement with no effect
_mysql.c:1364: error: ????_mysql_ResultObject???? has no member named ????use????
_mysql.c:1365: error: ????_mysql_ResultObject???? has no member named ????result????
_mysql.c:1365: warning: passing argument 1 of ????mysql_fetch_row???? from incompatible pointer type
_mysql.c:1367: error: ????Py_BEGIN_ALLOW_THREADS???? undeclared (first use in this function)
_mysql.c:1367: warning: statement with no effect
_mysql.c:1368: error: ????_mysql_ResultObject???? has no member named ????result????
_mysql.c:1368: warning: passing argument 1 of ????mysql_fetch_row???? from incompatible pointer type
_mysql.c:1369: error: ????Py_END_ALLOW_THREADS???? undeclared (first use in this function)
_mysql.c:1369: warning: statement with no effect
_mysql.c:1371: error: ????_mysql_ResultObject???? has no member named ????conn????
_mysql.c:1371: error: ????_mysql_ConnectionObject???? has no member named ????connection????
_mysql.c:1371: warning: passing argument 1 of ????mysql_errno???? from incompatible pointer type
_mysql.c:1372: error: ????_mysql_ResultObject???? has no member named ????conn????
_mysql.c:1376: warning: implicit declaration of function ????_PyTuple_Resize????
_mysql.c:1376: error: ????r???? undeclared (first use in this function)
_mysql.c:1379: warning: implicit declaration of function ????convert_row????
_mysql.c:1379: warning: statement with no effect
_mysql.c: At top level:
_mysql.c:1397: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1476: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1504: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1526: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1566: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1595: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1610: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1625: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1640: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1656: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1691: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1709: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1732: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1749: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1765: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1794: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1817: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1847: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1869: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1896: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1917: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1958: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:1978: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c: In function ????_mysql_ConnectionObject_dealloc????:
_mysql.c:2012: error: ????PyObject???? undeclared (first use in this function)
_mysql.c:2012: error: ????o???? undeclared (first use in this function)
_mysql.c:2012: error: invalid operands to binary *
_mysql.c:2012: warning: statement with no effect
_mysql.c:2015: error: ????_mysql_ConnectionObject???? has no member named ????open????
_mysql.c:2016: warning: implicit declaration of function ????_mysql_ConnectionObject_close????
_mysql.c:2016: error: ????NULL???? undeclared (first use in this function)
_mysql.c:2016: warning: statement with no effect
_mysql.c:2019: warning: implicit declaration of function ????PyMem_Free????
_mysql.c: At top level:
_mysql.c:2022: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2039: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2054: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2076: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c: In function ????_mysql_ResultObject_dealloc????:
_mysql.c:2098: error: ????_mysql_ResultObject???? has no member named ????result????
_mysql.c:2098: warning: passing argument 1 of ????mysql_free_result???? from incompatible pointer type
_mysql.c: At top level:
_mysql.c:2103: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2113: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????_mysql_ConnectionObject_methods????
_mysql.c:2328: error: array type has incomplete element type
_mysql.c:2329: error: ????T_INT???? undeclared here (not in a function)
_mysql.c:2329: warning: implicit declaration of function ????offsetof????
_mysql.c:2329: error: expected expression before ????_mysql_ConnectionObject????
_mysql.c:2329: error: ????RO???? undeclared here (not in a function)
_mysql.c:2336: error: ????T_OBJECT???? undeclared here (not in a function)
_mysql.c:2336: error: expected expression before ????_mysql_ConnectionObject????
_mysql.c:2343: error: ????T_UINT???? undeclared here (not in a function)
_mysql.c:2343: error: expected expression before ????_mysql_ConnectionObject????
_mysql.c:2350: error: expected expression before ????_mysql_ConnectionObject????
_mysql.c:2357: error: expected expression before ????_mysql_ConnectionObject????
_mysql.c:2364: error: ????NULL???? undeclared here (not in a function)
_mysql.c:2367: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????_mysql_ResultObject_methods????
_mysql.c:2419: error: array type has incomplete element type
_mysql.c:2420: error: expected expression before ????_mysql_ResultObject????
_mysql.c:2430: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2458: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2488: error: expected declaration specifiers or ????...???? before ????PyObject????
_mysql.c: In function ????_mysql_ConnectionObject_setattr????:
_mysql.c:2490: error: ????v???? undeclared (first use in this function)
_mysql.c:2491: warning: implicit declaration of function ????PyErr_SetString????
_mysql.c:2491: error: ????PyExc_AttributeError???? undeclared (first use in this function)
_mysql.c:2496: warning: implicit declaration of function ????PyMember_Set????
_mysql.c: At top level:
_mysql.c:2513: error: expected declaration specifiers or ????...???? before ????PyObject????
_mysql.c: In function ????_mysql_ResultObject_setattr????:
_mysql.c:2515: error: ????v???? undeclared (first use in this function)
_mysql.c:2516: error: ????PyExc_AttributeError???? undeclared (first use in this function)
_mysql.c: At top level:
_mysql.c:2534: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????_mysql_ConnectionObject_Type????
_mysql.c:2618: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????_mysql_ResultObject_Type????
_mysql.c:2704: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????_mysql_methods????
_mysql.c:2776: error: expected ????=????, ????,????, ????;????, ????asm???? or ????__attribute__???? before ????*???? token
_mysql.c:2808: warning: return type defaults to ????int????
_mysql.c: In function ????DL_EXPORT????:
_mysql.c:2808: error: expected declaration specifiers before ????init_mysql????
_mysql.c:2886: error: expected ????{???? at end of input
error: command ''gcc'' failed with exit status 1 

看的头都大了。

解决办法是:

yum install python-devel mysql-devel zlib-devel openssl-devel

然后再build、install

linux

Mongodb奇怪的问题

Mongodb奇怪的问题

Mongodb奇怪的问题

类里面有一个价格字段  price    类型是BigDecimal

数据库里面保存成了 string类型 且有值 比如23

但是我在查询时取不出来 price,price一直是null

不知道是怎么回事 ???

 

 

MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别?

MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别?

如何解决MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别??

MySQLdb是围绕C模块的瘦Python包装器,该模块实现MysqL数据库的API。

有MySQLDb1包装的版本中使用前一段时间,现在它被认为是一个遗留问题。作为MysqLDb1开始发展到MySQLDb2与bug修复和python3支持下,MysqLDb1是分叉的,这里是如何的mysql出现,补丁与python3支持。总结一下,所以现在我们有尚未投入​​生产的MysqLDb2,过时的驱动程序MysqLDb1和社区支持的MysqLclient以及错误修复和python3支持。

现在,为了解决这种麻烦,MysqL提供了自己的MysqL适配器版本-mysql connector,这是一个全功能的python模块,它使用MysqL API, ,只使用标准的python模块。

因此,现在的问题归结为:MysqLclient vs MysqL connector。

对于我来说,我会使用官方支持的库,但是也MysqLclient应该是一个不错的选择。他们都正在积极地通过修复和新功能进行更新,您可以通过最近几天的活动提交来查看它们。

注意:我对它们没有太多经验,因此在某些情况下,一个或另一个可能无法满足您的需求。 这两个库都遵循PEP-249标准,这意味着您应该在任何地方都至少具备基本功能。

  • MysqL客户端

作为C包装程序的分支,它要求C模块与MysqL一起使用,该模块添加python头文件来构建这些扩展(请阅读python- dev)。安装取决于您使用的系统,只需确保您知道软件包名称即可安装它们。

  • MysqL连接器 主要文档非常清楚,但是您应该了解Protobuf C ++的依赖关系(对于MysqL连接器版本> = 2.2.3)。

解决方法

因此,我一直在尝试使用python进行一些数据库更新,并且在设置整个开发环境时,遇到了这三件事,这让我感到头晕。

  1. 有MySQLdb

  2. 有mysqlclient

  3. 然后是一个mysql连接器python

它们分别是什么,区别和在哪里使用?谢谢

关于Python + MySQLdb奇怪的问题的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Centos 安装python MySQL 模块 -- MySQLdb、CentOS下安装python-mysqldb出现的问题、Mongodb奇怪的问题、MySQLdb,mysqlclient和MySQL连接器/ Python有什么区别?的相关知识,请在本站寻找。

本文标签: