活动地址:CSDN21天学习挑战赛
我是在PyCharm中操作mysql,因为mysql一直在用,就不记录配置过程了
1、导入pymysql模块
import pymysql
2、创建连接对象
调用pymysql中connect()函数创建连接对象:
conn = pymysql.connect(参数列表)
connect()参数说明:
host:连接的mysql主机,如果本机是localhost
port:连接的mysql主机的端口,默认是3306
database:数据库的名称
user:连接的用户名
password:连接的密码
charset:通信采用的编码方式,一般使用utf8
游标对象:
cur = conn.cursor():获取游标对象
execute(operation [parameters]):使用游标执行SQL语句,返回受影响的行数,主要用于执行insert、update、delete、select等语句,也可以执行create、alter、drop等语句
cur.fetchone():获取查询结果集中的一条数据,返回一个元组,如(1,张三)
curfetchall():获取查询结果集中的所有数据,返回一个元组,如((1,张三),(2,'李四"))
cur.close():关闭游标,表示和数据库操作完成
3、获取游标对象
cursor = conn.cursor()
4、编写sql并执行
这是一个查询操作,不用commit
sql = "select id,username,password from users"
cursor.execute(sql)
5、获取一条或多条数据并关闭游标及连接
取全部数据
result = cursor.fetchall()
print(result)
cursor.close()
conn.close()
执行结果为:
如果只取一条数据,将以上第一行fetchall()改为fetchone()即可
6、增删改操作
影响数据库数据的操作都要进行commit操作即conn.commit()来提交数据
有时还用上撤销操作conn.rollback()
示例
# 增加操作
sql = "insert into users(name) values('lsp')"
=
try:
# 执行sql语句
cursor.execute(sql)
# 增删改都必须提交数据
conn.commit()
except:
# 如果报错就对修改的数据进行撤销,表示数据回滚
conn.rollback()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
注:最后都要记得关闭游标和连接