文件一: 调用(sqls文件)

 # 导入模块
import pymysql
from sqls import *
# 创建类
class KaoShi(object): # 初始化
def __init__(self):
self.db = pymysql.connect(
host='localhost',
port=3306,
user='root',
passwd='',
db='test'
)
self.cur = self.db.cursor() # 实例对象销毁的时候,关闭游标和数据库
def __del__(self):
self.cur.close()
self.db.close() # 插入
def insert01(self, q1):
m = str(tuple(q1))
sql = "insert students values %s" % m
self.cur.execute(sql)
self.db.commit() # 查询
def select02(self, q):
for k, v in q.items():
sql = 'select * from students where %s = "%s"' % (k, v)
self.cur.execute(sql)
for i in self.cur:
print(i)
print()
ret = self.cur.fetchall()
# 返回多个元组
if ret:
print(ret)
else:
print('没有找到 %s' % v) # 更新
def update03(self, q1, q2):
for k1, v1 in q1.items():
sql = "update students set %s = '%s' " % (k1, v1) for k2, v2 in q2.items():
sql += " where %s = %d " % (k2, v2)
print(sql)
self.cur.execute(sql)
self.db.commit() # 删除
def delete04(self, q):
print(q)
for k, v in q.items():
sql = "delete from students where %s = '%s' " % (k, v)
self.cur.execute(sql)
self.db.commit() # 查询
def count05(self, q):
print(q)
for k, v in q.items():
sql = 'select count(*) from students where %s = "%s"' % (k, v)
self.cur.execute(sql)
ret = self.cur.fetchall()
print(ret) print('查询到的数量为:', ret[0][0]) # 插入5条数据
def insert06(self, q):
print(q)
self.cur.execute(q)
self.db.commit() # 删除
def delete07(self):
# cur.execute('delete from students')
self.cur.execute('truncate students')
self.db.commit() ks = KaoShi()
ks.insert01(q1)
ks.select02(q2)
ks.update03(q3_1, q3_2)
ks.delete04(q2)
ks.count05(q5)
ks.insert06(q6)
ks.delete07()

文件二: 命名为(sqls.py)

q1 = [0, '张三', 12, 1, '汉族', '八维学校附近地下室八层999', 13899998888]

q2 = {'name': '王五'}

q3_1 = {'name': '李四'}
q3_2 = {'age': 12} q5 = {'nation': '汉'} q6 = """
insert students values
(0, '孙越', 18, 1, '汉', '北京', 13899994444),
(0, '越', 16, 1, '满', '上海', 13899994488),
(0, '王祖', 98, 1, '蒙古', '深圳', 13899004422),
(0, '刘能', 70, 1, '契丹', '大连', 13899997799),
(0, '曹操', 40, 1, '汉', '天津', 13899994400);
""" """
create table students(
id int primary key auto_increment,
name varchar(20),
age tinyint,
gender enum ("男","女"),
nation char(5),13
address varchar(30),
tel varchar(20)
);
"""
x={'cui':"热心的网友"}
for k,v in x.items():
print(k)
print(v)

python_操作MySQL 初解 之__<类方法调用并 增-删-改-查>的更多相关文章

  1. python_操作MySQL 初解

    单文件操作数据库 import random import threading, multiprocessing import time, datetime import pymysql import ...

  2. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

  3. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  4. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

  5. Mysql基本操作语句 增-删-改-查

    增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...

  6. 怎样从C#中打开数据库并进行 增 删 改 查 操作

    首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登 ...

  7. Java操作MongoDB:连接&增&删&改&查

    1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...

  8. day 37-8 关于mysql 的增 删 改 查 及联合列表

    1      VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR  :字符串的意思(区别就有几位数字 必须写几位) INT   整数(位数) 输入的数字 ...

  9. django单表操作 增 删 改 查

    一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...

随机推荐

  1. 使用Hexo和Github搭建博客站

    本人电脑系统为window 10专业工作站版,64位 相关步骤: 1.安装Node.js和配置好Node.js环境,打开cmd命令行,成功界面如下 2.安装Git和配置好Git环境,安装成功的象征就是 ...

  2. docker的数据管理

    容器中管理数据主要有两种方式: 1.数据卷:容器内数据直接映射到本地宿主机. 2.数据卷容器:使用特定容器维护数据卷 数据卷: 数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器. ...

  3. HDU 5119 Happy Matt Friends ——(背包DP)

    题意:有最多40个数字,取任意个数字他们的异或和>=k则是可行的方案,问有多少种可行的方案. 分析:dp[now][j]表示当前这个值的种类数,那么转移方程为dp[now][j] = dp[pr ...

  4. IDEA如何将写好的java类(UDF函数)打成jar包上传linux

    一.编写一个UDF函数,实现将字符串大写转小写 import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; ...

  5. 代码审计之seacms v6.54 前台Getshell 复现分析

    1.环境: php5.5.38+apache+seacms v6.54 上一篇文章针对seacms v6.45 进行了分析,官方给出针对修复前台geishell提供的方法为增加: $order = ( ...

  6. PHPstrom中关闭提示信息

    设置里面搜索parameter name hints

  7. LC 841. Keys and Rooms

    There are N rooms and you start in room 0.  Each room has a distinct number in 0, 1, 2, ..., N-1, an ...

  8. LoadRunner 技巧之协议分析

    LoadRunner 技巧之协议分析 在做性能测试的时候,协议分析是困扰初学者的难题,选择错误的协议会导致Virtual User Generator 录制不到脚本:或录制的脚本不完整,有些应用可能需 ...

  9. idea用法

    更新gradle的依赖后,刷新项目引入jar包的方法: view--Tool Buttons 在右侧 Gradle 点刷新

  10. VM虚拟机网络设置

    两台PC安装了虚拟机和XP,采用“桥接”模式,设置了两个虚拟机的地址为同网段.但发现飞Q可以联通,数据库无法连接,且ping不通. 解决: (1)将防火墙关闭. (2)通过“虚拟网络编辑器”将该网络桥 ...