Pycharm连接MySQL

news2024/11/23 8:42:02

使用MySQL内置工具(命令)

        创建数据库:unicom

        数据表:admin

表名:admin
列:
    id 整型 自增 主键
    username 字符串 不为空,
    password 字符串 不为空,
    mobile   字符串 不为空

Python代码实现

        添加用户

        删除用户

        查看用户

        更新用户信息

创建数据

1.创建表结构:

在数据库里先创建一个库名unicom,表名admin

create database unicom DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
use unicom;
create table admin(id int not null auto_increment primary key, 
									username varchar(16) not null,
									password varchar(16) not null,
									mobile char(11) not null
									)default charset=utf8;

2.Python操作MySQL:

下载pymysql库:pip install pymysql

import pymysql

#1.连接MySQL
conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="123456",charset="utf8",db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)#游标
#2.发送指令
cursor.execute("insert into admin(username,password,mobile) values('lsc','123456','12345678910')")
conn.commit()#提交指令

#3.关闭
cursor.close()
conn.close()

 执行完上述代码后,admin表内已经写入数据

 这两种方法也可以传值

sql="insert into admin(username,password,mobile) values(%s,%s,%s)"
cursor.execute(sql,["李明","234567","13992888888"])
sql="insert into admin(username,password,mobile) values(%(n1)s,%(n2)s,%(n3)s)"
cursor.execute(sql,{"n1":"丽丽","n2":"234567","n3":"13992888888"})

动态创建数据:

import pymysql

while True:
    user = input("用户名")
    if user.upper()=="X":
        break
    pwd = input("密码:")
    mobile = input("手机号:")

    #1.连接MySQL
    conn = pymysql.connect(host="127.0.0.1",port=3306,user="root",passwd="123456",charset="utf8",db='unicom')
    cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)#游标
    #2.发送指令

    sql="insert into admin(username,password,mobile) values(%s,%s,%s)"
    cursor.execute(sql,[user,pwd,mobile])
  

    conn.commit()#提交指令

    #3.关闭
    cursor.close()
    conn.close()

 添加用户成功

 

 查询数据

import pymysql
# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456", charset="utf8", db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 游标
# 2.发送指令

cursor.execute("select * from admin")
data_list = cursor.fetchall()# :将返回所有结果,返回二维元组,如((‘id’,‘title’),(‘id’,‘title’)),
for row_dict in data_list:
    print(row_dict)

# 3.关闭
cursor.close()
conn.close()

 将数据库中数据返回列表内含字典的格式

data_list1 = cursor.fetchone()#筛选出来的第一条数据
data_list1 = cursor.fetchall()#获取筛选出来的所有数据

删除数据

import pymysql
# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456", charset="utf8", db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 游标
# 2.发送指令

cursor.execute("delete from admin where id=%s",[2,])
conn.commit()

# 3.关闭
cursor.close()
conn.close()

id=2的数据被删除

修改数据

import pymysql
# 1.连接MySQL
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="123456", charset="utf8", db='unicom')
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)  # 游标
# 2.发送指令

cursor.execute("update admin set mobile=%s where id=%s",["17777777777",3,])
conn.commit()

# 3.关闭
cursor.close()
conn.close()

 修改id=3的mobile

 总结:

在进行新增,删除,修改时,要记得commit,不然数据库没有操作

在查询时,不需要commit,需要执行fetchall/fetchone

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/466470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echarts 象形柱图_矢量图_自定义样式

Echarts 常用各类图表模板配置 注意: 这里主要就是基于各类图表,更多的使用 Echarts 的各类配置项; 以下代码都可以复制到 Echarts 官网,直接预览; 图标模板目录 Echarts 常用各类图表模板配置一、象形柱图二、环形图…

电脑中了勒索病毒,Windows操作系统如何设置才能预防faust勒索病毒攻击?

随着计算机技术的不断发展,勒索病毒的加密程序也有了很大提升,phobos勒索家族也衍生出了各种后缀的勒索病毒,给我们的日常工作生活带来了很大困扰。随着phobos勒索家族的加密程序升级,faust勒索病毒已经成为该家族中较为疯狂的勒索…

BACnet IP通讯方式组网步骤

BACnet IP通讯方式组网步骤 文章目录 BACnet IP通讯方式组网步骤前言一、配置BACnet IP网络参数二、确定DDC控制器和扩展模块的BACnet地址三、配置BACnet对象:四、配置DDC控制器和扩展模块五、测试通信六、实现控制功能七、总结 前言 BACnet IP方式组网的几个优势&…

强烈建议互联网人转战实体和农业,去了就是降维打击!实体太缺人才了,老板也不缺钱!...

