浅谈Python访问MySQL的正确姿势

  • Post category:Python

浅谈Python访问MySQL的正确姿势

MySQL是当前最为流行的开源关系型数据库,而Python是一门十分流行的编程语言。那么如何用Python正确地访问MySQL呢?下面将会为您提供完整的攻略。

安装MySQL驱动

在使用Python访问MySQL之前,需要先安装对应的MySQL驱动。MySQL官方提供了Python的驱动程序,可以通过pip安装,具体命令为:

pip install mysql-connector-python

也可以选择其他驱动,如pymysql等。不过MySQL官方的驱动程序是较为稳定和易用的。

连接到MySQL数据库

MySQL提供了多种方式连接到数据库,包括TCP/IP协议、Unix Socket等。其中,TCP/IP协议是最为常用的方式。可以使用下面的代码连接到MySQL数据库。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

print(mydb)

在代码中,我们使用mysql.connector模块创建了一个MySQL数据库的连接,包含了连接的IP地址、用户名、密码和数据库名称等信息。连接成功后,我们可以通过print(mydb)查看连接信息,例如:

<mysql.connector.connection_cext.CMySQLConnection object at 0x7faba8aa12e0>

如果连接失败,程序将会抛出异常,并提示相应的错误信息。

创建表格

接着,我们需要创建一个表格来存储数据。可以使用以下代码创建一个名为students的表格。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE students (name VARCHAR(255), age INTEGER(10))")

在代码中,我们首先使用connect()方法连接到MySQL数据库。接着,使用cursor()方法创建一个游标对象。之后,使用execute()方法执行创建表格的SQL语句。这条SQL语句指定了表格的名称和列的属性。

插入数据

在创建完表格之后,接下来我们需要往表格中插入数据。可以使用以下代码往students表格中插入数据。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

mycursor = mydb.cursor()

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John", 18)
mycursor.execute(sql, val)

mydb.commit()

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

在代码中,我们首先创建了一个插入数据的SQL语句,并使用execute()方法执行插入操作。接着,使用mydb.commit()语句提交数据。如果不提交数据,数据将不会被写入数据库中。最后,使用rowcount属性获取插入的记录数,并输出结果。

查询数据

最后,我们可以使用以下代码从students表格中查询数据。

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="username",
  password="password",
  database="database_name"
)

mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM students")

myresult = mycursor.fetchall()

for x in myresult:
  print(x)

在代码中,我们使用execute()方法执行SQL语句,并使用fetchall()方法获取所有的查询结果。最后,使用循环遍历查询结果,并输出每一条记录。

以上就是Python访问MySQL的正确姿势的完整攻略。如果您想了解更多MySQL操作的内容,可以参考MySQL官方文档

示例代码:

  1. 连接到MySQL数据库:
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="test"
)

print(mydb)
  1. 插入数据:
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="test"
)

mycursor = mydb.cursor()

sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
val = ("John", 18)
mycursor.execute(sql, val)

mydb.commit()

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