一 Navicat

在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库

官网下载:https://www.navicat.com/en/products/navicat-for-mysql

网盘下载:https://pan.baidu.com/s/1bpo5mqj

掌握:
#1. 测试+链接数据库

#2. 新建库

#3. 新建表,新增字段+类型+约束

#4. 设计表:外键

#5. 新建查询

#6. 备份库/表

转存SQL文件到电脑里——

#注意:
批量加注释:ctrl+?键
批量去注释:ctrl+shift+?键

二.pymysql模块对数据的增删改查

之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质就是一个套接字客户端软件,使用前需要事先安装

不会装模块的可以看看别人的教程

https://www.cnblogs.com/lsm-boke/p/8849067.html

1.pymysql的基本使用

import pymysql

user =input("用户名:").strip()
pwd = input("密码:").strip() #链接
conn = pymysql.connect(
host="localhost",
user="root",
password="",
db="db3",
charset="utf8"
)
#游标
cursor= conn.cursor() #执行完毕返回的结果集默认以元组显示 #执行SQL语句
# sql = 'select * from userinfo where name = "%s" and pwd="%s"' % (user, pwd)
# res = cursor.execute(sql) # 执行sql语句 #execute()之sql注入
sql = 'select * from userinfo where name = %s and pwd=%s'
res = cursor.execute(sql, (user, pwd)) # 执行sql语句 #execute帮我们做字符串拼接,我们无需且一定不能再为%s加引号了 cursor.close()
conn.close() if res:
print("登录成功") else:
print("登录失败")

二.增、删、改:conn.commit()

import pymysql
# 1.增删改 # 建立连接
conn = pymysql.connect(
host ="localhost",
user="root",
password="",
db="db3",
charset="utf8"
)
# 拿游标
cursor = conn.cursor() # 执行sql
# 增
sql = 'insert into userinfo(name,pwd) values(%s,%s)'
rows = cursor.execute(sql, ("ming", "123")) #执行sql语句,返回sql影响成功的行数
# rows = cursor.executemany(sql, [("wxx", "123"), ("egon1", "233"), ("alex1", "324")]) #执行sql语句,返回sql影响成功的行数
# 获取插入的最后一条数据的自增ID
print(cursor.lastrowid) # 在插入语句后查看 ,不插入还不能看 # 删
# sql = 'delete from userinfo where name=%s and pwd=%s'
# rows = cursor.execute(sql, ("alex1", "324")) # 与sql里的表操作大同小异,不过真的要改的话,不如直接去navicat里去改了,方便 # 改
# sql = 'update userinfo set pwd=%s where name=%s'
# rows = cursor.execute(sql, ("144", "egon1"))
conn.commit() #提交后才发现表中插入记录成
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

三 .查:fetchone,fetchmany,fetchall

import pymysql
#2.查询 # 建立连接
# conn = pymysql.connect(
# host ="localhost",
# user="root",
# password="",
# db="db3",
# charset="utf8"
# )
# 拿游标
# cursor = conn.cursor(pymysql.cursors.DictCursor)
# # 执行SQL
# rows= cursor.execute('select * from userinfo') # 执行sql语句,返回sql影响成功的行数rows,将结果放入一个集合,等待被查询
#
# # cursor.scroll(2, mode="absolute") # 相对绝对位置移动
# # cursor.scroll(2, mode="relative") # 相对当前位置移动
#
#
# print(cursor.fetchone())
# cursor.scroll(2, mode="relative") # 相对当前位置移动
# print(cursor.fetchone())
# #
# # print(cursor.fetchmany(2))
# # print(cursor.fetchall())

感谢观看,如有不对,一定要指出。小木在这里谢谢了

navicat图形工具和pymysql模块的使用的更多相关文章

  1. 第八章| 3. MyAQL数据库|Navicat工具与pymysql模块 | 内置功能 | 索引原理

    1.Navicat工具与pymysql模块 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数 ...

  2. Navicat工具、pymysql模块 sql注入

    cls超 Navicat工具.pymysql模块 阅读目录 一 IDE工具介绍 二 pymysql模块 一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试, ...

  3. Navicat工具、pymysql模块、数据备份

    IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接mys ...

  4. mysql之Navicat工具、pymysql模块

    1. IDE工具介绍(Navicat) 为了方便测试,使用IDE工具,就是Navicat,这个工具本质上就是一个socket客户端,可视化的连接mysql服务端的一个工具,并且是图形界面版的.它和直接 ...

  5. 数据库 --- 4 多表查询 ,Navicat工具 , pymysql模块

    一.多表查询 1.笛卡儿积 查询 2.连接 语法: ①inner    显示可构成连接的数据 mysql> select employee.id,employee.name,department ...

  6. 8-5 Navicat工具与pymysql模块

    一 Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库 需要掌握的基本操作 ...

  7. Navicat工具、pymysql模块

    一 IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接m ...

  8. 百万年薪python之路 -- MySQL数据库之 Navicat工具和pymysql模块

    一. IDE工具介绍(Navicat) 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接 ...

  9. 多表查询、可视化工具、pymysql模块

    create table dep( id int primary key auto_increment, name varchar(16), work varchar(16) ); create ta ...

  10. MySQL -Naivacat工具与pymysql模块

    Navicat 在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库. 官网下载:https ...

随机推荐

  1. nodejs 接收参数,js前端传参方法

    nodejs // 接口:查询检测结果 req.query接收 router.get('/getDetectionResult', (req, res) => { console.log(req ...

  2. 线程join detach 僵尸线程

    进程死亡后,由父进程负责回收PCB资源,不回收则会出现僵尸进程 对于线程来说,任何一个线程都可以回收另一个线程的资源 在子线程终止后,通常在主线程中通过pthread_join来回收子线程的资源,获取 ...

  3. vue3.0中ref动态绑定

    // 自己使用 <div v-for="item in ['lisi','wanger']" :key="item"> <test :ref= ...

  4. script和template里可选链运算符?.报错Syntax Error: Unexpected token (64:2)

    前情:babel-core@6.2.3,  vue@2.7.14 试过的方法:1.安装@babel/plugin-proposal-optional-chaining,设置.babelrc文件如下,报 ...

  5. Jmeter 如何把 时间戳 转为 本地时间

    一.引入主题(time) jmeter中,有很多已经封装好的函数,使用这些函数,就能实现某些特定的功能,这对于没有代码基础,或代码基础薄弱的同学来说,是一个非常大的福音. 二.Jmeter把时间戳转为 ...

  6. git账号密码修改

    1.window10下的账号密码,打开控制台->账号管理->凭据管理器

  7. 如何使用新版bing(支持ChatGPT)

    就在今天,2023年2月8日,微软正式将ChatGPT引入Bing 搜索引擎迎来新时代 如何体验支持ChatGPT的新版bing? 一.重要说明 请自备TiZi 本文以PC端为例 目前,新版 Bing ...

  8. netmiko批量操作网络设备_pandas版

    from concurrent.futures import ThreadPoolExecutor import netmiko import os from threading import Loc ...

  9. go-fastdfs断点续传功能

    1)安装go-fastdfs: 可以从GitHub上获取go-fastdfs的源码,然后使用go get命令安装: go get github.com/sjqzhang/go-fastdfs 2)安装 ...

  10. 谷歌浏览器上elementUI的按钮文字消失了

    解决方案:有个谷歌浏览器插件,好像是什么淘宝的,删掉即可