大环境不好,互联网人该何去何从? 一位网友提出了一个新思路:强烈建议互联网同学转战实体、农业这些行业。实体真的太缺人才了,目前大部分实体都留下70后、80后在继续奋斗。其实实体老板很多都不缺钱,经过多年积累&…

内外部函数和内存模型

1、函数(封装、复用) 功能性:最基本的特性; 扩展性:对于时刻变化的需求易于扩展; 维护性:对于时刻变化的需求易于维护,易于编码变更; 封装性:不要把所有的代…

sql优化慢查询

1.慢查询设置 慢查询设置(临时) -- 查看是否开启了慢查询日志 show variables like slow%;-- 开启慢查询日志 set global slow_query_log on;-- 更改日志路径 set global slow_query_log_file /data/mydata/app1-slow.log;-- 查看慢查询时间临界值&…

学习笔记-主成分分析法

定义 主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。一般来说,当研究的问题涉及到多变量且变量之间存…

synchronize锁详解

目录 1、什么是synchronize? 2、为什么要用synchronize锁? 2.1 代码演示 2.2 原因分析 2.3 专有名词解释 2.3.1 临界资源 2.3.2 临界区 2.3.3 竞态条件 3、synchronize锁的原理 3.1 锁升级过程 3.1.1 偏向锁 3.1.2 轻量级锁 3.1.3 重量级锁…

【设计模式】七大设计原则--------单一职责原则

文章目录 1.案例1.1 原始案例1.2 改进一:类上遵循单一职责原则1.3 改进二:方法上遵循单一职责原则 2.小结 1.案例 1.1 原始案例 package com.sdnu.principle.singleresponsibility; //客户端 public class singleResponsibility {public static void m…

选择什么电容笔比较好?平价好用的iPad电容笔推荐

科学技术的迅速发展使人们的生活发生了巨大的变化。如今,众多的电子和数码产品层出不穷,而这种能够与平板电脑配套的电容笔也是如此。随着电容笔的不断发展,其应用范围也将不断扩大,今天,我将向大家推荐一些具有较高性…

总结:一文搞懂chatGPT原理

目前关于chatGPT的资料过于零散,没有详尽所有知识点、系统概述的文章,因此,笔者作了这篇总结性文章。 训练过程总览 理清演化路径 预训练(pretrain) GPT-3概述 GPT 3模型的理念 GPT-3如何学习 数据集 指令微调 (Instruction Fine-Tunin…

八大排序之交换排序与计数排序

此篇更新完成后,八大排序已经全部写完,还请各位可以多多支持!🥰 八大排序之选择排序_冷兮雪的博客-CSDN博客 八大排序之插入排序和归并排序_冷兮雪的博客-CSDN博客 目录 交换排序的基本思想🍭 一、冒泡排序&#x1f…

JS文件断点续传的切割与合并

总结一下大文件分片上传和断点续传的问题。因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况。http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(…

基于html+css的图展示43

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

制冷暖通工业互联网平台建设

制冷暖通工业互联网平台建设需要遵循一定的流程,具体步骤如下: 需求分析:了解客户需求,包括业务流程、系统功能、界面设计等方面。 系统设计:基于需求分析,进行系统设计,包括系统结构、数据库设…

【细读Spring Boot源码】prepareContext之load

前言 启动过程中准备上下文中有一步加载在资源,下面看下详情 详情 调用点 private void prepareContext(DefaultBootstrapContext bootstrapContext, ConfigurableApplicationContext context,ConfigurableEnvironment environment, SpringApplicationRunListen…

大模型跨界研究:计算精神病学发现,大模型居然比人类更焦虑

夕小瑶科技说 原创作者 | 小戏、iven 纽约时报的记者凯文鲁斯(Kevin Roose)在 2 月份和必应的大模型 Sydney 聊了两个小时天,却惊讶的收到了这样一条回复“我是 Sydney,我爱上了你”。 鲁斯向 Sydney 讲了一些关于荣格“黑暗自我”…

python哲学

进入python编辑器模式下,输入import this 会打印python之禅(The Zen of Python) Beautiful is better than ugly. 优美胜于丑陋。 Explicit is better than implicit. 明了胜于晦涩。 Simple is better than complex. 简单胜过复杂。 Complex is better than co…

写给初学者的YOLO目标检测 概述

文章目录 什么是目标检测What is YOLO?为什么YOLO在目标检测领域如此流行?1. 速度快2. 高检测精度3. 更好的泛化性4. 开源 YOLO架构YOLO目标检测是如何工作的?残差块(Residual blocks)边界框回归(Bounding box regression)交并比…

项目中的统一异常处理

目录 1:异常处理 1.1:异常问题分析 1.2:统一异常处理实现 1.2.1:全局异常处理器 1.2.2:自定义异常类 1.2.3:统一响应前端异常信息封装类 1.2.4:通用的异常信息枚举类 1.2.5:…