zoukankan      html  css  js  c++  java
  • (8)Python连接操作MySQL

    pymysql模块下的方法

    '''必须实例化对象才能建立连接'''

    1、pymysql.connect  #和MySQL建立连接

    '''得由对象去调用定义游标'''

    2、xxx.sursor()  #获得游标

    '''由游标去调用传入指令'''

    3、xxx.execute(‘指令’)  #传入指令

    '''fetchall fetchone必须赋值给变量才能打印,而且得由游标去调用'''

    4、fetchall #查询所有  fetchone  #查询一行

    '''关闭时候必须关闭实例化的对象和游标两个'''

    5、游标.close()   对象.close() #关闭游标

    '''默认是自动开启事务,必须关闭才能生效指令,由对象调用关闭'''

    6、xxx.commit  #关闭事务

    7、cursor.lastrowid  #获取插入值的id号

    PS:注意事项,增加的时候

    1、单列单行添加的时候%s要加单引号,后面%传入的值是字符类型也要加单引号,后面传入值的%前没有‘,’逗号

    2、添加多行多个值得时候一定要用executemany,并且%s不能有单引号,需要传入的值前面必须要有‘,’逗号,并且后面的多个值要以元组形式放入列表中

    3、修改单行多列的时候后面%传入的值需要以元组形式传入,传入值的%前面不能有‘,’逗号,并且字符串类型要加单引号,整数类型不需要加单引号

    4、添加多列单行值的时候,%s不能加单引号,后面传入的值也不需要%,直接以列表形式传入且列表中字符类型要加单引号,但是传入的值前一定要有‘,’逗号

    Python连接MySQL进行查询

    '''python要用到pymysql包去连接MySQL'''
    import pymysql

    '''通过对象去实例化连接mysql,connect里面有几个参数(host=数据库的IP本机就是localhost,user=用户名,password=密码,database=要连接的数据库名,port=端口默认3306不填写也可以,chatset=数据库的编码格式,cursorclass=数据呈现的格式(pymysql.cursors.DictCursor列表内套字典的呈现格式))'''
    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    '''获得游标'''
    cursor = conn.cursor()

    '''执行sql语句'''
    cursor.execute('select * from staff_info') #括号内就是传入命令

    '''获得值'''
    info = cursor.fetchall() #查询表内所有行数据cursor.fetchall,cursor.fetchall 查询别表内一行数据
    print(info)

    '''关闭游标'''
    cursor.close()
    conn.close()

    Python连接MySQL进行删除

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    cursor = conn.cursor()

    cursor.execute('delete from staff_info where id=%s'%1)

    ''' 默认开启事物的,所以执行完指令需要提交事物才能成功'''
    conn.commit()

    cursor.close()
    conn.close()

    PS:因为是默认开启事物的,所以在增删改的操作时候都要提交事物才能成功执行指令

    Python连接MySQL进行添加

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    cursor = conn.cursor()

    '''单列单行添加的时候%s要加单引号,后面%传入的值是字符类型也要加单引号'''
    cursor.execute("insert into staff_info(name) values('%s')" % 'Carl_s') #指令内用%传入时要以字符串形式,否则报错

    conn.commit()

    cursor.close()
    conn.close()

    Python连接MySQL进行添加多行多个数据

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    cursor = conn.cursor()

    '''添加多行多个值得时候一定要用executemany,并且%s不能有单引号,并且后面的多个值要以元组形式放入列表中'''
    cursor.executemany("insert into staff_info(name,dep_id) values(%s,%s)",[('xiaoli',3),('zhangzhang',4)])

    conn.commit()

    cursor.close()
    conn.close()

    Python连接MySQL进行修改

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    cursor = conn.cursor()

    '''修改单行多列的时候后面%传入的值需要以元组形式传入,并且字符串类型要加单引号,整数类型不需要加单引号'''
    cursor.execute("update staff_info set name='%s',dep_id='%d' where id=13"%('zhangzhangbao',1))

    conn.commit()

    cursor.close()
    conn.close()

    Python连接MySQL进行修改后获取id号

    import pymysql

    conn = pymysql.connect(host='localhost',user='root',password='',database='company',port=3306,charset='utf8',cursorclass=pymysql.cursors.DictCursor)

    cursor = conn.cursor()

    '''添加多列单行值的时候,%s不能加单引号,后面传入的值也不需要&,直接以列表形式传入且列表中字符类型要加单引号'''
    cursor.execute("insert into staff_info(name,dep_id) values(%s,%s)",['WZRY',3])

    conn.commit()

    print(cursor.lastrowid) #查看插入数据的主键id

    cursor.close()
    conn.close()
  • 相关阅读:
    Windows 8.1 应用再出发
    Windows 8.1 应用再出发
    python 列表,字典,元组,字符串,常用函数
    python 排序 sort和sorted
    python中的zip、map、reduce 、lambda、filter函数的使用
    SecureCRT的安装与破解(过程很详细!!!)
    L1和L2正则
    神经网络,机器学习公开课
    待整理
    tensorflow中文教程
  • 原文地址:https://www.cnblogs.com/shizhengquan/p/10309395.html
Copyright © 2011-2022 走看看