大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

使用pymysql的方法

本文主要给大家简单讲讲使用pyMySQL的方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望使用pymysql的方法这篇文章可以给大家带来一些实际帮助。

成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、成都做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。

PYMYSQL

import pymysql

client = pymysql.connect(
    ip='127.0.0.1',  # IP
    port=3306,  # 端口
    user='root',  # 账号
    password='',  # 密码
    database='t1',  # 库
    charset='utf8'  # 字符编码
)

cursor = client.cursor(pymysql.cursors.DictCursor)  # 拿到游标,将拿到的信息转换成字典

user_info = [
    (3, "alex"),
    (4, "lxx"),
    (5, "yxx")
]
# for user in user_info:
#   sql = 'insert into t1 values(%s,"%s");' % (user[0], user[1])
#   res = cursor.execute(sql)  # 拼接sql语句

还有一种简单的操作可以取代上面的for 循环

增加一条数据到数据库

sql = 'insert into t1 values(%s,"%s")'
cursor.executemany(sql, user_info)

删除一条信息

cursor.execute('delete from t1 where id=3;')

更改信息

cursor.execute('update t1 set password="12345" where name ="lxx";')

查询语句

user_name = input('请输入账号名:').strip()
user_password = input('请输入密码:').strip()

sql = 'select id from user where name=%s and pwd=%s;'
rows = cursor.execute(sql, (user_name, user_password))

if rows:
    print('登陆成功')
else:
    print('账号或者密码错误')

查询语句把结果拿到

sql = 'select id from user where id>3;'
rows = cursor.execute(sql)
print(cursor.fetchall())  # 全部拿到,拿过一次第二次拿就没有
print(cursor.fetchone())  # 拿一条信息
print(cursor.fetchmany(2))  # 拿2条信息

控制指针,有2种方式(这样就可以实现重复读取信息)

cursor.scroll(0, mode='absolute')  # 绝对位置移动(从行首开始)
cursor.scroll(3, mode='relative')  # 相对当前位置移动(相对当前的位置往后移动3条信息)

try:
    cursor.execute(sql)
    cursor.execute(sql)
    cursor.execute(sql)
    client.commit()
except Exception as e:
    client.rollback()  # 回溯, 如果上面的sql语句出现了错误那么就会回溯到没有插入数据的时候

client.commit()  # 要想成功执行SQL语句,必须调用commit插入到数据库
cursor.close()  # 关闭MYSQL客户端

client.close()  # 关闭连接

使用pymysql的方法就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。


分享文章:使用pymysql的方法
当前地址:http://dzwzjz.com/article/gcosjj.html
在线咨询
服务热线
服务热线:028-86922220
TOP