navicat数据库软件 pymysql模块的使用

navicat下载

百度搜索 找到64位破解版下载,本地下载即可

https://www.cr173.com/126934.htm1

下载完成后是一个安装包 直接解压 然后点击安装 点击next即可
点击连接下面,右键新建库

 


双击库打开 点击新建表,注意设置id为主键,按空格会出现🔑形状

 

 

 

 

 cursor.executemany(sql,[('Jackson',123),('zhuzhu',123)])执行多个,例如要增加很多条时,用列表➕元祖

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


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

 

 

 

pymysql模块

1.安装pymysql文件

pip install pymysql

2.pycharm中新建一个py文件

复制代码
import pymysql
#链接 握手
conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',password='123',database='db4',charset='utf8mb4')
#游标   产生一个游标对象,用来帮我们执行命令
cursor=conn.cursor() #执行完毕返回的结果集默认以元组显示
cursor.execute("insert into user(name,pwd) values('egon','123'),('tom','456'),('jack','111');")
#事务 要么一起完成要么一起完蛋,需要配合下句一起使用 conn.commit() #在这里一起发出

  cursor.close()
  conn.close()

 

#host='127.0.0.1'要连接的主机

#database='day48',要指定一下操作哪个库或者db='day48'
#charset='utf8'#编码最好指定一下,千万不要加-,会报错
#autocommit=True(自动提交)
复制代码

 

 插入数据

#方式一#如果要execute帮我们插入的话 %s不要加引号,execute会帮我们处理字符串的拼接,以免有注入的情况 
#sql注入:在pymysql中,execute可以帮你过滤,只能识别%s占位 cursor.execute(
"insert into user(name,pwd) values(%s,%s);",('kkk','123'))

 

# 方式二 自己拼接

sql="insert into user(name,pwd) values('%s','%s');" %('lili','123')
cursor.execute(sql)

#不要手动拼接数据 先用%s占位 之后将需要拼接的数据直接交给execute方法即可

 

 

 

链接数据库示例一

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

复制代码
username = input("username>>>: ").strip()
password = input("password>>>: ").strip()
rows=cursor.execute("select * from user where name=%s and pwd=%s",(username,password))

if rows:
    print('ok')
else:
    print('no')

conn.commit()
cursor.close()
conn.close()
复制代码

 

 

 

链接数据库示例二

复制代码
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123", db="db13", charset="utf8mb4")
cursor=conn.cursor(cursor=pymysql.cursor.DictCursor)
#产生一个游标对象,用来帮我们执行
命令的,cursor=pymysql.cursor.DictCursor意思是将查询结果以字典的形式返回,
更加清晰 数据太多时可能会搞混这样就不会

  cursor.execute("insert into student(name) values(%s)",['zzz'])
  print(cursor.lastrowid)

复制代码

 


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))#可以指定拿几条

 

 

链接数据库使用示例三

复制代码
cursor=conn.cursor(cursor=pymysql.cursor.DictCursor)
#增:

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())

# rows = cursor.execute('select * from student;')
# print(rows)

# line = cursor.fetchone()
# print(line)
#
# lines = cursor.fetchmany(2)
# print(lines)
# lines = cursor.fetchall()
# print(lines)

#改

cursor.execute("insert into student values(%s,%s)",[5,'kkk'])
cursor.executemany("insert into student values(%s,%s)",[(6,'xxx'),(7,'yyy'),(8,'zzzz')])

 
复制代码

 

 

 

 

pycharm链接数据库步骤:

1.点击database 找到mysql

 

 

2.填好信息 测试连接  下载驱动文件

 

 

如果遇到时区问题 解决方法:

 

在my.ini中加上:

 

 

 

游标相对绝对位置移动 、 相对当前位置移动

复制代码
import pymysql  # pip3 install pymysql

conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", password="123", db="db13", charset="utf8mb4")
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
cursor.execute("insert into student(name) values(%s)",['zzz'])
print(cursor.lastrowid)
# cursor.scroll(3,mode='absolute')  # 相对绝对位置移动
# print(cursor.fetchone())
# print(cursor.fetchall())
# cursor.scroll(0,mode='absolute')  # 相对绝对位置移动
# print(cursor.fetchall())


# cursor.fetchone()
# cursor.scroll(1,mode='relative') # 相对当前位置移动
# cursor.scroll(0,mode='absolute') # 相对当前位置移动
# print(cursor.fetchone())

conn.commit()
cursor.close()
conn.close()
复制代码

 

posted @   朱饱饱  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示