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‘, ‘28‘),
    (‘jack‘, ‘21‘),
    (‘merry‘, ‘29‘)
]
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

原文地址:https://www.cnblogs.com/apollo1616/p/10268874.html

时间: 2024-08-01 08:59:36

pymysql连接数据库,实现数据库增删改查的相关文章

使用django连接数据库 对数据库 增删改查

如果路由访问的时候出现 就把项目中的注释掉 登录功能 1 路由访问如果不加斜杠 会内部自动重定向加斜杠的路由 所有的静态文件(css,js,前端第三方类库)默认都放在static文件下 #静态文件配置 STATIC_URL = '/static/' #这个是创建项目的时候django已经帮你创建好了 # 静态文件配置 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] # 暴露给外界能够访问服务器静态文件夹下面所有的资源 STATIC_U

Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面进行描述.参考前文: Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门 Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交 Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中 Java+MyE

Java连接MySQL数据库增删改查通用方法

Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类下面写好多方法,要是多个数据库,就要写多个类多个方法,导致代码编写太过于繁琐,所以为了改变这样的繁琐,我将连接数据库的方法进行了一系列的封装,使用户传入一个对象值Object就可以得到想要的. 我在之前写过一篇普通的Java连接MySQL数据库,大家可以看看,以便对比参考之后就知道差距了  数据库--MySQL-->Java篇 接下来我给大家讲讲如何将

go——beego的数据库增删改查

一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也就不怎么存在疑问为什么还要继续安装beego来完成项目运行了,beego其实就是一个快速开发Go应用的http框架,go 语言方面技术大牛,可以用来快速开发API.Web.后端服务等各种应用,是一个RESTFul的框架.再次附上beego的官网(http://beego.me/docs/intro/

php对数据库增删改查操作类

1 <?php 2 3 /** 4 * 函数名称:SqlTool.class.php 5 * 函数功能:php对数据库增删改查操作类 6 * 函数作者:张真贵 7 * 创建时间:2015-01-05 8 * 修改时间: 9 */ 10 header("Content-Type:text/html;charset=utf-8"); 11 class SqlTool{ 12 private $conn; 13 private $host = 'localhost'; 14 priva

【Android】Sqlite数据库增删改查

Android系统内置一个Sqlite数据库,如果app需要使用Sqlite数据库数据库存储数据,Android会为此app生成一个.db文件.这个数据库在data/data/<package_name>/databases里面,其中<package_name>为该安卓app的工程包名,这个目录必须root后才能看到.在Windows,单机的应用程序,存储数据,基本放到一个文件里面,正如游戏的存档,基本就是把当前的游戏状态存到一个用户很难找到的文件里面.每次存档读档就是一个从这个存

(转)SQLite数据库增删改查操作

原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n).char(n).d

Yii2.0高级框架数据库增删改查的一些操作(转)

yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 ----------------------------------------------------------------------------------------------------- User::find()->all();    //返回所有用户数据:User::findOne($id);   //返回 主键 id=1  的一条数

Yii2.0高级框架数据库增删改查的一些操作

yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 ----------------------------------------------------------------------------------------------------- User::find()->all();    //返回所有用户数据:User::findOne($id);   //返回 主键 id=1  的一条数