文件一: 调用(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. 7.2 Mybatis

    7.2 Mybatis 平时我们都用JDBC访问数据库,除了需要自己写SQL之外,还必须操作Connection, Statement, ResultSet 这些其实只是手段的辅助类. 不仅如此,访问 ...

  2. 《SVG精髓》笔记(二)

    3. 文档结构 在SVG中使用样式(四种方式,可以联想对照HTML样式方法) 内联样式, 直接在标签里设置style属性 <circle cx='20' cy='20' r='10' style ...

  3. leetcode题目5.最长回文子串(中等)

    题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad"输出: "bab"注意: ...

  4. Lasso回归总结

    Ridge回归 由于直接套用线性回归可能产生过拟合,我们需要加入正则化项,如果加入的是L2正则化项,就是Ridge回归,有时也翻译为岭回归.它和一般线性回归的区别是在损失函数上增加了一个L2正则化的项 ...

  5. Coding Rules

    c语言按行读取的时候,注意用fgets可以读一行,但默认会把换行符也读进去,使用scanf("%s")却不会.

  6. Cortex-M3 操作模式与特权等级

    Cortex-M3支持2个模式(Handler模式.线程模式)和2个特权等级(特权级.非特权级). 当处理器处在线程模式时,既可以使用特权级,也可以使用非特权级. 当处理器处在Handler模式时,总 ...

  7. YJango的卷积神经网络——介绍

    原文地址:https://zhuanlan.zhihu.com/p/27642620 如果要提出一个新的神经网络结构,首先就需要引入像循环神经网络中“时间共享”这样的先验知识,降低学习所需要的训练数据 ...

  8. 品牌logo在EDM数据营销中的运用

    作为让客户识别并记住的“门面”, 品牌LOGO的设计与宣导一直都是品牌化输出的重中之重 . 而在邮件营销中,为了让用户在浏览邮件内容前先有品牌概念,营销人员在放置LOGO时常常仅把显眼突出纳入考虑因素 ...

  9. c# 动态编译CodeDomProvider.CompileAssemblyFromSource(CompilerParameters cp,string code)

    1.使用c#动态编译,可参考如下: //生成c#代码 string code = GenerateCode(); CodeDomProvider cdp = CodeDomProvider.Creat ...

  10. Mac部分命令

    报错: -bash: brew: command not found 解决: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercon ...