【问题标题】:creating database in python在python中创建数据库
【发布时间】:2013-06-09 08:48:05
【问题描述】:

我已经为 python 安装了 mysql 并从命令行运行 python。创建数据库时出现语法错误。

>>> import MySQLdb
>>> CREATE DATABASE chom;

  File "<stdin>", line 1

    CREATE DATABASE chom;
              ^
SyntaxError: invalid syntax

【问题讨论】:

    标签: python mysql python-2.7 mysql-python


    【解决方案1】:

    CREATE DATABASE chom; 这应该从 MySQL 命令行客户端运行,而不是从 Python shell。

    所以,首先从命令行输入mysql -u yourusername -p。它会要求您输入密码,输入密码。然后您将收到类似mysql&gt; 的提示。您可以在此处键入该查询。

    现在,如果您想通过 Python 做到这一点,您可以,但需要做更多的工作。

    >>> import MySQLdb as db
    >>> con = db.connect(user="foo", passwd="secret")
    >>> cur = con.cursor()
    >>> cur.execute('CREATE DATABASE chom;')
    

    有关如何使用标准 DB API 使用 Python 和 MySQL 的一些示例,请参阅 this guide

    【讨论】:

    • 感谢您的解决方案。我收到以下错误。我需要将 Mysql 路径添加到环境变量吗?如果是这样,我需要添加什么路径? C:\>mysql -u Chom -p 'mysql' 不是内部或外部命令、可运行程序或批处理文件。
    • 你安装了 MySQL 服务器吗?
    • 从技术上可以从 python 创建数据库,“应该从 MySQL 命令行客户端运行”是一个主观陈述。
    • 我们可以在使用 python 的 SQLite 数据库中使用相同的东西吗?
    • username 不是connect 函数的输入。请将其替换为user
    【解决方案2】:

    如果你想创建一个数据库,你可以试试:

    import MySQLdb
    db1 = MySQLdb.connect(host="localhost",user="root",passwd="****")
    cursor = db1.cursor()
    sql = 'CREATE DATABASE chom'
    cursor.execute(sql)
    

    【讨论】:

    • 感谢您的解决方案。我收到以下错误。
      >>> db1 = MySQLdb.connect(host="localhost",user="Chom",passwd="") Traceback(最近一次调用最后):文件“”,第 1 行,在 文件“C:\Python27\lib\site-packages\MySQLdb_init_.py”,第 81 行,Connect return Connection(*args, **kwargs) 文件“C:\Python27\ lib\site-packages\MySQLdb\connections.py",第 187 行,在 init 中 super(Connection, self).__init__(*args, **kwargs2)_mysql_exceptions.OperationalError: (2003, "Can '不连接到 'localhost' (10061) 上的 MySQL 服务器")
    • @chom 也许你应该检查你的mysql状态。用户名、密码和端口。确保你的mysql服务运行良好并且可以与其他人连接。我认为错误"Can't connect to MySQL server on 'localhost' (10061)"是你的mysql设置不是python代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2021-10-21
    相关资源
    最近更新 更多