navicat数据库软件pymysql模块

发布时间 2023-10-31 22:16:44作者: 朱饱饱


cursor.executemany(sql,[('Jackson',123),('zhuzhu',123)])执行多个,例如要增加很多条时,用列表➕元祖
百度搜索 找到64位破解版下载,本地下载即可
https://www.cr173.com/126934.htm1
下载完成后是一个安装包 直接解压 然后点击安装 点击next即可
点击连接下面,右键新建库
双击库打开 点击新建表,注意设置id为主键,按空格会出现?形状

 

外键:
表 右键 设计表 在表里添加字段xx_id 类型 点击外键 不写名字 在字段里面点击三个点 选择你需要的外键字段 参考表 三个点 选择跟谁做关联 参考字段 … 点击id 删除时更新时cascade选择这个,保存 刷新 …选择自己关联的id


MySQL建议所有关键字大写
MySQL中的注释有两种:--和#
在Navicat中如何快速的注释和解注释
Ctrl+?加注释
Ctrl+?基于上述操作再开一次就是解开注释
如果你的Navicat版本不一致还有可能是Ctrl+shift+?解开注释

pymysql模块:
import pymysql


conn=pymysql.connect(
hosr='127.0.0.1',
port=3306,
user='root',
password='123456',或者passwd='123456'
database='day48',要指定一下操作哪个库或者db='day48'
charset='utf8'#编码最好指定一下,千万不要加-,会报错
autocommit=True(自动提交)
#修改
)#链接数据库
cursor=conn.cursor(cursor=pymysql.cursor.DictCursor)#产生一个游标对象,用来帮我们执行命令的,cursor=pymysql.cursor.DictCursor意思是将查询结果以字典的形式返回,更加清晰 数据太多时可能会搞混这样就不会
sql='select * from teacher;'
res=cursor.execute(sql)
print(res) # execute返回的是你当前sql语句所影响的行数,该返回值一般不用
#获取命令执行的查询结果
print(cursor.fetchone())#只拿一条数据本身
print(cursor.fetchall())#拿所有 用的多 数据列表
读取数据类似于文件光标的移动
cursor.scroll(1,'relative')#相对于光标所在的位置继续往后移动一位
cursor.scroll(1,absolute)#相对于数据的开头往后继续移动1位
print(cursor.fetchmany(2))#可以指定拿几条

用MySQL里的数据来核对登录:
import pymysql


conn=pymysql.connect(
hosr='127.0.0.1',
port=3306,
user='zhuzhu',
password='123456',
database='day48',要指定一下操作哪个库
charset='utf8'#编码最好指定一下,千万不要加-,会报错
autocommit=True将增删改确定(自动提交)
#修改
)#链接数据库
cursor=conn.cursor(cursor=pymysql.cursor.DictCursor)

sql注入:在pymysql中,execute可以帮你过滤,只能识别%s占位
username=input('>>>:')
password=input('>>>:')
sql="select * from user where name=%s and password=%s"
#不要手动拼接数据 先用%s占位 之后将需要拼接的数据直接交给execute方法即可
print(sql)
rows=cursor.execute(sql,(username,passwored))#自动识别sql里面的%s用后面元祖里面的数据替换
if rows:
print('登陆成功')
print(cursor.fetchall())
else:
print('用户名密码错误')

pymysql模块补充
import pymysql


conn=pymysql.connect(
hosr='127.0.0.1',
port=3306,
user='zhuzhu',
password='123456',
database='day48',要指定一下操作哪个库
charset='utf8'#编码最好指定一下,千万不要加-,会报错
autocommit=True
#修改
)#链接数据库
cursor=conn.cursor(cursor=pymysql.cursor.DictCursor)
#增:
sql='insert into user (name,password)values(%s,%s)'
rows=chesor.execte(sql,('jackson',123)
rows=cursor.executemany(sql,[('Jackson',123),('zhuzhu',123)]执行多个,例如要增加很多条时,用列祖➕元祖
print(rows)
#conn.commit()#二次确认 才会执行增删改的时候要加,或者把最开始端口的位置设置为:autocommit=True
#修改
sql='update user set name=''JasonNB''where id=1
rows=cursor.execute(sql)
print(rows)
#conn.commit()#二次确认 才会执行增删改的时候要加
#删除
sql='delete from user where id=1'
rows=cursor.execute(sql)
print(rows)
#conn.commit()#二次确认 才会执行增删改的时候要加
#查
sql='select * from user'
cursor.execute(sql)
print(cursor.fetchall())