zoukankan      html  css  js  c++  java
  • CSIC_716_20191216【pymysql模块】

    强调:mysql要设置严格模式,在my.ini 配置文件中

    sql-mode="strict_trans_tables,only_full_group_by"    ,设置完要重启mysql服务

    my.ini 配置文件中的其他参数 ,如下:

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    sql-mode="strict_trans_tables,only_full_group_by"
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    user="root"
    password="默认一个密码"

    pymysql的使用方式 :

    1、pymysql.connect(。。。。 )建立连接

    2、conn.cursor(pymsql.cursors.DictCursor)获取游标,括号中设置pymsql.cursors.DictCursor,确保返回的结果是字典形式的

    3、cursor.execute( sql, 元组),拼接sql语句

    4、如果么有设置autocommit =True,  则再execute后面还要  conn.commit( )进行确认提交

    # _*_ coding: gbk _*_
    # @Author: Wonder
    import pymysql
    
    conn = pymysql.connect(
        user='root',
        passwd='1234,5678a',  # password means passwd
        host='127.0.0.1',
        port=3306,
        db='exercise',  # database means db
        charset='utf8',
        autocommit=True
    )
    
    cursor_obj = conn.cursor(pymysql.cursors.DictCursor)
    
    # 增(注册)
    username = input('>>>用户名').strip()
    password = input('>>>密码').strip()
    sql = "insert into user(username,password) values(%s,%s)"
    ret = cursor_obj.execute(sql, (username, password))
    print(ret)
    
    # 查
    username = input('>>>用户名').strip()
    sql = 'select * from user where username = %s'
    res2 = cursor_obj.execute(sql, (username,))
    print(res2)
    res = cursor_obj.fetchall()
    print(res)
    
    # 改
    username = input('>>>要改的用户名').strip()
    password = input('>>>修改后的密码').strip()
    sql = 'update user set password=%s  where username = %s'
    cursor_obj.execute(sql, (password, username))
    
    # 删
    username = input('>>>要改的用户名').strip()
    sql = 'delete from user  where username = %s'
    cursor_obj.execute(sql, (username,))
    
    cursor_obj.close()
    conn.close()
    

      

    补充:

    cursor.scroll(  移动个数,移动模式 ),移动模式有  relative(相对)  和absolute(绝对) 两种。

    相对移动是从当前游标位置开始往后移动,absolute是从最开始的位置向后移动。

    cursor.fetchone( )   获取一个结果

    cursor.fetchmany  ( 数量 )   ,获取指定个数的结果,如果数量大于总的个数,不会报错。

    cursor.fetchall( )  ,获取所有的结果

  • 相关阅读:
    react跳转url,跳转外链,新页面打开页面
    如何把大段文字转为带html标签的文字
    react给一个div行内加背景图片并实现cover覆盖模式居中显示
    react获取当前页面的url参数
    mongodb查询数据库中某个字段中的值包含某个字符串的方法
    react实现多行文本超出加省略号
    小程序首页获取数据给数组赋值,实现加载更多,以及遇到的坑
    小程序渲染html的两种方法
    小程序url传参如何写变量
    小程序在父组件执行子组件方法,可适用于下拉刷新上拉加载之后执行子组件方法
  • 原文地址:https://www.cnblogs.com/csic716/p/12049481.html
Copyright © 2011-2022 走看看