zoukankan      html  css  js  c++  java
  • day 60 pyMySQL 的安装及其 增删改查的应用

     一 pyMySQL 的安装

      1 在pyCharm 中安装pyMySQL 这个模块取决能否顺利链接到MySQL 

    2 可以在 cod 中 添加 pip install  pyMySQL

     3 在cmd 中 进入数据库 mysql -uroot -p密码 然后新建一个database    为pyCharm 链接做准备(它链接数据库必须要确定一个库的名字)

    4 在pyCharm 中选择Database  一个加号 +

     

    5 链接数据库  主要的是 用户名 密码 和 新建的数据库名  点击测试 成功才行  

     6  成功展示数据库链接的 显示出那个连接的库名字 

     错题解释

    -----------------

    import pymysql

    # 连接
    conn = pymysql.connect(host="localhost", user="root", password="root1234", database="s8", charset="utf8") # 没有-
    # 获取光标
    cursor = conn.cursor()
    # 写sql语句
    sql = "select * from userinfo;"

    # 执行SQL语句
    ret = cursor.execute(sql)
    print("-->",ret)
    # 一次取一条
    # print(cursor.fetchone())
    # print(cursor.fetchone())
    # print(cursor.fetchone())
    # 一次取所有
    # print(cursor.fetchall())
    # 一起取三条
    # print(cursor.fetchmany(3))

    # 进阶用法
    print(cursor.fetchone())
    print(cursor.fetchall())
    print(cursor.fetchone())
    # 移动取数据的光标
    cursor.scroll(-2) # 默认是相对移动
    print(cursor.fetchone())
    # 按照绝对位置去移动
    cursor.scroll(4, mode="absolute")
    print(cursor.fetchone())
    cursor.close()
    conn.close()


    # name = input("用户名>> :")
    # pwd = input("密码>>:")
    #
    # with open ("userinfo1.txt")as f:
    # for line in f:
    # # name_tmp, pwd_tmp = line.strip().split(" ")
    # name_tmp, pwd_tmp = line.strip().split(" ")
    # if name_tmp == name and pwd_tmp == pwd:
    # print("登陆成功")
    # break
    # else:
    # print("登陆失败")
    # 以上有问题 不能解答

    # ------------------------------
    # 模拟登陆 MysQL版本
    # import pymysql
    # conn = pymysql.connect(host="localhost",database="s8",user="root",
    # password="123456",charset="utf8")
    # cursor = conn.cursor()
    # sql = "select * from user1 WHERE id>2"
    # ret = cursor.execute(sql)
    # cursor.close()
    # conn.close()
    # # 此处打印的结果是3
    # print("%s row in set (0.00 sec)"%ret)
    # 3row in set (0.00 sec
    # ------------------------------------
    # import pymysql
    # name = input("用户名>>:")
    # pwd = input("密码>>:")
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    #数据库传参 每个带有引号 并后边传参
    # sql = "select * from userinfo WHERE username='%s' and password='%s';" % (name, pwd)
    # ret = cursor.execute(sql)
    # print(ret)
    # cursor.close()
    # conn.close()
    # if ret:
    # print("登陆成功")
    # else:
    # print("登录失败")
    # 用户名>>:xiao
    # 密码>>:123
    # 1
    # 登陆成功
    #------------------------------
    # import pymysql
    # name = input("用户名>>:")
    # pwd = input("密码>>:")
    # # # 注意执行后传参
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    #
    # sql = "select * from userinfo WHERE username=%s and password=%s;"
    # # # 执行换成列表x
    # 以下二种效果是样的
    # ret = cursor.execute(sql,(name,pwd))
    # # ret = cursor.execute(sql, [name, pwd])
    # cursor.close()
    # conn.close()
    # if ret:
    # print("登陆成功")
    # else:
    # print("登录失败")
    # 用户名>>:xiao
    # 密码>>:123
    # 登陆成功
    # -------------------------
    # 增加用户 创建新用户
    # import pymysql
    # name = input("用户名>>:")
    # pwd = input("密码>>:")
    # # # 注意执行后传参
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    # sql = "insert into userinfo(username,password) value (%s,%s);"
    # name = 'wangaa'
    # pwd = '123'
    # try:
    # cursor.execute(sql,(name, pwd))
    # conn.commit()
    # except Exception as e:
    # conn.rollback()
    # cursor.close()
    # conn.close()
    # # 用户名>>:xiao
    # # 密码>>:123
    # # 添加成功
    # -----------------
    # 删除操作 删除用户
    # import pymysql
    # # # 注意执行后传参
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    # sql = "delete from userinfo where username=%s"
    # username = "小花"
    # try:
    # cursor.execute(sql,(username,))
    # conn.commit()
    # except Exception as e:
    # print(11)
    # conn.rollback()
    # cursor.close()
    # conn.close()
    # --------------------
    # 添加多个值 executemany

    #
    # import pymysql
    # # # # 注意执行后传参
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    #
    # sql = "insert into userinfo (username, password) VALUES (%s,%s);"
    # user1 = "小草2"
    # pad1= "12345"
    # user2 = "xiao1"
    # pad2 = "12345"
    # data = ((user1, pad1), (user2, pad2))
    # try:
    # cursor.executemany(sql,data)
    # conn.commit()
    # except Exception as e:
    # conn.rollback()
    # cursor.close()
    # conn.close()

    # ----------------------------
    # 考察最后的输入的id值
    # import pymysql
    # # # # 注意执行后传参
    # conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    # cursor = conn.cursor()
    #
    # sql = "insert into userinfo (username, password) VALUES (%s,%s);"
    # user1 = "小草3"
    # pad1 = "12345"
    # try:
    # cursor.execute(sql, (user1, pad1))
    # conn.commit()
    # last_id = cursor.lastrowid
    # print("--> 刚才插入的最后的id:", last_id)
    # except Exception as e:
    # conn.rollback()
    # cursor.close()
    # conn.close()
    # --------------------
    import pymysql
    # # # 如果是一次取值是累加的效果
    conn = pymysql.connect(host="localhost",database="s8", user="root", password="123456", charset="utf8")
    cursor = conn.cursor()

    sql = "select * from userinfo"
    ret = cursor.execute(sql)
    # 一次一次的取
    # print(cursor.fetchone())
    # print(cursor.fetchone())

    # 一次所有
    # print(cursor.fetchall())
    # 一次取三条
    # print(cursor.fetchmany(3))
    # 进阶用法
    print(cursor.fetchone())
    print(cursor.fetchall())
    print(cursor.fetchone())
    #显示none 取不到
    cursor.scroll(-2)
    print(cursor.fetchone())
    # 取到返回后的第二个值
    # 加了absolute 前的数字就是从0 开始的索引值
    cursor.scroll(2, mode="absolute")
    print(cursor.fetchone())
    cursor.close()
    conn.close()
  • 相关阅读:
    python爬虫之urllib
    python 数据库操作类
    Vue学习之路第十篇:简单计算器的实现
    Vue学习之路第九篇:双向数据绑定 v-model指令
    Vue学习之路第八篇:事件修饰符
    Vue学习之路第七篇:跑马灯项目实现
    Vue学习之路第六篇:v-on
    Vue学习之路第五篇:v-bind
    Vue学习之路第四篇:v-html指令
    Vue学习之路第三篇:插值表达式和v-text的区别
  • 原文地址:https://www.cnblogs.com/xiaoluoboer/p/8258027.html
Copyright © 2011-2022 走看看