pymysql连接数据库,实现数据库增删改查
1.数据库连接
# 创建连接
def create_conn():
import pymysql
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='root',
database='py',
charset='utf8'
)
# 得到一个可以执行SQL语句并且将结果作为字典返回的游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
return conn, cursor
# 关闭连接
def close_conn(conn, cursor):
# 关闭光标对象
cursor.close()
# 关闭数据库连接
conn.close()
2.增
# 单条插入数据
def InsertOneDB(sql, data):
conn, cursor = create_conn()
cursor.executemany(sql, data)
conn.commit()
close_conn(conn, cursor) sqlInsertOneDB = "insert into user444 (name,age) values (%s,%s);"
data = [('john', 26)]
InsertOneDB(sqlInsertOneDB, data)
# 批量添加数据
def InsertManyDB(sql, data):
conn, cursor = create_conn()
cursor.executemany(sql, data)
conn.commit()
close_conn(conn, cursor) data = [
('apollo', ''),
('jack', ''),
('merry', '')
]
sql = 'insert into user444(name,age) values(%s,%s);'
InsertManyDB(sql, data)
3.删
# 删除数据
def DeleteOneDB(sql, data):
conn, cursor = create_conn()
print(sql)
cursor.execute(sql, data)
conn.commit()
close_conn(conn, cursor) # 定义将要执行的SQL语句
sql = "delete from user333 where name=%s;"
data = [("apollo11")]
DeleteOneDB(sql, data)
4.改
# 更改数据
def UpdataOneDB(sql, data):
conn, cursor = create_conn()
print(sql)
cursor.execute(sql, data)
conn.commit()
close_conn(conn, cursor) sql = "update user333 set name=%s where name=%s;"
data = ['Lily', 'jack11']
UpdataOneDB(sql, data)
5.查
# 查询数据
def SelectDB(sql, action, limit=None):
conn, cursor = create_conn()
cursor.execute(sql)
if action == 'fetchone':
ret = cursor.fetchone() # 取一条
elif action == 'fetchmany' and limit != None:
ret = cursor.fetchmany(limit) # 取三条
else:
ret = cursor.fetchall() # 取全部
for item in ret:
print(item)
close_conn(conn, cursor) # 执行查询的sql语句
sql = "select name,age from user333;"
# action可选值:fetchone,fetchmany,fetchall
# fetchmany必须提供limit参数
action = 'fetchmany'
# 取数据库前3条数据
SelectDB(sql, action, 3)
# fetchall取所有数据
SelectDB(sql, action)
# fetchone取一条数据
SelectDB(sql, action)
6.创建表SQL
create table userinfo(
id int auto_increment primary key ,
name varchar(32) not null unique ,
age int(2)
)engine =innodb default charset = utf8;
#注意:charset='utf8' 不能写成utf-8
pymysql连接数据库,实现数据库增删改查的更多相关文章
- 使用django连接数据库 对数据库 增删改查
如果路由访问的时候出现 就把项目中的注释掉 登录功能 1 路由访问如果不加斜杠 会内部自动重定向加斜杠的路由 所有的静态文件(css,js,前端第三方类库)默认都放在static文件下 #静态文件配置 ...
- pyhton 自动化pymysql操作mysqldb数据库增删改查封装
# coding=utf-8 import pymysql import os import configparser """ /* @:param: python ve ...
- go——beego的数据库增删改查
一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- mongodb 数据库 增删改查
mongodb 数据库 增删改查 增: // 引入express 模块 var express = require('express'); // 路由var router = expr ...
- NX二次开发-NX访问SqlServer数据库(增删改查)C#版
版本:NX9+VS2012+SqlServer2008r2 以前我写过一个NX访问MySQL数据库(增删改查)的文章https://www.cnblogs.com/nxopen2018/p/12297 ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查
一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...
随机推荐
- Cookie的增删改查
增加: 第一种方法:Response.Cookies[“UserName”].Value=”张三” Response.Cookies[“UserName”].Expires=DateTime.Now. ...
- Atitit.android jsbridge v1新特性
Atitit.android jsbridge v1新特性 1. Java代码调用js并传参其实是通过WebView的loadUrl方法去调用的.只是参数url的写法不一样而已1 2. 三.JAVA ...
- varnish学习笔记
varnish cache是一款开源的高性能的缓存server.和老牌的Squid对照有例如以下长处. 1:varnish是基于内存缓存数据的,所以处理速度比Squid要快. 2:varnish支持更 ...
- JavaScript之语句
ECMA-262 规定了一组语句(也称为流控制语句).从本质上看,语句定义了 ECMAScript 中的主要语法,语句通常使用一或多个关键字来完成给定任务. if语句 if语句是最常见的一种语句,语法 ...
- composer 初始化办法和方法
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php php -r &qu ...
- 使用NGINX反向代理做小偷站
用Nginx的反向代理可以轻松山寨对方的网站,但是反向代理后的网站还是有对方的绝对链接时,怎么办?所以要用替换链接方法. 1 使用官方的的模块 编译参数–with-http_sub_moduleub_ ...
- Android中makfile的随记
什么是makefile?也许非常多Winodws的程序员都不知道这个东西,由于那些Windows的IDE都为你做了这个工作,但我认为要作一个好的Android底层程序员. makefile还是要懂. ...
- MFC使用自带的MSXML6.dll解析xml(开发环境vc2010)
程序是win32控制台程序 // msxml.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include <iostream> ...
- Razor 3、MVC 5
Razor 3 需要vs 2012 update 4 才可以 需要装一个 Microsoft ASP.NET and Web Tools 2013.1 才会有 MVC 5
- Elasticsearch5.X IN Windows 10 系列文章(3)
系统类型:windows10 64位家庭版 ElasticSearch版本: 5.5.1 (最新稳定版为5.5.2),由于用到IK中文分词插件,最新版本没有5.5.2 ,所以使用5.5.1 日期:20 ...