问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用Python连接MySQL数据库mysqlconnet

发布网友 发布时间:2024-09-27 06:06

我来回答

1个回答

热心网友 时间:2024-10-06 01:45

如何使用Python连接MySQL数据库?
MySQL是一种免费的关系型数据库,被广泛应用于各种应用程序中。Python作为一种流行的编程语言,也具备了与MySQL数据库交互的能力。本文将探讨如何使用Python连接MySQL数据库及执行一些基本的数据库操作。
我们需要安装MySQL的Python Connector才能在Python中使用MySQL数据库。可以在终端命令行中使用以下命令进行安装:
pip install mysql-connector-python
一,使用Python连接MySQL数据库
为了开始连接MySQL数据库,我们首先需要具备操作MySQL的credential(凭据)。在MySQL Connector中,这些凭据指的是主机名、用户名、密码等信息。以下是连接MySQL数据库的示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”
)
如果连接成功,我们就可以得到代表连接的对象mydb。
二,Python与MySQL的基本交互方式
2.1 创建数据库
接下来,我们要学习如何在Python中创建一个MySQL数据库。使用以下代码可以创建一个名为mydatabase的数据库:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”
)
mycursor = mydb.cursor()
mycursor.execute(“CREATE DATABASE mydatabase”)
2.2 创建表格
为了创建一个表格,在Python中需要使用CREATE TABLE语句。以下是一个示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mycursor.execute(“CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))”)
这个代码段创建了名为customers的表格,并且包含两个列:name和address。
2.3 插入数据
对于建立好的表格,我们需要使用INSERT INTO语句来向其中添加数据。以下是一个示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “INSERT INTO customers (name, address) VALUES (%s, %s)”
val = (“John”, “Highway 21”)
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, “record inserted.”)
在这个示例中,我们添加了一个名为John的用户,地址为Highway 21。
2.4 查询数据库
查询数据库使用SELECT语句。以下代码段为我们展示如何使用Python查询MySQL数据库。
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mycursor.execute(“SELECT * FROM customers”)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
这段代码查询了customers表格,然后打印出所有数据。
2.5 删除数据
可以使用DELETE语句从MySQL表格中删除数据。以下是一个示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “DELETE FROM customers WHERE address = ‘Mountn 21′”
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, “record(s) deleted”)
这个示例代码删除了地址为Mountn 21的客户的行。
三,Python与MySQL高级交互方式
3.1 数据库批量操作
在实际生产环境中,通常需要一次性对MySQL数据库中的多行进行操作。MySQL Connector提供了executemany()函数实现批量操作。以下是一个示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
sql = “INSERT INTO customers (name, address) VALUES (%s, %s)”
val = [
(‘Peter’, ‘Lowstreet 4’),
(‘Amy’, ‘Apple st 652’),
(‘Hannah’, ‘Mountn 21’),
(‘Michael’, ‘Valley 345’),
(‘Sandy’, ‘Ocean blvd 2’),
(‘Betty’, ‘Green Grass 1’),
(‘Richard’, ‘Sky st 331’),
(‘Susan’, ‘One way 98’),
(‘Vicky’, ‘Yellow Garden 2’),
(‘Ben’, ‘Park Lane 38’),
(‘William’, ‘Central st 954’),
(‘Chuck’, ‘Mn Road 989’),
(‘Viola’, ‘Sideway 1633’)
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, “was inserted.”)
使用executemany()函数可以一起向MySQL数据库中添加多行,大大减少了代码行数。
3.2 数据库事务处理
在Python与MySQL的交互中,可能由于程序崩溃或其他原因导致MySQL操作失败。在这种情况下,可以通过MySQL事务处理从而避免数据丢失或者逻辑错误。以下是在Python中使用MySQL事务处理的示例代码:
import mysql.connector
mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)
mycursor = mydb.cursor()
mydb.start_transaction()
try:
mycursor.execute(“INSERT INTO customers (name, address) VALUES (‘John’, ‘Highway 21’)”)
mycursor.execute(“INSERT INTO customers (name, address) VALUES (‘Peter’, ‘Lowstreet 4’)”)
mydb.commit()
print(“Customer table updated!”)
except:
mydb.rollback()
print(“Rollbacked!”)
在上述代码中,使用MySQL的start_transaction()函数开启一个MySQL事务。如果MySQL操作失败,使用rollback()函数来回滚之前的操作。
使用Python连接MySQL数据库可以让我们在Python中轻松使用MySQL数据库,本文介绍了Python中MySQL数据库的基本和高级用法。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急需给女性朋友的生日祝福藏头诗。 姓名 小桂子 希望各位大仙帮忙、 送给闺蜜的生日祝福语(藏头诗,杨剑愉生日快乐)哪位大仙帮帮忙? 闺蜜的生日祝福语(藏头诗,蔡怡雯生日快乐),哪位大仙帮帮忙啊? 美元为什么突然暴跌 为什么最近美元大跌 美元为什么会大跌 为什么美元跌 美元汇率为什么一路下跌 近来为什么美金大跌 戴尔笔记本电脑开机一直停在戴尔logo画面,进不去桌面是怎么回事? 成都到仙女山旅游攻略,仙女山景区内民宿推荐平价 各位学霸么,帮忙写一个动词很多的小作文200字,谢谢啦 小作文(一向运动),动词多,谁最多我采纳谁1。200字左右 如何借款微信借钱怎么借? 癌细胞喜欢水果中的糖分吗 肺癌千万别吃三种水果 肺癌吃什么水果好 癌症患者可以吃的水果有哪些 万甲之王的书籍简介 空气能采暖是地暖还是墙暖 法治思维的内涵有哪些 杭州离嘉兴有多远? 男人黄金是什么 黄金男什么意思 越剪越帅气的男生短发,这5款发型随你挑选,清爽利落尽显潮男范 什么外国歌好听,旋律快,又有激情? 如果被有男朋友的女孩拒绝应该放弃吗? 搜索啊乡村频道19点30分演的是什么电视剧 不积跬步无以至千里不积小流无以成江海什么意思 一部外国电视剧 19~看的 ...且每天播集数各不相同,则这部连续剧最多有多少集? 绝地求生箱子怎么卖钱 吃鸡的箱子具体怎么卖啊 在小县城生活怎么样 有免费的QQ群成员提取软件?没毒的 刚建的QQ群怎么会有这样的群动态?电脑没中毒。 ...晚上5点才睡,。看电视,玩手机游戏_百度知 ... 我刚建了个YY频道,谁能帮忙设计个个性的名字。 ...之后睡觉的人,长期下来身体会发生什么变化? ...基本上得上个几个月才能倒白班…对身体的具体影响有什么?_百度... yy直播频道取什么名字可爱一点? ...点种睡觉,到第2天中午起床,这样的作息时间对身体有害吗?_百度... 女性急性外阴溃疡是怎么回事 外阴溃疡是什么 外阴溃疡是啥病 想取个名字,姓“应”想叫“应x赟”,大家觉得中间的字取什么好? 大家帮个忙给朋友的孩子起个名字 格式是 (左熙X) 有强人没他家挺犯难... 文字脑洞诡异医院2怎么过关 怎样找到闲鱼货源呢? 联想a1900死机再开机进不去 1900以后中东有哪些大规模战争 DV格式中的LP画面能接SP画面吗?