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()
原文地址:https://www.cnblogs.com/xiaoluoboer/p/8258027.html