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 配置 samba 与windows共享文件夹

    yum install samba /etc/samba/smb.conf directory mask = 0777 ← 指定新建目录的属性(以下4行) force directory mode = ...

  2. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  3. 【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  4. HDU - 3836 Equivalent Sets (强连通分量+DAG)

    题目大意:给出N个点,M条边.要求你加入最少的边,使得这个图变成强连通分量 解题思路:先找出全部的强连通分量和桥,将强连通分量缩点.桥作为连线,就形成了DAG了 这题被坑了.用了G++交的,结果一直R ...

  5. TensorFlow 简单实例

    TF 手写体识别简单实例: TensorFlow很适合用来进行大规模的数值计算,其中也包括实现和训练深度神经网络模型.下面将介绍TensorFlow中模型的基本组成部分,同时将构建一个CNN模型来对M ...

  6. appium 1.6.3 + ios 10.2 + xcode 8.2.1 真机运行iphone app

    appium命令行启动: appium --address "127.0.0.1" --session-override --pre-launch --debug-log-spac ...

  7. jquery获取元素索引值index()

    jquery获取元素索引值index()方法实例. jquery获取元素索引值index()方法: jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 ...

  8. Bootstrap的js插件之折叠(collapse)

    data-toggle="collapse"--指明该元素具有折叠功能: data-target--设置元素打开折叠后指向的元素链接. .collapse--用来设置元素为折叠内容 ...

  9. Struts2源码阅读(一)_Struts2框架流程概述

    1. Struts2架构图  当外部的httpservletrequest到来时 ,初始到了servlet容器(所以虽然Servlet和Action是解耦合的,但是Action依旧能够通过httpse ...

  10. swift 类型.

    swift 类型 变量声明 用let来声明常量,用var来声明变量 可以在一行中声明多个常量或者多个变量,用逗号隔开 var x = 0.0, y = 0.0, z = 0.0 类型安全 Swift ...