Python对MySQL进行增删查改

python连接MySQL数据库:pymysql

# 测试操作
import pymysql

# 打开数据库
db = pymysql.connect("localhost", "root", "test1234", "pythontest", charset=‘utf8‘ )
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute执行sql语句
cursor.execute("select * from user")
data = cursor.fetchall()
print(data)
db.close()

数据库user表:

User类:

class User:

    def __init__(self, id, username, birth_data, money, father, mother):
        self.id = id
        self.username = username
        self.birth_data = birth_data
        self.money = money
        self.father = father
        self.mother = mother

    def set_username(self, name):
        self.username = name

    def get_username(self):
        return self.username

    def set_money(self, money):
        self.money = money

    def get_money(self):
        return self.money

    def print(self):
        if self.father == None:
            # print("id:", self.id, " father= NULL mother=NULL")
            print("id: {} username: {} father= NULL mother= NULL".format(self.id, self.username))
        else:
            # print("id:", self.id, " father=", self.father.username, "  mother=", self.mother.username)
            print("id: {} username: {}".format(self.id, self.username))

增删查改:

# 增删查改
from Practice_Recode.UserTest.User import User
import pymysql

def openDb():
    global db, cursor
    db = pymysql.connect("localhost", "root", "test1234", "pythontest", charset=‘utf8‘)
    cursor = db.cursor()

def closeDb():
    db.close()

# 按照用户id查询用户记录(输出相应内容,并返回查到的user对象)
def serarchDb(id):
    openDb()
    sql = "select * from user where id = " + str(id)
    rst = cursor.execute(sql)
    if rst == 0:
        # print("查找失败")
        return None
    else:
        # print("查找成功")
        data = cursor.fetchone()
        # print(data)
        user1 = User(data[0], data[1], data[2], int(data[3]), data[4], data[5])
        return user1
    closeDb()

# 按照用户id删除用户记录
def deleteDb(id):
    openDb()
    sql = "delete from user where id = " + str(id)
    rst = cursor.execute(sql)
    if rst == 0:
        print("删除失败")
    else:
        print("删除成功")
    closeDb()

# 新增用户
def insertDb(user1):
    openDb()
    sql = "insert into user values(‘%d‘,‘%s‘,‘%s‘,‘%d‘,‘%s‘,‘%s‘)" % (
        user1.id, user1.username, user1.birth_data, user1.money, user1.father, user1.mother)
    # "INSERT INTO mytb(title,keywd) VALUES(‘%s‘,‘%s‘)"%(x,y)
    cursor.execute(sql)
    db.commit()
    closeDb()

# 更新用户信息
def updateDb(user1):
    openDb()
    sql = "update user set username = ‘%s‘, money=‘%d‘ where id=‘%d‘" % (user1.username, user1.money, user1.id)
    # update user set username=‘C‘, money=9999 where id=5;
    rst = cursor.execute(sql)
    if rst == 0:
        print("更新失败")
    else:
        print("更新成功")
    closeDb()

#  测试数据
# testuser = serarchDb(5)
# testuser.set_username(‘C‘)
# testuser.set_money(9082)
# # print(testuser.id, testuser.username, testuser.money, testuser.father, testuser.mother)
# updateDb(testuser)

# user1 = User(5, "c", "1111-03-11", 10000, father=‘A‘, mother=‘a‘)
# insertDb(user1)
# user2 = User(0, "d", "1111-03-11", 10000, ‘A‘, ‘a‘)  # 自增键id设置为0,新增时即可实现自增
# insertDb(user2)

# user2 = User(1, "A", "1111-03-11", 10000, father=None, mother=None)
# user3 = User(2, "a", "1111-03-11", 10000, father=None, mother=None)
# user1 = User(3, "B", "1111-03-11", 10000, user2, user3)
# user1.dayin()
# user1.father.dayin()

查找某个用户的祖辈:

# 查找当前user所有的亲缘关系
# father,monther,father‘s father,fahter‘s mother

from Practice_Recode.UserTest.test02 import *
import pymysql

def openDb():
    global db, cursor
    db = pymysql.connect("localhost", "root", "test1234", "pythontest", charset=‘utf8‘)
    cursor = db.cursor()

def closeDb():
    db.close()

# 查找所有用户id,并返回ids,users
def serarchDbAll():
    openDb()
    ids = []
    users = []
    sql = "select * from user"
    rst = cursor.execute(sql)
    if rst == 0:
        # print("查找失败")
        return None
    else:
        # print("查找成功")
        data = cursor.fetchall()
        for i in range(len(data)):
            user = User(0, "", "", 0, "", "")
            user.id = data[i][0]
            user.username = data[i][1]
            user.birth_data = data[i][2]
            user.money = data[i][3]
            user.father = data[i][4]
            user.mother = data[i][5]
            users.append(user)
            ids.append(data[i][0])
    closeDb()
    return ids, users

# 根据名字返回这个人用户对象(未考虑重名问题)
def NameSearchUser(name):
    ids, users = serarchDbAll()
    for user in users:
        if user.username == name:
            return user
    return None

