Python数据库创建 - MySQL错误

时间:2015-01-02 07:10:35

标签: python mysql database creation

我一直在尝试使用MySQL模块在python中创建数据库。这是代码:

import MySQLdb
conn = MySQLdb.connect(host = '127.0.0.1', user='root', passwd='', db='test', port='3306')
cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
row = cursor.fetchone()
print "server version:",row[0]
cursor.close()
conn.close()

我在与主机名相关的初始步骤中出错,我从localhost更改为本地IP,并添加了一个似乎只与引号一起使用的port关键字。除此之外,我遇到以下错误:

Traceback (most recent call last):
  File "C:\Python27\server_version", line 4, in <module>
    conn = MySQLdb.connect(host = '127.0.0.1', user='root', passwd='', db='bhavin', port='3306')
  File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
TypeError: an integer is required

2 个答案:

答案 0 :(得分:1)

port应该是整数,而不是字符串:

conn = MySQLdb.connect(host='127.0.0.1', 
                       user='root', 
                       passwd='', 
                       db='test', 
                       port=3306)

但请注意,如果未明确提供3306,则使用{{1}}:

  

端口

     

MySQL服务器的TCP端口。默认值:标准端口(3306)。

答案 1 :(得分:0)

如果您没有使用该代码创建数据库表,您将收到错误,例如“不存在此类表”或类似的内容。您应该尝试:CREATE TABLE IF NOT NOT EXISTS(“//表的列的类型为整数或varchar