zoukankan      html  css  js  c++  java
  • pymysql使用(二)

    import pymysql
    
    db = pymysql.connect("localhost","root","","hank") #打开数据库 (如果连接失败会报错)
    
    cursor = db.cursor() #获取游标对象
    
    sql_select = "select version()" #执行sql查询操作
    cursor.execute(sql_select)
    

    1

    data = cursor.fetchone() #使用fetchone()获取单条数据
    print("DB version is : %s" % data)
    

    DB version is : 5.6.39

    cursor.execute("drop table if exists hankleo") #如果hankleo表存在,就删除
    

    0

    #创建表hankleo
    sql_create = "create table hankleo(id int,name varchar(10)) engine = innodb charset = utf8"
    
    cursor.execute(sql_create)
    

    0

    #插入操作
    sql_insert = '''insert into hankleo(id,name) values(2,"李明")'''
    try:
        #执行sql
        cursor.execute(sql_insert)
        db.commit()
    except:
        #发生异常
        db.rollback()
    
    #查询操作
    sql_select = '''select * from hankleo'''
    try:
        #执行sql语句
        cursor.execute(sql_select)
        #获取所有记录列表
        result = cursor.fetchall()
        for row in result:
            id = row[0]
            name = row[1]
            print("id = %d,name = %s" % (id,name))
    except:
        print("Error:unable to fecth data")
    

    id = 2,name = 李明

    执行事务

    事务机制可以确保数据的一致性

    1. 事务有四个属性:原子,一致,隔离,持久;通常称为ACID
    2. Python DB API2.0的事务提供了两个方法:commit 和 rollback
    3. 对于支持事务的数据库,在python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务,这个区别于mysql客户端,commit()方法提交所有的事务,rollback()方法回滚当前游标的所有操作。
      每个方法都开启了一个新的事务
    #例子
    sql_insert = '''insert into hankleo (id,name) values (1,'china')'''
    try:
        cursor.execute(sql_insert)
        db.commit()
    except:db.rollback()
        
    print("end")
    
    #关闭连接
    db.close()
    

    end

  • 相关阅读:
    深圳成为全球第一个100%电动公共汽车的城市
    layui 数据表格按钮事件绑定和渲染
    Layui 改变数据表格样式覆盖
    js 遍历删除数组
    layui 数据表格最简单的点击事件
    layui 数据表格使用
    Layui 解决动态图标不动的问题
    Js 改变时间格式输出格式
    PHP 面向对象的数据库操作
    PHP SQL预处理
  • 原文地址:https://www.cnblogs.com/hankleo/p/9551720.html
Copyright © 2011-2022 走看看