pymysql连接数据库
一、pymysql的相关参数及方法
1.pymysql.connect()参数说明:(连接数据库时需要添加的参数)
| 参数 | 类型 | 描述 |
|---|---|---|
| host | str | MySQL服务器地址,IP地址或域名 |
| port | int | MySQL服务器端口号 |
| user | str | 用户名 |
| passwd | str | 密码 |
| db | str | 数据库名称 |
| charset | str | 连接编码 |
2.connect()对象支持的方法
| 方法 | 描述 |
|---|---|
| cursor() | 使用该连接创建并返回游标 |
| commit() | 提交当前事务 |
| rollback() | 回滚当前事务 |
| close() | 关闭连接 |
3.cursor()支持的方法
excute():执行一个数据库的查询命令
excutemany():重复执行一个sql命令
fetchall():接收全部的返回结果
fetchone():接收一条结果
fetchmany():获取size行结果
rowcount():返回数据条数
close():关闭游标对象
二、案例
import pymysql
config={
'host':'127.0.0.1',
'port':3306,
'user':'root',
'passwd':'root',
}
#连接数据库
conn=pymysql.connect(**config)
conn.autocommit(1)
#获取游标对象
cursor=conn.cursor()
try:
#创建数据库
DB_NAME='test1'
cursor.execute('drop database if exists %s' %DB_NAME)
cursor.execute('create database if not exists %s'%DB_NAME)
conn.select_db(DB_NAME)
#创建表
TABLE_NAME='user'
cursor.execute('create table %s(id int primary key,name varchar(30))'%TABLE_NAME)
#批量插入数据
values=[]
for i in range(20):
values.append((i,"kk"+str(i)))
cursor.executemany('insert into user values(%s,%s)',values)
#查询数据条目
count=cursor.execute('select * from %s'%TABLE_NAME)
print('total records:',cursor.rowcount)
#获取表名信息
desc=cursor.description
print("%s,%3s"%(desc[0][0],desc[1][0]))
cursor.scroll(10,mode='absolute')
results=cursor.fetchall()
print("test")
for result in results:
print(result)
except:
import traceback
traceback.print_exc()
conn.rollback()
finally:
cursor.close()
pymysql连接数据库的更多相关文章
- pymysql连接数据库,读取表内容
python中有MySQLdb.pymysql等数据库模块,本文用pymysql模块连接mysql数据库,并且读取数据库表 看过其他博文的介绍,把程序和数据库比作两个目的地,将游标比喻成运输货车 很是 ...
- Python通过pymysql连接数据库并进行查询和更新SQL方法封装
1.通过pymysql连接数据库并进行数据库操作2.查询数据3.更新修改SQL方法封装 import pymysql.cursors import json class OperationMysql: ...
- python + pymysql连接数据库报“(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)")”
python + pymysql连接数据库报"(2003, "Can't connect to MySQL server on 'XXX数据库地址' (timed out)&quo ...
- Python3出现"No module named 'MySQLdb'"问题-以及使用PyMySQL连接数据库
Python3 与 Django 连接数据库,出现了报错:Error loading MySQLdb module: No module named 'MySQLdb'.原因如下:在 python2 ...
- Python+request 使用pymysql连接数据库mysql的操作《十》
使用指南.pymysql支持python2.7同时也支持python3.x.当前我用的是python2.7.所以过断选择了pymysql的使用,这里注意几点.一般我们连接数据库为了安全起见,都会要求按 ...
- pymysql连接数据库,实现数据库增删改查
1.数据库连接 # 创建连接 def create_conn(): import pymysql conn = pymysql.connect( host='localhost', port=3306 ...
- Python+request 使用pymysql连接数据库mysql的操作,基础篇《十一》
笔记记录: (1)pymysql中所有的有关更新数据(insert,update,delete)的操作都需要commit,否则无法将数据提交到数据库,既然有了commit(),就一定有对应的rollb ...
- navicat使用、pymysql连接数据库
内容回顾 select distinct 字段1,字段2,... from 表名 where 分组之前的过滤条件 group by 分组条件 having 分组之后过滤条件 order by 排序字段 ...
- python pymysql连接数据库并创建表
之前看菜鸟教程 #!/usr/bin/python3 import pymysql # 打开数据库连接 db = pymysql.connect("localhost"," ...
随机推荐
- 符号变换引擎(Symbol Transform Engine - STE)
在写编译器的过程中.我意识到编译事实上是一种符号变换,比方C语言编译成机器码,事实上是C源代码文件里的符号变换成EXE的16进制符号,这和中文翻译成英语的语言翻译器没什么差别. 每一个程序猿都有自己喜 ...
- stack、queue实现
//SGI STL以deque作为缺省情况下的stack底部结构,stack没有迭代器,不提供遍历功能 //queue的实现类似stack,也是以deque作为缺省底层结构 template < ...
- 从hbase读取数据优化策略和实验对照结果
起因:工作须要.我须要每5分钟从hbase中.导出一部分数据,然后导入到ES中.可是在開始阶段编写的python脚本,我发现从hbase读取数据的速度较慢,耗费大量的时间.影响整个导数过程,恐怕无法在 ...
- lua的函数初识
学习到Lua的函数.认为有必要记下来. 參考教程:Programming in Lua 函数能够以表达式或陈述语句出现,例如以下所看到的: print(8*9, 9/8) a = math.sin(3 ...
- easyUI中的layout
Layout 通过$.fn.layout.defaults能够重写Layout. layout是一个具有五个区域的容器.仅仅有中间区域面板是必须的,其余的都是边界面板.每个边界面板都能够通过拖动它的边 ...
- 用JavaScript截图
用JavaScript截图 使用JavaScript截图,这里我要推荐两款开源组件:一个是Canvas2Image,它可以将Canvas绘图编程PNG/JPEG/BMP的图像:但是光有它还不够,我 ...
- LeetCode 8. String to Integer (atoi) (字符串到整数)
Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...
- click事件触发也有失灵的时候?
今天做了个手机页面,点击某个按钮->弹出菜单,再点击菜单以外的任意位置->关闭菜单,在其他浏览器里面没有问题,但是在IOS浏览器中并不会关闭. 网上解决这个bug的帖子很多,这篇帖子主要是 ...
- 【Codevs1288】埃及分数
Position: http://codevs.cn/problem/1288/ Description 在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数. 如:2/3=1/ ...
- [Apple开发者帐户帮助]六、配置应用服务(5.1)推送通知(APN):使用身份验证令牌与APN通信
您可以使用一个APN签名密钥为多个应用程序验证令牌.签名密钥适用于开发和生产环境.签名密钥不会过期,但可以撤消. 首先在Xcode项目中启用推送通知.接下来创建并下载启用了APN 的私钥. 然后获取密 ...