zoukankan      html  css  js  c++  java
  • python 连接mysql数据库操作

    import pymysql.cursors
    
    # 连接数据库
    connect = pymysql.Connect(
        host='localhost',
        port=3306,
        user='root',
        passwd='magicimage',
        db='student',
        charset='utf8'
    )
    # 获取游标
    cursor = connect.cursor()
    '''
    删除表,创建表
    '''
    # 使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
    
    # 使用预处理语句创建表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,
             SEX CHAR(1),
             INCOME FLOAT )"""
    
    cursor.execute(sql)
    
    
    '''插入数据'''
    sql = "INSERT INTO student (name, sex, class_id) VALUES ( '%s', '%s', '%s' )"
    data = ('雷军', 0, 1)
    try:
        # 执行sql语句
        cursor.execute(sql % data)
        connect.commit()
        print('成功插入', cursor.rowcount, '条数据')
    except:
        connect.rollback()
    '''
    显示结果
    成功插入 1 条数据
    '''
    
    
    '''
    数据库查询操作
     fetchone() 方法获取单条数据, 
     fetchall() 方法获取多条数据。
     rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
    '''
    # SQL 查询语句
    sql = "SELECT * FROM student 
           WHERE class_id > %s" % (1)
    
    try:
       # 执行SQL语句
       cursor.execute(sql)
       # 获取所有记录列表
       results = cursor.fetchall()
       for row in results:
          id = row[0]
          name = row[1]
          sex = row[2]
          class_id = row[3]
           # 打印结果
          print ("id=%s,name=%s,sex=%s,class_id=%s" % 
                 (id, name, sex,class_id ))
    except:
       print ("Error: unable to fetch data")
    
    '''
    结果
    id=2,name=雪,sex=1,class_id=2
    id=3,name=于,sex=0,class_id=3
    id=5,name=孙,sex=0,class_id=2
    '''
    
    '''
    数据库更新操作
    '''
    # SQL 更新语句
    sql = "UPDATE student SET name = '雷' WHERE id = '%s'" % (7)
    try:
        # 执行SQL语句
        cursor.execute(sql)
        # 提交到数据库执行
        connect.commit()
        print('成功更新', cursor.rowcount, '条数据')
    except:
        # 发生错误时回滚
        connect.rollback()
    
    '''
    删除操作
    '''
    # SQL 删除语句
    sql = "DELETE FROM student WHERE id = '%s'" % (7)
    try:
       # 执行SQL语句
       cursor.execute(sql)
       # 提交修改
       connect.commit()
       print('成功删除', cursor.rowcount, '条数据')
    except:
       # 发生错误时回滚
       connect.rollback()
    
    # 关闭数据库连接
    connect.close()
  • 相关阅读:
    [Flutter] 转一个Flutter学习思维导图
    [Node.js] TypeScript 实现 sleep 函数
    [Docker] Win10中安装Docker并运行Nginx镜像
    [Zabbix] 安装MySQL5.7, 部署Zabbix到CentOS 7日记
    [Delphi]无边框窗口最大化不挡任务栏方法
    [Flutter] 一些面试可能会问基础知识
    Flutter main future mirotask 的执行顺序
    Underscore.js基础入门
    将第三方包安装到maven本地仓库
    Ubuntu下JDK1.8安装后配置环境变量
  • 原文地址:https://www.cnblogs.com/wangxue1314/p/13521881.html
Copyright © 2011-2022 走看看