连接mysql数据库实现增删改查(一)
在python中我们通过pymysql来连接数据库,具体实现如下
'''
连接mysql数据库
此类进行封装了一些基础的操作数据库方法
'''
import pymysql
from Homework.Log import Log class my_db: def __init__(self,host,port,user,password,database,charset):
self.logger = Log().setLog() try:
self.con = pymysql.connect(host=host,port=port,user=user,password=password,database=database,charset=charset)
except Exception as e:
self.logger.info('数据库连接失败:{}'.format(e))
self.cur = self.con.cursor() def select(self,sql):
try: # 执行sql
self.cur.execute(sql)
# 返回结果
res = self.cur.fetchall()
self.logger.info('正在执行{0},查询结果为:{1}'.format(sql,res))
except Exception as e:
self.logger.info('查询失败:%s'%e) def editor(self,sql):
try:
self.logger.info('正在执行{}'.format(sql))
# 执行sql
self.cur.execute(sql)
# 提交事物
self.cur.execute('commit')
self.logger.info('增删改成功')
except Exception as e:
self.logger.info('增删改失败:{}'.format(e))
下面是个demo文件,对封装的my_db类进行调用,去进行相应的增删改操作
1 '''
2 sql语句进行查询
3 '''
4 from Study.mysqlConnect import my_db
5
6 mysql = my_db(host='127.0.0.1',port=3306,user='root',password='root123456',database='collect',charset='utf8')
7 mysql.select('select * from C;')
8 mysql.select('select * from S;')
9 mysql.editor('insert into S (sno,sname,sdd,sa) values(2019009,"马云","互联网",78')
10 mysql.select('select * from sc;')
下面是查询结果日志;
2021-04-29 22:13:45,298 - mysqlConnect.py:32 - 正在执行select * from C;,查询结果为:(('C1', '税收基础'), ('C2', '金融工程'), ('C3', '会计'), ('C4', '统计学习方法'), ('C5', '大数据'), ('C6', '机器学习算法'))
2021-04-29 22:13:45,299 - mysqlConnect.py:32 - 正在执行select * from S;,查询结果为:((2019001, '托马斯李', '运营', 26), (2019002, '米高扬', '管理', 30), (2019003, '蝙蝠侠', '安防', 22), (2019004, '李嘉诚', '投资', 45), (2019005, '雷军', '开发', 34), (2019006, '周小川', '管理', 56), (2019007, '陆奇', '运营', 36), (2019008, '普京', '安防', 67))
2021-04-29 22:13:45,299 - mysqlConnect.py:38 - 正在执行insert into S (sno,sname,sdd,sa) values(2019009,"马云","互联网",78
2021-04-29 22:13:45,299 - mysqlConnect.py:45 - 增删改失败:(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1")
2021-04-29 22:13:45,300 - mysqlConnect.py:32 - 正在执行select * from sc;,查询结果为:((2019001, 'C2', 80), (2019002, 'C2', 78), (2019003, 'C1', 89), (2019003, 'C5', 60), (2019004, 'C4', 90), (2019005, 'C1', 87), (2019005, 'C2', 75), (2019005, 'C3', 80), (2019005, 'C4', 90), (2019005, 'C5', 86), (2019005, 'C6', 88), (2019006, 'C1', 99), (2019006, 'C2', 61), (2019007, 'C1', 62), (2019007, 'C2', 78), (2019007, 'C3', 77), (2019007, 'C4', 69), (2019007, 'C5', 98), (2019007, 'C6', 88), (2019008, 'C1', 78))
连接mysql数据库实现增删改查(一)的更多相关文章
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
- C++ API方式连接mysql数据库实现增删改查
这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...
- 【C#】使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...
- 使用nodejs连接mysql数据库实现增删改查
首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...
- 使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...
- php 连接mysql数据库以及增删改查
php 连接数据库 一般是用面向对象的方法,需要先创建一个对象,即造一个连接对象,然后再写sql语句,(增改查删),最后执行sql语句 其中在创建连接对象时 我们用到的是MySQLI 是不区分大小写 ...
- php之PDO连接mysql数据库,增删改查等等操作实例
我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严就有SQL注入风险,导致网站被攻击. 虽然可以用mysql_real_escape_string ...
- MyEclipse 05_连接mysql数据库进行增删改查
例子: 1.在数据库中建立如下表 2. 在MyEclipse里按本主博客文MyEclipse 03_jdbc连接数据库,注意数据库名要一致 运行后在Navicat里如下: 代码如下: package ...
随机推荐
- STM32标准外设库中USE_STDPERIPH_DRIVER, STM32F10X_MD的含义
在项目中使用stm32标准外设库(STM32F10x Standard Peripherals Library)的时候,我们会在项目的选项中预定义两个宏定义:USE_STDPERIPH_DRIVER, ...
- 浅谈:@RequestBody,@ResponseBody 和 @RequestParam
1. @RequestBody @RequestBody:主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据) GET方式无请求体,所以使用@RequestBody接收数据时,前端不 ...
- 「 刘一哥与GIS的故事 」专业技术博文专栏目录索引
刘一哥,多年研究地图学.地理信息系统.遥感.摄影测量和GPS等应用,精通ArcGIS.MapGIS.ENVI.Erdas.CASS.Pix4d.CC.PhotoScan.Inpho.EPS.Globa ...
- 企业微信三种token
http://www.upwqy.com/doc/28.html 基本配置介绍 区分三种类型access_token 服务商的token 说明:以corpid(服务商CorpID).provider_ ...
- Java设计模式(1:软件架构设计七大原则及开闭原则详解)
前言 在日常工作中,我们使用Java语言进行业务开发的时候,或多或少的都会涉及到设计模式,而运用好设计模式对于我而言,又是一个比较大的难题.为了解决.克服这个难题,笔主特别开了这个博客来记录自己学习的 ...
- EyeQ进展The Evolution of EyeQ
EyeQ进展The Evolution of EyeQ Mobileye's proven leadership in ADAS technologies is based in our EyeQ f ...
- MPC算法
MPC算法 一. 引言 在工程技术方面,MPC全称可指Model Predictive Control模型预测控制(又称RHC, Receding Horizon ). 模型预测控制算法 一种 ...
- 使用TensorRT集成推理inference
使用TensorRT集成推理inference 使用TensorRT集成进行推理测试. 使用ResNet50模型对每个GPU进行推理,并对其它模型进行性能比较,最后与其它服务器进行比较测试. ResN ...
- 《python网络数据采集》笔记2
1.网页表单与登陆窗口 Requests 库擅长处理那些复杂的 HTTP 请求.cookie.header(响应头和请求头)等内容. 1)表单提交 import requests #字段 params ...
- Class.forName()、Class.forName().newInstance() 、New 三者区别!
终于明白为什么加载数据库驱动只用Class.forName()了!!困扰了我2个小时!!希望我写的这个东西对各位有所帮助. 在Java开发特别是数据库开发中,经常会用到Class.forNa ...