在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数据库实现增删改查(一)的更多相关文章

  1. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  2. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  3. C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

  4. 【C#】使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  5. 使用nodejs连接mysql数据库实现增删改查

      首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...

  6. 使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  7. php 连接mysql数据库以及增删改查

    php 连接数据库 一般是用面向对象的方法,需要先创建一个对象,即造一个连接对象,然后再写sql语句,(增改查删),最后执行sql语句 其中在创建连接对象时 我们用到的是MySQLI  是不区分大小写 ...

  8. php之PDO连接mysql数据库,增删改查等等操作实例

    我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严就有SQL注入风险,导致网站被攻击. 虽然可以用mysql_real_escape_string ...

  9. MyEclipse 05_连接mysql数据库进行增删改查

    例子: 1.在数据库中建立如下表 2. 在MyEclipse里按本主博客文MyEclipse 03_jdbc连接数据库,注意数据库名要一致  运行后在Navicat里如下: 代码如下: package ...

随机推荐

  1. 拉勾、Boss直聘、内推、100offer

    BOSS直聘 拉勾.Boss直聘.内推.100offer  

  2. 058.Python前端Django与Ajax

    一 Ajax简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是"异步Javascript和XML".即使用Javascript语言与服务 ...

  3. 041.Python守护进程,锁信号量和事件

    一 守护进程 1.1 基本概念 守护进程 正常情况下,主进程默认等待子进程调用结束之后结束 守护进程在主进程执行代码结束后,自动终止 守护进程语法: 进程对象.daemon = True ,设置该进程 ...

  4. 面试官问:ZooKeeper 有几种节点类型?别再说 4 种啦!

    本文作者:HelloGitHub-老荀 好久没更新 ZK 的文章了,我想死你们啦.之前发布的 HelloZooKeeper 系列文章完结后,项目收获了将近 600 个 star.这远远超过了我自己的预 ...

  5. WEB安全防护相关响应头(上)

    WEB 安全攻防是个庞大的话题,有各种不同角度的探讨和实践.即使只讨论防护的对象,也有诸多不同的方向,包括但不限于:WEB 服务器.数据库.业务逻辑.敏感数据等等.除了这些我们惯常关注的方面,WEB ...

  6. sentinel入门

    sentinel下载:sentinel-dashboard-1.8.1.jar 下载完成后进入sentinel-dashboard-1.8.1.jar的文件夹,在cmd中输入java -jar sen ...

  7. [leetcode] 208. 实现 Trie (前缀树)(Java)

    208. 实现 Trie (前缀树) 实现Trie树,网上教程一大堆,没啥可说的 public class Trie { private class Node { private int dumpli ...

  8. 浅谈,seata在使用feign-url通过域名调用时分布式事务不生效的问题及解决

    浅谈,seata在使用feign-url通过域名调用时分布式事务不生效的问题及解决 ​ 在前几个月时,我们项目出现了分布式事务的问题,那么什么是分布式事务问题呢,简单的说,我们有俩服务A和B,它们对应 ...

  9. 用golang刷LeetCode

    用golang刷LeetCode 用Go语言刷LeetCode记录,只是为了练习Go语言,能力有限不保证都是最优解,只能在此抛转引玉了. 数据结构和算法 数据结构和算法是程序员的命根子,没了命根子也就 ...

  10. GO语言面向对象04---接口的继承

    package main import "fmt" type Animal interface { Eat(food string) (shit string) GoDie() } ...