import pymysql
#连接数据库,port必须是int型,字符编码是utf8,不能是utf-8,password必须是字符串
conn = pymysql.connect(host='数据库ip',user='user1',password='',
db='db_name',port=3306,charset='utf8',autocommit=True)#建立连接
cur= conn.cursor()#建立游标,可以把游标当作仓库管理员 cur.execute('show tables;')#只是帮你执行sql语句
print(cur.fetchall())#获取sql语句执行的结果
sql1="select * from app_student limit 5;"
cur.execute(sql1)
print(cur.fetchall())#取所有数据
sql2="select * from app_student where name='smh'"
cur.execute(sql2)
print(cur.fetchone())#只取一条,若返回结果有多条,只取第一条
sql3="select * from app_student where name ='hhh'"
cur.execute(sql3)
print(cur.fetchmany(3))#取几条
sql4="insert app_student ( `name`, `sex`, `age`, `addr`, `grade`, `phone`, `gold`) " \
"values ( 'test', 'girl', '18', 'beijing', 'jxz', '13121211111', '100');"
cur.execute(sql4)
conn.commit()
#提交,update、delete、insert这些修改数据库的语句,执行需要commit才能成功
#在connect中添加autocommit=True则自动提交 cur.close()#关闭游标
conn.close()#关闭连接,使用完了要关连接,不然会占数据库

将sql执行返回结果转为字典格式:

import pymysql
#连接数据库,port必须是int型,字符编码是utf8,不能是utf-8,password必须是字符串
conn = pymysql.connect(host='118.24.3.40',user='jxz',password='',
db='jxz',port=3306,charset='utf8',autocommit=True)#建立连接
cur=conn.cursor(pymysql.cursors.DictCursor)#传一个游标类型,可展示为字典
sql5= "select * from app_student where name='hhh'"
cur.execute(sql5)
print(cur.fetchmany(3))
cur.close()
conn.close() 结果为:
[{'id': 328, 'name': 'hhh', 'sex': 'girl', 'age': 18, 'addr': '河南省济源市北海大道32号', 'grade': '天蝎座', 'phone': '', 'gold': 100},
{'id': 345, 'name': 'hhh', 'sex': 'girl', 'age': 18, 'addr': '河南省济源市北海大道32号', 'grade': '天蝎座', 'phone': '', 'gold': 100},
{'id': 347, 'name': 'hhh', 'sex': 'girl', 'age': 18, 'addr': '河南省济源市北海大道32号', 'grade': '天蝎座', 'phone': '', 'gold': 100}]

将连接数据库写为方法

import pymysql

def op_mysql(host,user,password,db,sql,port=3306,many_tag=False):#mang_tag是标识返回数据
conn = pymysql.connect(host=host,user=user,password=password,db=db,port=port,charset='utf8',autocommit=True)
cur = conn.cursor(pymysql.cursors.DictCursor)
cur.execute(sql)
if many_tag:#有
result = cur.fetchall()
else:
result = cur.fetchone()
cur.close()
conn.close()
return result

Python 连接数据库 day5的更多相关文章

  1. python笔记 - day5

    python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...

  2. Python学习day5作业

    目录 Python学习day5作业 ATM和购物商城 1. 程序说明 2. 基本流程图 3. 程序测试帐号 4. 程序结构: 5. 程序测试 title: Python学习day5作业 tags: p ...

  3. python连接数据库问题小结

    在使用python连接数据库的时候遇到了这个问题: 大概意思就是在django的setting.py中配置的用户名和密码报错. 主要就是修改setting.py的配置 其中在里边的name和user项 ...

  4. 3.Python连接数据库PyMySQL

    1.安装PyMySQL,输入命令:pip3 install PyMySQL 2.使用Navicat,创建数据库:TESTDB,表:EMPLOYEE,字段:FIRST_NAME,LAST_NAME,AG ...

  5. 数据测试001:利用python连接数据库插入excel数据

    数据测试001:利用python连接数据库插入excel数据 最近在做数据测试,主要是做报表系统,需要往数据库插入数据验证服务逻辑,本次介绍如何利用python脚本插入Oracle和Mysql库中: ...

  6. python连接数据库自动发邮件

    python连接数据库实现自动发邮件 1.运行环境 redhat6 + python3.6 + crontab + Oracle客户端 2.用到的模块  3.操作步骤 (1)安装python3.6参考 ...

  7. Python连接数据库流行用到的第三方库

    Python连接数据库流行用到的第三方库: mysqldb:只支持Python2.x mysqlclient : mysqldb的衍生版本,完全兼容mysqldb,同时支持Python3.x,安装较复 ...

  8. Windows下Python连接数据库(mysql, mongodb)

    一 实验平台 1 os: win7 64位旗舰版sp1 2 python: 2.7.10 x64 二 连接数据库 1 连接 mysql数据库 (1)下载mysql(5.6.25-winx64) 建议下 ...

  9. python连接数据库使用SQLAlchemy

    参考python核心编程 ORM(Object Relational Mapper),如果你是一个更愿意操作Python对象而不是SQL查询的程序员,并且仍然希望使用关系型数据库作为你的后端,那么你可 ...

随机推荐

  1. Java---15---单例设计模式:---饿汉式和懒汉式

    概念: 单例模式确保某个类仅仅有一个实例.并且自行实例化并向整个系统提供这个实例.   单例模式有下面特点: 1.单例类仅仅能有一个实例 2.单例类必须自己给自己创建自己的唯一实例 3.单例类必须给全 ...

  2. html 转word

    今日头条发表文章 python-docx — python-docx 0.8.6 documentation http://python-docx.readthedocs.io/en/latest/

  3. [JSOI 2010] 满汉全席

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1823 [算法] 2-SAT [代码] #include<bits/stdc++ ...

  4. bzoj2841

    边双联通分量 具体详解蓝书上十分详细,因为必须是奇数个人坐在一起,那么一个人如果能选上,就必须处在一个简单奇圈中.而奇圈也是一个边双联通分量,所以我们先把边双联通分量都挖出来,然后进行二分图染色. 奇 ...

  5. openStack aio 测试

  6. Linux必知必会的目录结构

    1.目录结构 /bin 二进制文件 命令 /sbin 超级命令 只有root用户可以使用 /boot 系统的引导文件 系统内核 /dev 设备文件 光盘 硬盘分区 /etc 系统配置文件 /home ...

  7. App设计师常用的10大网页和工具大盘点

    1.Adobe Photoshop 老牌的设计工具,不用解释 2.Adobe Illustrator 同上,不解释 3.Balsamiq Mockup 网址:http://balsamiq.com/ ...

  8. php实现下载

    PHP实现下载文件的两种方法.分享下,有用到的朋友看看哦. 方法一: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php /** * 下载文件 * ...

  9. codevs3728联合权值(LCA)

    3728 联合权值  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 输入描述 Input Des ...

  10. 关于postman软件的安装与使用

    1.这个软件是一个模拟发请求的软件 2.这个软件和这个网站的 json 格式数据有着很好的关系  https://www.json.cn/ 他能帮助我们分解代码, 3.在使用(修改的)过程中发现了一个 ...