设为首页 加入收藏

TOP

Python 操作 MySQL 数据库(一)
2019-08-15 00:07:19 】 浏览:38
Tags:Python 操作 MySQL 数据库

 

使用示例:

import pymysql  #python3
conn=pymysql.connect(host="localhost",port=3306,user="root",password="abcd",database="bank",charset="utf8")  #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql)   #不论增删查改,result都是受影响的记录数,int型
for row in cursor:   #遍历结果集
    print(row)  #输出一条记录,元组形式
    print(row[0])  #输出记录中的某个字段
cursor.close()
conn.close()

 

 

提取一条记录:

import pymysql  #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")  #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql)
print(cursor.fetchone())  #提取并返回一条记录,指针会自动后移。最初指针指向第一条之前。第一条
print(cursor.fetchone())  #第二条。元组形式。
print(cursor.fetchone()[0])  #一个字段,不能使用字段名,只能使用索引
cursor.close()
conn.close()

 

 

提取多条记录:

import pymysql  #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")  #字符集不是必须的
cursor = conn.cursor()
sql="select * from user_info"
result=cursor.execute(sql)
print(cursor.fetchmany(2))   #提取指定的条数,指针会自动后移。只要是提取,指针都会自动后移。
for row in cursor:  #cursor中是从第三行开始的记录
    print(row)
#fetchmany()返回值是嵌套的元组形式。  ((1, 'chy', 200.0), (2, 'zhangsan', 200.0))。一个元素即一条记录。
#fetchall()是提取结果集的所有记录
#cursor存放结果集,提取就是把一些记录从cursor中提取出来(从cursor中拿出来,cursor中不再有这些记录了)
cursor.close()
conn.close()

 

 

设置sql语句参数:

import pymysql  #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")  #字符集不是必须的
cursor = conn.cursor()
id=1
name="chy"
# sql="select * from user_info where id=%d and name='%s'"%(id,name) #如果是字符串,%s要加引号 sql="select * from user_info where id={} and name='{}'".format(id,name) #如果是字符串,{}也要加引号
result=cursor.execute(sql)
print(cursor.fetchall())   #提取结果集中所有的记录数
cursor.close()
conn.close()

 

 

 

插入一条记录:

import pymysql  #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")  #字符集不是必须的
cursor = conn.cursor()
id=3
name="wangwu"
money=100
sql="insert into user_info (id,name,money) values (%d,'%s',%d)"%(id,name,money)  #如果是字符串,占位的要加引号
result=cursor.execute(sql)  #增删查改都是execute
print(result)  #1   搜相应的记录数
print(cursor.fetchall())  #不会报错,空元组
conn.commit()  #需要提交才会同步到数据库。缺少此句代码,不会同步到数据库。
cursor.close()
conn.close()

 

 

增删改的操作类似,注意增删改都需要conn.commit()才会提交到数据库。

 

 

 

另一种设置参数的方式:

import pymysql  #python3
conn=pymysql.connect(host="localhost",user="root",password="abcd",database="bank",charset="utf8")
cursor = conn.cursor()
sql="insert into user_info (id,name,money) values (%s,%s,%s)" #如果是在execute()中注入数据,不管是什么类型,都必须写成%s,且不能加引号 result=cursor.execute(sql,(5,"name"
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python 常用的标准库 下一篇Python爬取猫眼电影排行

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目