zoukankan      html  css  js  c++  java
  • Python mysql 创建连接

    安装 pymysql 模块

    pip3 install pymysql
    # python2, 默认无 pip 命令
    # python3, 默认自带 pip3 命令 
    

    mysql基本操作

    # 导入 pymysql 模块
    import  pymysql
    
    # 创建连接
    conn = pymysql.connect(host='192.168.0.214', port=3306, user='root', passwd='123456', db='tmpdb')
    
    # 获取光标
    cursor = conn.cursor()
    
    # 以字典的形式返回结果
    # cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
    
    # 插入一行
    result = cursor.execute("insert into tmp(name) values (%s)",("jim"))
    
    # 插入多行
    result = cursor.executemany("insert into tmp(name) values (%s)",[("james1"),("james2"),("james2")])
    
    # 修改后必须提交
    conn.commit()
    
    # 获取一行数据
    cursor.execute('select * from tmp')
    r = cursor.fetchone()
    print(r)
    
    # 获取4行数据
    cursor.execute('select * from tmp')
    r = cursor.fetchmany(4)
    print(r)
    
    # 获取影响的行数
    result = cursor.execute('select * from tmp')
    print(result)
    
    # 获取所有的值
    values = cursor.fetchall()
    print(values)
    
    # 把光标移到最开始处
    cursor.scroll(0, mode='absolute')
    
    # 关闭光标
    cursor.close()
    
    # 关闭连接
    conn.close()
    

    在操作mysql中应当禁止使用字符串拼接sql 的方式

    # 禁止例子 :
    inp = input('please input name: ')
    sql = 'insert into tmp(name) values("%s")'
    sql = sql %(inp,)
    r = cursor.execute(sql)
    conn.commit()
    
    # 推荐例子:
    inp = input('please input name: ')
    print(inp, type(inp))
    r = cursor.execute('insert into tmp(name) values(%s)', inp)
    conn.commit()
    
    # 获取所插入数据的主键id值,注意表的 id 必须是 AUTO_INCREMENT
    nid = cursor.lastrowid
    print(nid)
    
    

    补充

    # 数据库也可以通过以下方式连接
    import  pymysql
    
    PY_MYSQL_CONN_DICT = {
        "host" : '192.168.0.214',
        "port" : 3306,
        "user" : 'root',
        "passwd" : '123456',
        "db" : 'tmpdb'
    }
    
    conn = pymysql.connect(**PY_MYSQL_CONN_DICT)
    

    注意

    在 mysql 的 insert 语句中表名和列名外都不能加单引号,而值则可以加单引号且 sql 语句用双引号

  • 相关阅读:
    爬虫工具简单整理
    vue单页面处理SEO问题
    深入浅出MyBatis-快速入门
    js的匿名函数 和普通函数
    Javascript位置 body之前、后执行顺序!
    eclipse中的ctrl+H使用中的问题
    Eclipse中ctrl+shift+r与ctrl+shift+t的区别
    Java 判断字符串是否为空的四种方法、优缺点与注意事项
    eclipse 快捷键
    只缩进新加一段代码的方法
  • 原文地址:https://www.cnblogs.com/klvchen/p/10101239.html
Copyright © 2011-2022 走看看