在python中创建一个MySQL数据库
Posted
技术标签:
【中文标题】在python中创建一个MySQL数据库【英文标题】:Create a MySQL database in python 【发布时间】:2016-02-19 11:59:36 【问题描述】:我希望从 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)
How do I connect to a MySQL Database in Python? 上的第一行指令我收到错误 _mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (10061)")
如何初始化一个新的 MySQL 数据库以使用?
【问题讨论】:
你在本地主机上安装了 MySQL 服务器吗? 否 - 如果我从 mysql.com 安装MySQL Community Server
上面的代码应该可以创建数据库,我会不会是正确的假设?
是的,你需要安装 mysql 服务器。您的代码不会创建数据库,它将连接到服务器并尝试连接到已在其中创建的名为jonhydb
的数据库。您可能还需要考虑安装 MySQL Workbench 来帮助您设置数据库和表
所以我大概需要先从 MySQL 服务器中创建一个具有该名称的数据库,然后从 Python 连接到它?
虽然您可以从 Python 创建它,但这并不常见,因为每次运行脚本时它都会尝试创建数据库。您需要在 MySQL(命令行或 Workbench)或 Python 中运行 create database 命令的地方
【参考方案1】:
使用 pip 安装 mysql 连接器,
sudo pip install mysql-connector-python
创建数据库 gtec 和表 student 的示例代码,
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()
【讨论】:
【参考方案2】:在 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()
使用CREATE DATABASE MySQL 语句。
这不是常见的做法,因为它会在您每次运行脚本时尝试创建该数据库。
注意 - 然后您可以使用 db.select_db('pythontest')
选择该表并使用 c.execute('create table statement')
到 create a table
【讨论】:
以上是关于在python中创建一个MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章