【问题标题】:mysqldb python unknown databasemysqldb python 未知数据库
【发布时间】:2013-06-27 13:46:10
【问题描述】:

我正在尝试使用 python 2.7 连接到 MySQL。我的代码如下

DB_HOST = '127.0.0.1' #'localhost'
DB_USER = 'root'
DB_PASSWORD = 'password'
DB_SCHEMA = 'database_one'
DB_TBL_PREFIX = 'database_'

import MySQLdB

db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASSWORD, db='$$$$')

在我的服务器(本地主机)中,我有我的数据库(DB_SCHEMA),在这个数据库中我有一些表(DB_TBL_PREFIX.'table_name')。如果我想在数据库中选择其中一张表,那么 $$$$ 的正确值是多少?我使用 php 没有问题,但是这个 python 让我发疯了。

【问题讨论】:

    标签: python database mysql-python


    【解决方案1】:

    你写了$$$$,你会想要DB_SCHEMA

    db = MySQLdb.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASSWORD, db=DB_SCHEMA)
    

    之后,您可能会发现 http://www.tutorialspoint.com/python/python_database_access.htm 有助于教您正确的语法。

    不过,从长远来看,我建议使用已经存在的库,例如出色的 SQLAlchemy,而不是手动创建 SQL 语句。这是一种非常不同的看待事物的方式,尤其是如果您有 PHP 背景,但从长远来看,您不会相信它会为您节省多少痛苦。手工编写 SQL 将迫使您担心 SQL 注入、正确转义参数和各种相关问题,但是当您使用像 SQLAlchemy 这样的库时,所有这些都将为您完成——还有更多您可能无法完成的事情甚至现在就可以想象。

    说真的,花时间学习使用 SQLAlchemy 是值得的。

    【讨论】:

    • 感谢您的回答,但是如何在数据库中选择正确的表?
    • 创建连接时不需要选择表。您使用db.connect(your_parameters) 连接到数据库,然后使用db.cursor() 创建一个游标,然后在游标上运行SQL 语句。这一切都在我发布的链接中:搜索“READ Operation”。
    猜你喜欢
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 2012-02-14
    • 1970-01-01
    • 2011-09-16
    相关资源
    最近更新 更多