Python中pymysql基本使用
Python中pymysql模块通过获取mysql数据库命令行游标执行数据库命令来进行数据库操作
优点:操作数据库语句所见即所得,执行了什么数据库语句都很清楚
缺点:操作繁琐,代码量多
1. pymysql的基本使用
# -*- coding:utf-8 -*-
# Author:Wong Du import pymysql # 创建链接,相当于建立一个socket
conn = pymysql.Connection(host='10.0.0.100', port=3306, user='root', passwd='123456', db='testdb') # 建立游标,相当于进入 mysql> 命令操作界面
cursor = conn.cursor() # 建表,和mysql命令行操作一样
try:
create_table = cursor.execute('''create table student(
id int not null primary key auto_increment,
name char(32) not null,
register_date date not null DEFAULT "2018-05-09" );
''')
except pymysql.err.InternalError as e:
# print(type(e))
print("\033[31;1m%s; Do nothing...\033[0m" %e) # 插入数据
insert = cursor.execute('insert into student (name,register_date) values("junry", "2017-03-14");')
insert2 = cursor.execute('insert into student (name,register_date) values("hongfa", "2015-03-14");')
insert3 = cursor.execute('insert into student (name,register_date) values("jinglin", "2016-03-14");') # 查看表数据
select = cursor.execute('select * from student;')
for line in cursor.fetchall():
print(line) # 修改表数据
update = cursor.execute('update student set name="junwei" where id=1')
select2 = cursor.execute('select * from student;')
print(cursor.fetchone()) # 删除表数据
delete = cursor.execute('delete from student;')
select3 = cursor.execute('select * from student;')
if cursor.fetchall():
print(cursor.fetchall())
else:
print("This is a empty table...") # 提交
conn.commit() cursor.close() # 关闭游标
conn.close() # 关闭连接 # 等等 等等。。。
循环插入数据
# -*- coding:utf-8 -*-
# Author:Wong Du import pymysql # 建立连接
conn = pymysql.Connect(host='10.0.0.100', port=3306, user='root', passwd='123456', db='testdb') # 创建游标
cursor = conn.cursor() # 循环插入列表
many_list = [
('zhangsan', '2011-11-11'),
('lisi', '2012-11-11'),
('wangwu', '2022-10-09'),
] # 循环插入(插入多条内容)
cursor.executemany("insert into student (name, register_date) VALUE(%s, %s);", many_list) # 修改游标位置
cursor.scroll(1, mode='relative') # 相对移动,默认为relative
cursor.scroll(1, mode='absolute') # 绝对移动 # fetchone()获取一行数据、fetchmany(num)获取指定行数据、fetchall()获取所有行数据
cursor.execute("select * from student;")
for line in cursor.fetchall():
print(line) # 清楚student表的数据
cursor.execute("delete from student;") # 提交
conn.commit() cursor.close() # 关闭游标
conn.close() # 关闭连接
Python中pymysql基本使用的更多相关文章
- python中pymysql使用
python中pymysql使用 https://blog.csdn.net/johline/article/details/69549131 import pymysql # 连接数据库 conne ...
- Python中pymysql模块详解
安装 pip install pymysql 使用操作 执行SQL #!/usr/bin/env pytho # -*- coding:utf-8 -*- import pymysql # 创建连接 ...
- python中pymysql executemany 批量插入数据
import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- python中pymsql常用方法(1)
python中pymysql模块常用方法以及其使用 首先我们知道pymysql 是python中操作数据库的模块 使用步骤分为如下几步: 1.与数据库服务器建立链接 conn=pymysql.Co ...
- python之pymysql模块学习(待完善...)
pymysql介绍 pymysql是在python3.x版本中用于连接mysql服务器的一个库.python2中则使用mysqldb. 安装方法: pip install pymysql 使用实例: ...
- Python中的SQLAlchemy
在Python中,使用SQLAlchemy可以对数据库进行操作. SQLAlchemy是Python中的一个标准库. 要使用SQLAlchemy,首先要创建连接: url = mysql+pymysq ...
- python的pymysql使用方法【转】
前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.6.6.m ...
随机推荐
- STM32中AD采样的三种方法分析
在进行STM32F中AD采样的学习中,我们知道AD采样的方法有多种,按照逻辑程序处理有三种方式,一种是查询模式,一种是中断处理模式,一种是DMA模式.三种方法按照处理复杂方法DMA模式处理模式效率最高 ...
- 单片机stm32零基础入门之--初识STM32 标准库
CMSIS 标准及库层次关系 因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难.为了解决不同的芯片厂商生产的Co ...
- numpy中的nan和常用方法
1.数组的拼接 import numpy as np t1 = np.array([[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]) t2 = np.array([ ...
- PriorityQueue(优先队列)
PriorityQueue 翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆顶为最小值. PriorityQueue 一个基于优先级的无界优先级队列. ...
- 【BZOJ-2199】奶牛议会
链接: BZOJ-2199 题意: 给出 \(n(1\leq n\leq 1000)\) 个点,\(m(1\leq m\leq 4000)\) 个形如:"点 \(a\) 取 \(ca\) 或 ...
- 云效Flow如何实现阿里云ECS多环境发布
一.背景 云效Flow基于标签功能实现阿里云ECS多环境发布,在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境.测试团队的测试环境.还有类生产环境和生产环境 ...
- ubuntn 一直循环登录界面 (卸载nvidia驱动)
由于在Ubuntu下安装了Nvidia显卡驱动后开机一直处于循环登录界面,密码输入正确也是进不去,然后就决定卸载Nvidia显卡驱动.首先是在能使用tty1登录的情况下,使用 $ sudo apt-g ...
- hdu 4786 Fibonacci Tree (最小、最大生成树)
题意: N个点,M条边.每条边连接两个点u,v,且有一个权值c,c非零即一. 问能否将N个点形成一个生成树,并且这棵树的边权值和是一个fibonacii数. (fibonacii数=1,2,3,5,8 ...
- IDEA升级开源框架
在开发过程中,我们经常会用到一些 GitHub或者Gitee上的开源框架来快速搭建我们的业务系统,但是当框架被我们大批量修改后,开源框架又有升级了.这时候升级框架就变得很麻烦,也不能直接直接进行合并, ...
- Swift进阶-内存管理
本文的主要目的是探索 RefCount 的内存结构及强/弱引用计数管理 Swift 中也是采用 ARC 编译器自动内存管理机制. Swift 对象的内存结构是 HeapObject, 有两个属性 Me ...