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(班 ...
随机推荐
- hive连接hbase
使用hive连接hbase 前提说明:一个hive表指向一个hbase表,一对一,不能多对一 建立外部表 CREATE EXTERNAL TABLE test_hbase( key string, m ...
- 浅淡数据仓库(二)星型模式与OLAP多维数据库
在关系数据库管理系统中实现的维度模型称为星型模型模式,因为其结构类似星型结构.在多为数据库环境中实现的维度模型通常称为联机分析处理(OLAP)多维数据库
- pyton3的数字操作你都会用吗?
'''数字数据类型用于存储数值.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配空间. 1.del(用于删除一些数字对象的引用) 2.整形(int)通常被称为是整形或者整数,是正 ...
- kali随便写 kali更新源配置
./ +文件目录 是执行文件的意思 kali修改更新源及更新 进入源文件进行修改 leafpad /etc/apt/sources.list (其实系统本身就自带了更新源,去掉其注释也是可以的,现在 ...
- SQL复杂查询语句-SELECT * FROM cs WHERE score>70 GROUP BY s_id HAVING COUNT(*)>1
如果同时存在where,group by,的时候的执行顺序应该是这样的: 1,首先where后面添加条件把数据进行了过滤,返回一个结果集 2,然后group by将上面返回的结果集进行分组,返回一个结 ...
- thinkphp session 跨域问题解决方案
session 跨域,困扰我好几天,今天终于弄明白了! 不管是thinkphp ,还是本身的php 其实都要设置session.cookie_domain 设置好,就OK了 在thinkphp 里,在 ...
- MIL/SIL/PIL/HIL/VIL
MIL:Model in the loop 模型在环,对模型在模型的开发环境下(如SIMULINK)进行仿真,通过输入一系列的测试用例,验证模型是否满足设计的功能需求.验证控制算法模型是否准确地实现了 ...
- vue 登录路由判断
router.beforeEach((to, from, next) => { // alert(sessionStorage.getItem('accessToken')) // consol ...
- C++学习 之 初识C++
声明: 本人自学C++, 没有计算机基础,在学习的过程难免会出现理解错误,出现风马牛不相及的现象,甚至有可能会贻笑大方. 如果有幸C++大牛能够扫到本人的博客,诚心希望大牛能给予 ...
- javascript之Prototype属性
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...