python 的mysql 操作

Posted lightandtruth

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 的mysql 操作相关的知识,希望对你有一定的参考价值。

参考文章

import pymysql
import pandas
from IPython.core.display import display

db = pymysql.connect(
    host=localhost,
    port=3306,
    user=root,
    password=root,
    db=test,
    charset=utf8
)

cursor = db.cursor()
sql = "select * from user"
result = cursor.execute(sql)
# result 接收的是总条数 是一个 int 值
print(result)

data = cursor.fetchone()
# print(data)

# fet**  系列的方法 是提取结果,不是拷贝
resultSet = cursor.fetchall()

print(resultSet)

for i in resultSet:
    print(i)

print(len(resultSet))

print(resultSet[0])

resultSet2 = cursor.fetchall()

print(resultSet2)

for i in range(len(resultSet)):
    print(i)
    print(resultSet[i])

cursor.execute(sql)
resultSet = cursor.fetchall()

for a,b,c in resultSet:
    print(" 我的名字是{} ,编号是 {} , 这是我的密码{}".format(b,a,c))

# 用表格显示
df1 = pandas.read_sql(sql,db)
display(df1)

sqlinsert = insert into user (uname,pwd)values ("牛魔王","123123")

try:
    cursor.execute(sqlinsert)
    db.commit()
except:
    print("insert failed")
    db.rollback()
sqlinsert2 = insert into user (uname,pwd)values (%s,%s)
insertdata = [("孙悟空","123456"),("唐僧","123123")]
try:
    cursor.executemany(sqlinsert2,insertdata)
    db.commit()
except:
    print("insertFailed")
    db.rollback()

sqlupdate = update user set pwd=%s where name=%s
try:
    cursor.execute(sqlupdate,[90000,"玉皇大帝"])
    db.commit()
except:
    print("update failed")
    db.rollback()

db.close();

总结:

  • 第一: display() 函数来自 ipython ,注意导包
  • 第二:result = cursor.execute(sql)
    •   result 值的为 查询的结果数
  • 第三:resultSet = cursor.fetchall()
    •   提取结果
  • 第四:(%s,%s) 用于匹配给的数据,s 表示字符串
  • 第五: for 语句的给了三种用法
    •   直接 用 in 关键字,匹配一条结果(或子元素)
    •         range(int a)  给出迭代范围  0~a
    •        a,b,c in resultSet  a,b,c 按顺序匹配
  • 第六:pymysql 默认事务是开启的,手动提交

以上是关于python 的mysql 操作的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

部分代码片段

Python操作Mysql实例代码教程在线版(查询手册)_python

python 有用的Python代码片段

Python 向 Postman 请求代码片段

linux中怎么查看mysql数据库版本