mySQL之pymysql的使用

代码示例

import pymysql

conn = pymysql.connect(host='localhost', user='root', password='root', database='day47')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
sql0 = 'select * from userinfo;'
rows = cursor.execute(sql0, ('quincy', 123))
sql = 'insert into userinfo(name,password) values(%s,%s)'
rows = cursor.executemany(sql, [('quincy', 123), ('quincy', 123)])
sql = 'insert into userinfo(name,password) values(%(u)s,%(p)s)'
rows = cursor.execute(sql, {'u': 'quincy', 'p': 123})

# result = cursor.fetchone()
cursor.scroll(1, 'absolute')
print(cursor.fetchone())
cursor.scroll(1, 'relative')
print(cursor.fetchone())
print(cursor.fetchmany(7))
print(cursor.lastrowid)
# print(result)
conn.commit()
cursor.close()
conn.close()

重点代码

1.

cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

指定数据返回的方式,默认为元组,加入cursor=pymysql.cursors.DictCursor返回字典
2.

cursor.execute(sql,('num1','num2'))
2.1. 传值时必须是字典,元组或者列表类型
2.2. 不要自己拼接字符串,防止sql注入

3.

cursor.scroll(1,'absolute')
cursor.scroll(1,'relative')

absolute的位置指从第一条记录开始;
relative的位置指当前的位置。
4.

cursor.lastrowid

获取最新一条记录的id,其实也是数据库最后一条~
5.

cursor.fetchone()

游标会跟着移动一个,如果要重新获取已经获取过的值,需要调用scroll方法~
6.

conn.commit()

pymysql需要提交一下,才能真正入库!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以通过pymysql模块来连接MySQL数据库,具体步骤如下: 1. 安装pymysql模块 可以通过以下命令来安装pymysql模块: ``` pip install pymysql ``` 2. 连接MySQL数据库 可以使用以下代码来连接MySQL数据库: ``` import pymysql # 打开数据库连接 db = pymysql.connect("host", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 cursor.execute("SELECT VERSION()") # 使用 fetchone() 方法获取单条数据. data = cursor.fetchone() print("Database version : %s " % data) # 关闭数据库连接 db.close() ``` 其中,host为MySQL服务器地址,username为MySQL登录用户名,password为MySQL登录密码,database为要连接的数据库名称。以上代码连接成功后,输出数据库版本号。 3. 执行SQL语句 可以使用execute()方法来执行SQL语句,例如: ``` import pymysql # 打开数据库连接 db = pymysql.connect("host", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 执行SQL语句 sql = "SELECT * FROM books" cursor.execute(sql) # 获取所有数据 results = cursor.fetchall() for row in results: id = row[0] title = row[1] author = row[2] price = row[3] print("id=%d,title=%s,author=%s,price=%f" % (id, title, author, price)) # 关闭数据库连接 db.close() ``` 以上代码执行了一个查询语句,查询books表中的所有数据,并输出到控制台。 4. 插入数据 可以使用execute()方法来执行插入数据的SQL语句,例如: ``` import pymysql # 打开数据库连接 db = pymysql.connect("host", "username", "password", "database") # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 插入数据 sql = "INSERT INTO books (title, author, price) VALUES ('Python编程', '张三', 29.99)" cursor.execute(sql) # 提交事务 db.commit() # 关闭数据库连接 db.close() ``` 以上代码向books表中插入了一条数据,提交事务后关闭数据库连接。 以上是使用Python连接MySQL数据库的简单示例,可以根据实际需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值