Python3 MySQL 数据库连接,使用 PyMySQL 连接数据库,并实现简单的增删改查。

 mysql连接步骤

  1.打开数据库连接

  2.使用cursor()方法获取操作游标

  3.执行sql和异常处理

  4.关闭游标

游标常用方法

cus.cursor() 创建游标对象

cus.close() 关闭游标对象

cus.fetchone() 得到结果集的下一行

cus.fetchall() 得到结果集剩下的所有行

cus.fetchmany()

cus.execute() 执行一个数据库命令

cus.executemany(sql, args) # sql 必须是字符串类型 ,args 是一个集合

import pymysql

def connect_mysql():                # 创建一个包含connect方法参数的函数
    db_config = {
        'host':'127.0.0.1',
        'port':3306,
        'user':'citizenwang',
        'password':'yourpassword',
        'db':'python',
        'charset':'utf8mb4'        # charset 可以只写 utf8,注意不是 utf-8
    }
    try:
        cms = pymysql.connect(**db_config)   # 创建一个 pymysql 链接对象,并赋值给 变量 cms
    except Exception as e:
        print(e)
    return cms

if __name__ == '__main__':
    number = []
    for i in range(1,100):
        number.append(i)                              # 创建一个包含 1 到 99 的列表
    insert_sql = 'insert into test(id) value(%s);'    # 执行插入语句,将 number 插入列表
    select_sql = 'select * from test;'                # 选择所有的表内容
    db = connect_mysql()                              # 创建一个 PyMySQL 数据库链接对象
    cus = db.cursor()                                 # 创建一个游标对象
    try:
        cus.execute('drop table if exists test; create table test(id int not null);')   # 执行语句,如果存在删除,并创建
        cus.executemany(insert_sql, number)           # executemany(arg, para) 必须两个参数,第一个是 sql 语句,第二个是参数
        cus.execute(select_sql)                       # execute(arg) 方法,执行

        result1 = cus.fetchone()                      # fetchone(),选取一行内容输出
        print('result1:', result1)

        result2 = cus.fetchmany(4)                    # fetchmany(arg) 指定选取的行数
        print('result2:', result2)

        result3 = cus.fetchall()                      # fetchall() 从当前游标开始,读取所有行
        print('result3:', result3)

        cus.close()                                   # 关闭游标
        db.commit()                                   # 提交数据库,如果没有这个操作,插入的数据就不会成功
    except Exception as e:
        db.rollback()
        raise e
    finally:
        cus.close()

  

python入门(八):连接mysql和STMP的更多相关文章

  1. Python 3.5 连接Mysql数据库(pymysql 方式)

    由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通 ...

  2. python 3.5 连接mysql数据库

    python 3.5 要连接mysql数据库,必须先安装pymysql模块,该模块可以操作mysql数据. 1.安装pymysql模块:使用pip进行安装 cmd打开运行模式,切换目录到pip的scr ...

  3. 【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  4. Python 使用pymysql连接MySQL

    由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通过 pip 安装.但如果你使用的是 p ...

  5. python使用sqlalchemy连接mysql数据库

    环境:centos7+python2.7.5+sqlalchemy sqlalchemy是python当中比较出名的orm程序.在python中,使用sqlalchemy连接mysql数据库进行操作非 ...

  6. Python 2.7_pandas连接MySQL数据处理_20161229

    在我本地Mysql_local_db数据库建立了一个pandas数据表用来对pandas模块的学习 学习过程借鉴学习蓝鲸的网站分析笔记 1.创建表 CREATE TABLE pandastest( 城 ...

  7. 【python】python3连接mysql数据库

    一.安装pymysql 详见http://www.runoob.com/python3/python3-mysql.html 二.连接mysql数据库 db = pymysql.connect( #连 ...

  8. python入门编程之mysql编程

    python关于mysql方面的连接编程 前提:引入mysql模块MySQLdb,即:MySQL_python-1.2.5-cp27-none-win_amd64.whl 如果要用线程池,则要引用模块 ...

  9. JDBC入门之一--连接Mysql实验

    工具:mysql-connector-java-5.1.40.eclipse 1)首先要将mysql-connector-java包整合到eclipse中,右击项目,然后选择build path,出现 ...

随机推荐

  1. CentOS 6上的redis搭建实战记录(转)

    redis 是一个基于内存的高性能key-value数据库,数据都保存在内存中定期刷新到磁盘,以极高的读写效率而备受关注.他的特点是支持各种数据结构,stirng,hashes, list,set,和 ...

  2. eval函数处理JSON数据需要加括号

    在将服务器端构建好的JSON数据转化为可用的JavaScript对象时常常使用eval函数.如下: var dataJson = eval('(' + data + ')'); 在转化的时候需要将JS ...

  3. ubuntu12.04(64位)下安装Adobe Flash Player

    2012-06-14 10:10:37   第一步,去adobe官方网站就可以,使用方便,打开网站:http://get.adobe.com/cn/flashplayer/根据自己的版本下载需要的.本 ...

  4. HTTP管线化技术--ajax请求

    1.管线化技术——客户端可以发送多次请求到服务端,而不需要等待上一次请求得到响应的时候才能进行下一次请求.实现并行发送请求 2.ajax——实现网页异步刷新 问题:当用户进行多次ajax请求的时候,并 ...

  5. python基础之Event对象、队列和多进程基础

    Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程 ...

  6. nginx实战二

    nginx架构分析 1.nginx模块化 Nginx涉及到的模块分为核心模块.标准HTTP模块.可选HTTP模块.邮件服务模块以及第三方模块等五大类. https://coding.net/u/ami ...

  7. php回调函数原理和实例

    原理 自己调用自己 称之为“递归”,而不是回调 你也知道回调的关键是这个回既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函 ...

  8. Docker中images中none的镜像删除

    docker build 或是 pull 命令就会产生临时镜像.如果我们用dockerfile创建一个helloworld镜像后,因为版本更新需要重新创建,那么以前那个版本的镜像就会 成为临时镜像.这 ...

  9. Atitit.数据库事务隔离级别 attilax 总结

    Atitit.数据库事务隔离级别 1. 事务隔离级别的作用 1 2. 在的隔离级别 2 3. 常见数据库的默认管理级别 3 1. 事务隔离级别的作用 较低的隔离级别可以增强许多用户同时访问数据的能力, ...

  10. C/C++:C++伪函数

    C++伪函数: 所谓的伪函数.就是说它不是一个真正的函数,而是一个类或者说是一个结构体. <span style="font-size:18px;"> #include ...