用Python创建一个MySQL数据库

4
我可以帮您翻译成中文。以下是翻译的结果:

我想从Python中创建一个MySQL数据库。我可以找到连接到现有数据库的说明,但找不到如何初始化新数据库的说明。

例如,当我运行以下命令时:

import MySQLdb
db = MySQLdb.connect(host="localhost", user="john", passwd="megajonhy", db="jonhydb")  (presumably because connecting will not create a database if it doesn't already exist, as i had hoped)

如何在Python中连接MySQL数据库?的第一条指令是什么?我遇到了错误_mysql_exceptions.OperationalError: (2003, "无法连接到'localhost'上的MySQL服务器(10061)")

我该如何初始化一个新的MySQL数据库并使其可用?


1
你在本地安装了MySQL服务器吗? - msturdy
请问,如果我从mysql.com安装了“MySQL社区服务器”,那么上述代码是否可以用来创建数据库呢? - kyrenia
是的,您需要安装MySQL服务器。您的代码不会创建数据库,它将连接到服务器并尝试连接到其中已经创建的名为“jonhydb”的数据库。您可能还想考虑安装MySQL Workbench来帮助您设置数据库和表。 - msturdy
那么我需要首先在MySQL服务器中创建一个同名的数据库,然后再从Python中连接它,是这样吗? - kyrenia
虽然你可以用Python创建它,但这并不是常见的做法,因为每次运行脚本时都会尝试创建数据库。你需要在某个地方运行create database命令,可以在MySQL(命令行或Workbench)中运行,也可以通过Python运行。 - msturdy
2个回答

10

使用Python创建数据库。

import MySQLdb

db = MySQLdb.connect(host="localhost", user="user", passwd="password")

c = db.cursor()
c.execute('create database if not exists pythontest')

db.close()

使用MySQL的CREATE DATABASE语句。

这不是常见的做法,因为它会在每次运行脚本时尝试创建数据库。

注意 - 然后您可以使用db.select_db('pythontest')选择该表格并使用c.execute('create table statement')创建表格


0

使用pip安装mysql连接器

sudo pip install mysql-connector-python

创建数据库gtec和学生表的示例代码:

import mysql.connector    
cnx = mysql.connector.connect(user='root', password='1234',
                              host='localhost',
                              database='gtec')

try:
   cursor = cnx.cursor()
   cursor.execute("select * from student")
   result = cursor.fetchall()
   print result
finally:
    cnx.close()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接