Python中的数据库连接与查询——使用PyMySQL

使用PyMySQL

连接数据库

pymysql.Connect()

import pymysql
db = pymysql.Connect(
    host="localhost",
    port=3306,
    user="root",
    password="12345",
    db="taobao",
    charset="utf8"
)

  

基础操作:增加、删除、修改、查询

connection对象支持的方法如下:

cursor():使用该连接创建并返回游标

commit():提交当前事务

rollback():回滚当前事务

close():关闭连接

cursor对象支持的方法如下:

execute(op):执行一个数据库的查询命令

fetchone():取得结果集的下一行

fetchmany(size):获取结果集的下几行

fetchall():获取结果集中的所有行

rowcount():返回数据条数或影响行数

close():关闭游标对象

向数据库新增数据:

op = "insert into table_name(column1,column2,...,columnN) values(value1,value2,...,valueN)"

cursor.execute(op)

删除数据库中的数据:

op = “delete from table_name where condition_statement"

cursor.execute(op)

修改数据库中的数据:

op = "update table_name set column1=value1,column2=value2,...,columnN=valueN where condition_statement"

cursor.execute(op)

查询数据库中的数据:

op = "select * from table_name where condition_statement"

cursor.execute(op)

案例:

原始数据:

将原始数据通过NaviCat导入到数据库中。 

连接数据库:

import pymysql
db = pymysql.Connect(
    host="localhost",
    port=3306,
    user="root",
    password="12345",
    db="taobao",
    charset="utf8"
)

 

查询位置在江浙沪的商品销量

cur = db.cursor()
sql = 'SELECT * FROM sale_data WHERE 位置 IN (%s,%s,%s)'
cur.execute(sql,("江苏“,”浙江“,”上海“))
result = cur.fetchall()
for item in result:
    print(item)

  

删除价格低于100元的商品记录

sql = 'DELETE FROM sale_data WHERE 价格 < 100'
cur.execute(sql)
db.commit() #自动提交,保存所执行的语句

  

把位置“江苏”“浙江”“上海”统一改为“江浙沪”

sql = 'UPDATE sale_data SET 位置 = %s WHERE 位置 IN (%s,%s,%s)'
cur.execute(sql,("江浙沪“,”江苏“,”浙江“,”上海“))
db.commit()

  

插入一条新的销售记录

sql = 'INSERT INTO sale_data(商品,价格,成交量,卖家,位置) VALUES(%s,%s,%s,%s,%s)'
cur.execute(sql,("连衣裙“,298,10000,”某店“,”北京“))
db.commit()

  

关闭游标和数据库连接:

cur.close()
db.close()

  

 

原文地址:https://www.cnblogs.com/zhuozige/p/13131200.html