浅谈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官方文档。
示例代码:
- 连接到MySQL数据库:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="test"
)
print(mydb)
- 插入数据:
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.")