# 找某用户的爸爸用户
def searchFa(user):
    if user.father != None:
        fauser = NameSearchUser(user.father)  # 根据爸爸的名字返回爸爸用户
        if fauser != None:
            print("他的名字是:", fauser.username)
            return fauser
    print("他的名字为空")
    return None

# 找某用户的妈妈用户
def searchMo(user):
    if user.mother != None:
        mouser = NameSearchUser(user.mother)  # 根据名字返回妈妈用户
        if mouser != None:
            print("她的名字是:", mouser.username)
            return mouser
    print("她的名字为空")
    return None

# 查找13号的祖先
currentuser = serarchDb(13)  # 得到13号用户本人
print("当前用户是:", currentuser.username)

print("当前用户的父亲是:")
cur_fa = searchFa(currentuser)  # 得到当前用户的父亲
print(cur_fa)

print("当前用户的母亲是:")
cur_mo = searchMo(currentuser)  # 得到当前用户的母亲
print(cur_mo)

print("当前用户的爷爷:")
cur_fa_fa = searchFa(cur_fa)  # 得到当前用户的爷爷
print(cur_fa_fa)

print("当前用户的奶奶:")
cur_fa_mo = searchMo(cur_fa)  # 得到当前用户的奶奶
print(cur_fa_mo)

print("当前用户的姥爷:")
cur_mo_fa = searchFa(cur_mo)  # 得到当前用户的姥爷
print(cur_mo_fa)

print("得到当前用户的姥姥:")
cur_mo_mo = searchMo(cur_mo)  # 得到当前用户的姥姥
print(cur_mo_mo)

原文地址:https://www.cnblogs.com/dong973711/p/11969533.html

时间: 2024-12-08 22:59:39

Python对MySQL进行增删查改的相关文章

python中列表的增删查改

本文将学习python中对列表中的元素进行增删查改操作以l为例:l=['hello','tomorrow','!']1.增加:(1)在列表末尾增添元素:列表名.append('element') l.append('hello') print(l) 输出:(2)在列表任意位置插入元素:列表名.insert(索引,'element')l.insert(1,"luu's")print(l)输出: 2.删除(1)del 列表名[序号] del l[1] print(l) (2)列表名.pop

JDBC 操作mysql 实现增删查改

package com.eduk.demo; import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement; public class JDBCOperation {    private st

php+mysql基础增删查改

php连接数据库有MySQLi和PDO两种方法 以下以PDO为例 一.创建数据库表(students) 二.连接数据库(db.php) $dsn:数据库连接服务器,数据库名称$db_user:登录数据库名称$db_pass:登录数据库密码 1 <?php 2 $dsn="mysql:dbname=phpsql;host=localhost;charset=utf8"; 3 $db_user='root'; 4 $db_pass='123456'; 5 try{ 6 $pdo=ne

VisualStudio 连接 MySql 实现增删查改

首先创建数据库,建立一个用户登录表 2.visualStudio默认是不支持MySql的,要想通过Ado.Net 操作MySql 需要在管理NeGet包添加对MySql.Data  和 MySql.Data.Entity的引用 3.在app.Config中添加数据库连接信息 4.前端页面代码: 1 <WrapPanel> 2 <Button Content="是否存在" Name="IsExitBtn" Click="IsExitBtn_

php mysql增删查改

php mysql增删查改代码段 $conn=mysql_connect('localhost','root','root');  //连接数据库代码 mysql_query("set names utf8");  //传输编码 mysql_query('sql'$conn); //查找名为sql的数据库 admin为表名: 查找数据代码段: $sql="select * from admin ";  //查询表: $sql="select  * from

mysql基础知识之增删查改使用介绍

 mysql基础知识之增删查改使用介绍 本文主要介绍mysql常用的SELECT.INSERT.UPDATE.DELETE语句的使用,数据库的安装这里不做介绍,并且事先已经准备好相关数据. 本文中使用的student表中的数据如下: mysql> SELECT * FROM student; 一.SELECT语句的使用 1.单表查询 语法格式: SELECT culom1,culom2,culom3 FROM TABLE_NAME; 可以改变字段显示顺序 2.WHERE子句查询 语法格式: SE

nodejs连接mysql并进行简单的增删查改

最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs中的mysql模块 npm install mysql 在连接数据库之前,要先引入nodejs连接处理mysql的模块 var mysql = require('mysql'); 类似php连接mysql的方式,编写连接代码 //使用nodejs处理mysql的模块,使用创建连接方法,创建与mysq

mysql简单操作,增删查改.

当我们装好mysql数据库时,初学者可以进行简单的增删查改练习: 第一步打开mysql 先启动cmd命令窗口 输入mysql -u root -p 在输入密码就进入到了mysql 进入mysql之后: 输入命令show databases; 查看数据库 然后我们创建一个数据库school,对数据表和元素进行操 进入数据库 use + 数据库名 然后进行建表操作 这样我们的学生表就创建好了 然后给里面添加数据:如果想加入中文的话加一个命令 set names gbk; 不然就会报错,像这样 这样就

MyBatis笔记----Mybatis3.4.2与spring4整合:增删查改

结构图 刚之前没什么区别,多了一个applicationContext.xml 包图 由于之前出了一点错误,有些包可能多加上了 数据库图 model User.java package com.ij34.model; public class User { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.