python_操作MySQL 初解 之__<类方法调用并 增-删-改-查>
文件一: 调用(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 初解 之__<类方法调用并 增-删-改-查>的更多相关文章
- python_操作MySQL 初解
单文件操作数据库 import random import threading, multiprocessing import time, datetime import pymysql import ...
- php5.4以上 mysqli 实例操作mysql 增,删,改,查
<?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...
- 简单的php数据库操作类代码(增,删,改,查)
这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...
- Go语言之进阶篇mysql增 删 改 查
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
- Mysql基本操作语句 增-删-改-查
增 INSERT INTO 表名(属性名1,属性名2) VALUES(值1,值2) 删 DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子 ...
- 怎样从C#中打开数据库并进行 增 删 改 查 操作
首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登 ...
- Java操作MongoDB:连接&增&删&改&查
1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...
- day 37-8 关于mysql 的增 删 改 查 及联合列表
1 VARCHAR : 字符串的意思 (括号内的数字代表尾数) 输入的字符串在这个范围内都行 CHAR :字符串的意思(区别就有几位数字 必须写几位) INT 整数(位数) 输入的数字 ...
- django单表操作 增 删 改 查
一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取出数据. 目的:通过classes(班 ...
随机推荐
- Miller Robin大素数判定
Miller Robin算法 当要判断的数过大,以至于根n的算法不可行时,可以采用这种方法来判定素数. 用于判断大于2的奇数(2和偶数需要手动判断),是概率意义上的判定,因此需要做多次来减少出错概率. ...
- html基础(选择器,font属性 )
css选择器 css与html的关系 css以html为基础 css主要设置的就是html标签中的属性样式,css进行网页布局. css语法 选择器{属性:值,属性:值} css选择 ...
- y7000笔记本 darknet-yolo安装与测试(Ubuntu16.04+Cuda9.0+Cudnn7.1)
https://zhuanlan.zhihu.com/p/41096599 1.先查看是否安装有以下组件,若有先考虑彻底删除再安装(安装严格按照下面顺序进行) 查看nvidia 版本 nvidia-s ...
- ARTS打卡计划第六周
Algorithms: https://leetcode-cn.com/problems/longest-palindromic-substring/ 中心扩展法首先考虑,当然看到有个动态规划,一直很 ...
- git上传项目已经删除文件,但是Jenkins中没有删除
jenkins 缓存造成的,需要清理工作空间
- Function和Object 应该知道的
javascript有5种基础的内建对象(Fundamental Objects),Object.Function.Error.Symbol.Boolean,而Object/Function尤为特殊, ...
- JVM----Java内存模型与线程
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等 ...
- LeetCode 86. 分隔链表(Partition List)
题目描述 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1-> ...
- 苹果应用(.ipa)打包和上传,不用通过苹果商店即可用
签名工具: appuploader(.p12:.cer) 打包平台: http://www.lbuilder.com(收费) 上传平台: http://www.58apk.com (每日50次下载,加 ...
- [学习笔记] MRF 入门
MRF马尔科夫随机场入门 Intro MRF是一种广泛应用于图像分割的模型,当然我看到MRF的时候并不是因为分割,而是在图像生成领域,有的paper利用MRF模型来生成图像,因此入门一下MRF,并以分 ...