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. Servlet 异常处理

    当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置.您必须在 web.xml 中使用 error-pa ...

  2. 【TP3.2与TP5.0区别】

    Tp3.2 和 Tp5.0之间的区别   5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正 ...

  3. python --对象的属性

    转自:http://www.cnblogs.com/vamei/archive/2012/12/11/2772448.html Python一切皆对象(object),每个对象都可能有多个属性(att ...

  4. Content Editor Webpart(一)引用JQuery

    SharePoint里面自带了一个Content Editor Webpart, 使用这个webpart.能够方便的往页面上加入随意的内容(HTML,css, JS).以此来达到往页面加入自己定义内容 ...

  5. Android_08手机联系人编码中SimpleAdapter的使用说明

    1. SimpleAdapter  adapter = new SimpleAdapter(this, list1,R.layout.my_layout, new String[] { "n ...

  6. Android Studio Share Project On Github

    在Android Studio上将项目导入Github上: 1. 创建一个Project.点击VCS -> Enable Version Control Integration... 2.选择G ...

  7. 细说WebSocket -- Node.js篇

    在上一篇提高到了 web 通信的各种方式,包括 轮询.长连接 以及各种 HTML5 中提到的手段.本文将详细描述 WebSocket协议 在 web通讯 中的实现. 一.WebSocket 协议 1. ...

  8. laravel路由之分组路由

    laravel下的分组路由可以嵌套如下: Route::group(['prefix'=>'admin'],function(){ Route::group(['prefix'=>'dtk ...

  9. Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?

    TIMESTAMP 4个字节储存;值以UTC格式保存;.时区转化 ,存储时对当前的时区进行转换,检索时再转换回当前的时区. DATETIME 8个字节储存;实际格式储存;与时区无关;datetime  ...

  10. 内存控制函数(1)-mmap() 建立内存映射

    示例1: 1.首先建立一个文本文件,名字为tmp,内容为hello world 2.编写mmap.c #include <sys/types.h> #include <sys/sta ...