一、使⽤Connect⽅法连接数据库
安装pymysql
pip install pymysql
pymysql.Connections.Connection(host=None, user=None, password='',database=None, port=0, charset='')
参数说明:
host – 数据库服务器所在的主机。
user – 登录⽤户名。
password – 登录⽤户密码。
database – 连接的数据库。
port – 数据库开放的端⼝。(默认: 3306)
charset – 连接字符集。
返回值:
返回连接对象
link = pymysql.Connect(host='localhost', port=3306, user='root',password='123456',db='zzl', charset='utf8')
连接中的方法
⽅法 | 说明 |
begin() | 开启事务 |
commit() | 提交事务 |
cursor(cursor=None) | 创建⼀个游标⽤来执⾏sql语句 |
rollback() | 回滚事务 |
close() | 关闭连接 |
select_db(db) | 选择数据库 |
set_charset(charset) | 设置字符集 |
二、创建游标
cursor = link.cursor()
cursor=pymysql.Cursors.DictCursor() #[{}]
print(cursor.rowcount) #打印受影响⾏数
⽅法 | 说明 |
close() | 关闭游标 |
execute(query, args=None) | 执⾏单条语句,传⼊需要执⾏的语句,是string类型; 同时可以给查询传⼊参数,参数可以是tuple、 list或 dict。执⾏完成后,会返回执⾏语句的影响⾏数。 |
fetchone() | 取⼀条数据 |
fetchmany(n) | 取多条数据 |
fetchall() | 取所有数据 |
_executed属性 | 正在执⾏的sql语句 |
lastrowid | 获取新插⼊记录⾃增主键值 |
三、执⾏sql语句
sql = 'select * from user1'
# 执⾏完sql语句,返回受影响的⾏数
num = cursor.execute(sql)
四、获取结果集
result1 = cursor.fetchone()
print(result1)
五、关闭连接
cursor.close()
link.close()
六、事务
pymysql默认是没有开启⾃动提交事务,所以我们如果进⾏增、删、改,就必须⼿动提交或回滚事务
sql = 'delete from user where id=%s' % user_id
# 如果要执⾏增删改语句的时候,下⾯的就是固定格式
try:
cursor.execute(sql)
# 如果全部执⾏成功,提交事务
link.commit()
print(cursor.lastrowid) #获取最后插⼊记录的⾃增id号
except Exception as e:
print(e)
link.rollback()