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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南