目录索引
我们可以利用pymysql的模块,来将pycharm与mysql之间进行有效的连接。
基础步骤:
1. 导包:
import pymysql
注意: python的文件是不可以用pymysql来命名的
2. 创建连接对象:
conn = pymysql.connect(
host = "localhost"#主机地址
port = 3306#端口号,3306就是数据库对应的端口,这里是整数不是字符串
user = "root"#用户名
password = "密码"#输入数据库密码
database = "使用数据库的名称"#使用的数据库
charset = "utf8"#编码格式,注意不要加横杠,就是utf8
)
至少传6个参数,是在小括号里面传入
3. 获取游标,目的就是执行SQL语句:
游标相当于是一辆在pycharm和mysql中运输数据的小车,我们把sql语句作为货物搬到小车上,通过对游标进行相关操作
cursor = conn.cursor()
4. 写SQL语句:
之前在Mysql中如何编写sql语句,在python中一样怎么编写
#举个例子:
sql = "insert into students(name,age) values (%s,%s)"
#进行部分列数据插入,记得在这里变量要使用%s占位符进行占位,后面用列表传参。值之间要用逗号隔开
5. 执行SQL语句:
cursor.execute(sql,[...])
6. 提交数据:
对数据表进行增删改查,还需要提交数据到数据库才能起效。没提交数据之前,数据都是存储在缓冲区的,一旦数据发生意外,数据可以回滚。
conn.commit()#将数据修改提交到数据库
数据回滚操作:
#上述基本代码省略
try:
cursor.execute(sql)
conn.commit()
except Exception as e:
#一旦发生异常,对数据进行回滚,回到没有发生之前的状态。
conn.rollback()
7. 关闭游标:
先关小的,再关大的。
cursor.close()
8. 关闭连接:
conn.close()
查询结果:
要想在python中看到运行的结果,需要使用fetchone()函数才能看到
row = cursor.fetchone()
print(row)
返回的数据类型是像这样一个元组
实例演示:
import pymysql
conn = pymysql.connect(
host="localhost",
port= 3306,
user="root",
password="chen20030925",
database = "test",
charset= "utf8"
)
#创立游标
cursor = conn.cursor()
sql = "select * from students"
#执行语句
cursor.execute(sql,["小黑",55])
#提交数据
conn.commit()
row = cursor.fetchone()
print(row)
cursor.close()
conn.close()