前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python-数据库编程-如何在Python中连接到数据库

python-数据库编程-如何在Python中连接到数据库

原创
作者头像
玖叁叁
发布于 2023-04-22 12:06:02
发布于 2023-04-22 12:06:02
1.2K00
代码可运行
举报
文章被收录于专栏:玖叁叁玖叁叁
运行总次数:0
代码可运行

Python中,我们可以使用各种模块来连接到关系型数据库并进行操作,如MySQLPostgreSQLSQLite等。

连接到MySQL数据库

在Python中连接到MySQL数据库,我们需要使用mysql-connector-python模块。如果您的Python环境中没有该模块,您可以使用pip安装它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install mysql-connector-python

接下来,让我们看看如何使用mysql-connector-python模块在Python中连接到MySQL数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

print(mydb)

在上面的示例中,我们使用mysql.connector模块连接到名为“mydatabase”的MySQL数据库。您需要将“yourusername”和“yourpassword”替换为您的MySQL用户名和密码。如果您的MySQL服务器不在本地主机上,请将“localhost”替换为正确的主机名或IP地址。

连接到SQLite数据库

在Python中连接到SQLite数据库,我们需要使用sqlite3模块。SQLite是一个嵌入式数据库,因此在Python中连接到SQLite数据库非常简单。以下是一个连接到SQLite数据库的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3

conn = sqlite3.connect('mydatabase.db')

print(conn)

在上面的示例中,我们使用sqlite3模块连接到名为“mydatabase.db”的SQLite数据库。如果该文件不存在,则会创建它。您可以使用任何名称来替换“mydatabase.db”。

执行SQL查询

在连接到数据库后,我们可以使用游标(cursor)对象执行SQL查询和操作。以下是一个使用游标对象执行SELECT查询的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

在上面的示例中,我们使用游标对象执行了一个SELECT查询,然后使用fetchall()方法获取查询结果。最后,我们使用for循环遍历结果并打印它们。

以下是一个使用游标对象执行INSERT操作的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sqlite3

conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()

sql = "INSERT INTO customers (name, address) VALUES (?, ?)"
val = ("John", "Highway 21")

cursor.execute(sql, val)

conn.commit()

print(cursor.rowcount, "record inserted.")

在上面的示例中,我们使用游标对象执行了一个INSERT操作,并使用占位符来避免SQL注入攻击。最后,我们使用commit()方法提交更改并打印插入的记录数。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验