zoukankan      html  css  js  c++  java
  • pymysql

    一,IDE工具介绍
    生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具
    下载链接:https://pan.baidu.com/s/1bpo5mqj

    掌握:
    #1. 测试+链接数据库
    #2. 新建库
    #3. 新建表,新增字段+类型+约束
    #4. 设计表:外键
    #5. 新建查询
    #6. 备份库/表
    
    #注意:
    批量加注释:ctrl+?键
    批量去注释:ctrl+shift+?键

    二,pymysql模块

    先安装 pip3 install pymysql  才能导入这个模块
    
    import pymysql
    
    conn=pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123',
        database='db42',
        charset='utf8'
    )
    cursor=conn.cursor(pymysql.cursors.DictCursor)
    # rows=cursor.execute('show tables;')
    rows=cursor.execute('select * from class;')
    print(rows)
    #
    # print(cursor.fetchone())
    # print(cursor.fetchmany(2))
    # print(cursor.fetchone())
    # print(cursor.fetchall())
    #
    # print(cursor.fetchall())
    # cursor.scroll(3,'absolute')
    # print(cursor.fetchone())
    #
    # print(cursor.fetchone())
    # print(cursor.fetchone())
    # cursor.scroll(1,'relative')
    # print(cursor.fetchone())
    #
    # cursor.close()
    # conn.close()
    
    import pymysql #pip3 install pymysql
    
    conn=pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123',
        database='db42',
        charset='utf8'
    )
    cursor=conn.cursor(pymysql.cursors.DictCursor)
    
    
    inp_user=input('用户名>>:').strip() #inp_user=""
    inp_pwd=input('密码>>:').strip() #inp_pwd=""
    sql="select * from user where name='%s' and password='%s'" %(inp_user,inp_pwd)
    print(sql)
    
    
    rows=cursor.execute(sql)
    if rows:
        print('登录成功')
    else:
        print('登录失败')
    
    cursor.close()
    conn.close()
    
    
    
    直接改变了sql  绕过了密码和用户名
    
    #在服务器端防止sql注入问题:不要自己拼接字符串,让pymysql模块去拼接
    import pymysql #pip3 install pymysql
    
    conn=pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123',
        database='db42',
        charset='utf8'
    )
    cursor=conn.cursor(pymysql.cursors.DictCursor)
    
    
    inp_user=input('用户名>>:').strip() #inp_user=""
    inp_pwd=input('密码>>:').strip() #inp_pwd=""
    sql="select * from user where name=%s and password=%s"
    print(sql)
    
    
    rows=cursor.execute(sql,(inp_user,inp_pwd))
    if rows:
        print('登录成功')
    else:
        print('登录失败')
    
    cursor.close()
    conn.close()

    三,、增、删、改:conn.commit()

    import pymysql #pip3 install pymysql
    
    conn=pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123',
        database='db42',
        charset='utf8'
    )
    cursor=conn.cursor(pymysql.cursors.DictCursor)
    
    # sql='insert into user(username,password) values(%s,%s)'
    # rows=cursor.execute(sql,('EGON','123456'))
    # print(rows)
    # print(cursor.lastrowid)
    
    # rows=cursor.execute('update user set username="alexSB" where id=2')
    # print(rows)
    
    # 一次插入多行记录
    sql='insert into user(username,password) values(%s,%s)'
    rows=cursor.executemany(sql,[('lwz','123'),('evia','455'),('lsd','333')])
    print(rows)
    print(cursor.lastrowid)
    
    conn.commit() # 只有commit提交才会完成真正的修改
    cursor.close()
    conn.close()

    四,查:fetchone,fetchmany,fetchall

    fetchone(查询单条)
     fetchmany(查询多条)
     fetchall(查询所有)
    
    import pymysql
    
    conn=pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123',
        database='db42',
        charset='utf8'
    )
    cursor=conn.cursor(pymysql.cursors.DictCursor)
    # rows=cursor.execute('show tables;')
    rows=cursor.execute('select * from class;')
    print(rows)
    #
    # print(cursor.fetchone())
    # print(cursor.fetchmany(2))
    # print(cursor.fetchone())
    # print(cursor.fetchall())
    #
    # print(cursor.fetchall())
    # cursor.scroll(3,'absolute')
    # print(cursor.fetchone())
    #
    # print(cursor.fetchone())
    # print(cursor.fetchone())
    # cursor.scroll(1,'relative')
    # print(cursor.fetchone())
    #
    # cursor.close()
    # conn.close()

    五,获取最后

    ------查看表中最后一行的iD
    import pymysql
    conn=pymysql.connect(host='localhost',user='root',password='123456',
                 database='day47',charset='utf8')
    cursor=conn.cursor()
    
    
    sql='insert into user1(user,password) values(%s,%s);'
    rows=cursor.execute(sql,('alex','123'))
    # rows=cursor.executemany(sql,[('yuanhao','123'),('laowu','123'),('kgf','12323')])
    conn.commit()
    print(cursor.lastrowid)  #查看表中最后一行的iD
    
    cursor.close()
    conn.close()
  • 相关阅读:
    eclipse加载maven工程提示pom.xml无法解析
    tensorflow入门——5tensorflow安装
    tensorflow入门——3解决问题——4让我们开始吧
    神经网络入门——12梯度下降代码
    神经网络入门——11梯度下降算法
    如何避免梯度下降到局部最小值
    神经网络入门——10.梯度下降
    神经网络入门——9.简单神经网络
    神经网络入门——8XOR感知器
    神经网络入门——7or 感知器
  • 原文地址:https://www.cnblogs.com/maojiang/p/9030015.html
Copyright © 2011-2022 走看看