📌  相关文章
📜  Python中的MYSQLdb连接(1)

📅  最后修改于: 2023-12-03 15:34:25.154000             🧑  作者: Mango

Python中的MYSQLdb连接

Python中的MYSQLdb是连接MySQL数据库的一种常用工具库,可以方便地实现Python程序与MySQL数据库的交互。

安装

在使用MYSQLdb前,需要先进行安装。在命令行中输入以下命令即可安装:

pip install MySQL-python

如果使用Python3,可以安装pymysql库:

pip install pymysql
连接数据库

在使用MYSQLdb进行数据库连接时,需要提供MySQL数据库的连接参数,包括hostname、username、password、dbname等信息。

import MySQLdb

# 定义连接参数
hostname = "hostname"
username = "username"
password = "password"
dbname = "dbname"

# 建立连接
conn = MySQLdb.connect(
  host=hostname,
  user=username,
  passwd=password,
  db=dbname,
  charset="utf8"
)

如果使用pymysql:

import pymysql

# 定义连接参数
hostname = "hostname"
username = "username"
password = "password"
dbname = "dbname"

# 建立连接
conn = pymysql.connect(
  host=hostname,
  user=username,
  passwd=password,
  db=dbname,
  charset="utf8"
)
执行SQL语句

连接MySQL数据库后,可以使用游标对象进行SQL语句的执行操作。可以通过游标执行insert、update、delete等操作,也可以执行select操作获取数据。

# 获取游标对象
cursor = conn.cursor()

# 执行SQL语句
sql = "select * from user"
cursor.execute(sql)

# 获取查询数据
results = cursor.fetchall()
for row in results:
  username = row[1]
  password = row[2]
  # do something with the data

# 提交更改
conn.commit()

# 关闭游标和连接
cursor.close()
conn.close()
使用ORM框架

如果不想使用SQL语句进行数据库操作,也可以使用Python中的ORM框架(例如Django、SQLAlchemy等)进行操作。

from django.db import models

class User(models.Model):
  username = models.CharField(max_length=50)
  password = models.CharField(max_length=50)

使用ORM框架时,可以省略SQL语句,使用Python的面向对象编程进行数据库操作。

# 查询所有User数据
users = User.objects.all()

# 插入新User数据
user = User.objects.create(username="username", password="password")

# 更新指定User数据
user = User.objects.get(id=1)
user.password = "new_password"
user.save()

# 删除指定User数据
user = User.objects.get(id=1)
user.delete()

总之,使用Python的MYSQLdb库,可以方便地连接MySQL数据库并进行SQL语句操作,也可以使用ORM框架进行面向对象编程,实现更为灵活的数据库操作。