文件一: 调用(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. Codeforces Gym Joyride(分层图,dijkstra)

    题意:有一张图,每条边有一个边权t表示经过所花时间,每个点有两个权t.p,分别表示经过该点所花时间和所花费用,要求找一条路径,从点1出发再回到点1,所花时间恰好为x且费用最小,输出其费用,找不到则输出 ...

  2. Bzoj3073Journeys

    这不裸的dij吗?来,弄他. 打完以后发现不妙,这数据范围略神奇……算一算,考一场都可能跑不出来.map去重边(成功额外引入log)不怕,交.TLE,54. 这不玩呢吗,把map去了,交.MLE,71 ...

  3. 邻居子系统 之 更新neigh_update

    概述 neigh_update函数用来更新指定的邻居项,更新内容是硬件地址和状态,更新之后,会根据新状态设置其输出函数,CONNECTED状态则使用快速输出,否则使用慢速输出:如果是由原来的无效状态变 ...

  4. Java-JVM 自定义类加载器

    一.sun.misc.Launcher (ExtClassLoader 与 AppClassLoader 的创建) public Launcher() { Launcher.ExtClassLoade ...

  5. CSS 浮动 float 属性

    浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 请看下图,当把框 1 向右浮动时,它 ...

  6. Redis Cluster 官方集群搭建指南

    安装ruby环境因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl. 安装openssl $ wget https://www.open ...

  7. 数据中心网络架构的问题与演进 — Overlay 网络

    目录 文章目录 目录 前文列表 数据中心网络架构演进回顾 Overlay 网络 Overlay 网络的优势 基于 VxLAN Overlay 的 Spine-Leaf 网络架构 参考文章 前文列表 & ...

  8. 手动部署 OpenStack Rocky 双节点

    目录 文章目录 目录 前言 OpenStack 架构 Conceptual architecture Logical architecture 网络选型 Networking Option 1: Pr ...

  9. .NetCore 使用VSCode多项目调试

    使用VSCode可以调试.Net Core,但是调多个项目就需要进行一番设置. 首先创建一个总文件夹,以NetProjects文件夹为例,并创建一个解决方案.然后创建俩个.NetCore项目,并添加到 ...

  10. iOS UItextView监听输入特定字符跳转页面选择选项返回

    今天有朋友问我一个需求的实现,于是自己写了一个Demo简单的实现了一下: 需求是: 1>比如: 检测用户输入"A"字符串,跳转页面选择选项,将选择的选项放置textView里 ...