mysql删改查数据

时间:2025-09-20 12:15:44  阅读量:  分类:标签:

修改数据表操作

修改表中的字段,把26,改成27

gai = "UPDATE stu2 set age=27 WHERE age=26"

# 这句话就是修改,UPDTA修改的意思,修改stu2 set设置成age=27,把age=26的数据。

import random

import pymysql


# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        # 编写sql语句1,创建一个表
        sql1 = '''
        CREATE TABLE stu2 (
              id int(11) NOT NULL AUTO_INCREMENT,
              name varchar(255) DEFAULT NULL,
              age int(11) DEFAULT NULL,
              hobby varchar(255) DEFAULT NULL,
              PRIMARY KEY (id)
            )
        '''
        for i in range(100):
            name = random.choice(["王五","赵六","吴芳","张三"])
            age = random.choice([23,26,24,21])
            hobby = random.choice(["看书","听歌","打球","跑步"])

            # 这句话就是修改,UPDTA修改的意思,修改stu2 set设置成age=27,把age=26的数据。
            gai = "UPDATE stu2 set age=27 WHERE age=26"

            # 编写sql语句2,删除一个表
            sql2 = '''
            drop table stu2    
            '''

            # 执行SQL语句
            # cursor.execute(sql1)  # 执行sql1语句
            cursor.execute(gai)  # 执行zid 语句,插入字段。
            # cursor.execute(sql2)   #有注释,所以sql2语句不会被执行
            # 提交数据
            conn.commit()
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()

删除表中的某一个字段

shan= "DELETE FROM stu2 WHERE hobby='跑步'"   #删除所有爱好等于跑步的数据。
import random
import pymysql

# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        # 编写sql语句1,创建一个表
        sql1 = '''
        CREATE TABLE stu2 (
              id int(11) NOT NULL AUTO_INCREMENT,
              name varchar(255) DEFAULT NULL,
              age int(11) DEFAULT NULL,
              hobby varchar(255) DEFAULT NULL,
              PRIMARY KEY (id)
            )
        '''
        for i in range(100):
            name = random.choice(["王五","赵六","吴芳","张三"])
            age = random.choice([23,26,24,21])
            hobby = random.choice(["看书","听歌","打球","跑步"])

            # 这句话就是修改,UPDTA修改的意思,修改stu2 set设置成age=27,把age=26的数据。
            gai = "UPDATE stu2 set age=27 WHERE age=26"
            shan= "DELETE FROM stu2 WHERE hobby='跑步'"   #删除所有爱好等于跑步的数据。

            # 编写sql语句2,删除一个表
            sql2 = '''
            drop table stu2    
            '''

            # 执行SQL语句
            # cursor.execute(sql1)  # 执行sql1语句
            cursor.execute(shan)  # 执行shan 语句,插入字段。
            # cursor.execute(sql2)   #有注释,所以sql2语句不会被执行
            # 提交数据
            conn.commit()
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()

删除整个表内的数据/删除整个表

shan= "DELETE FROM stu2"   #删除表内的所有数据
shan= "DROP TABLE stu2"   #删除整个表
import random

import pymysql


# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn

def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        # 编写sql语句1,创建一个表
        sql1 = '''
        CREATE TABLE stu2 (
              id int(11) NOT NULL AUTO_INCREMENT,
              name varchar(255) DEFAULT NULL,
              age int(11) DEFAULT NULL,
              hobby varchar(255) DEFAULT NULL,
              PRIMARY KEY (id)
            )
        '''
        for i in range(100):
            name = random.choice(["王五","赵六","吴芳","张三"])
            age = random.choice([23,26,24,21])
            hobby = random.choice(["看书","听歌","打球","跑步"])

            # 这句话就是修改,UPDTA修改的意思,修改stu2 set设置成age=27,把age=26的数据。
            shan= "DELETE FROM stu2"   #删除表内的所有数据

            # 编写sql语句2,删除一个表
            sql2 = '''
            drop table stu2    
            '''

            # 执行SQL语句
            # cursor.execute(sql1)  # 执行sql1语句
            cursor.execute(shan)  # 执行shan 语句,插入字段。
            # cursor.execute(sql2)   #有注释,所以sql2语句不会被执行
            # 提交数据
            conn.commit()
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()


查询数据,以ID为条件,一行数据。

#查询数据要删除conn.commit()提交数据语句,因为查询不需要数据提交的,因为查询没有对数据库进行任何更改操作。
import random
import pymysql
# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        cha="SELECT * FROM stu2 WHERE id=2"
        #执行查询语句
        print(cha)  #打印查询的路径
        cursor.execute(cha)
        #获取查询的返回结果
        da=cursor.fetchone() #获取一条数据用da去接收。
        # da1=cursor.fetchall() #获所有数据用da去接收。
        print(da)   #打印查询数据。
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()

查询数据,以年龄为条件,获取多行全部符合条件的数据。

#查询数据要删除conn.commit()提交数据语句,因为查询不需要数据提交的,因为查询没有对数据库进行任何更改操作。
import random
import pymysql
# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        cha="SELECT * FROM stu2 WHERE age>=25"
        #执行查询语句
        print(cha)  #打印查询的路径
        cursor.execute(cha)
        #获取查询的返回结果
        da1=cursor.fetchall() #获所有数据用da1去接收。
        print(da1)   #打印查询数据。
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()

利用for循环,把结果遍历出来。

#查询数据要删除conn.commit()提交数据语句,因为查询不需要数据提交的,因为查询没有对数据库进行任何更改操作。
import random
import pymysql
# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        cha="SELECT * FROM stu2 WHERE age>=25"
        #执行查询语句
        print(cha)  #打印查询的路径
        cursor.execute(cha)
        #获取查询的返回结果
        da1=cursor.fetchall() #获所有数据用da1去接收。
        print(da1)   #打印查询数据。
        for i in (da1):
            print(i)
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()

利用for循环,把结果遍历出来,并且获取某一个字段的数值,这里获取名字:

#查询数据要删除conn.commit()提交数据语句,因为查询不需要数据提交的,因为查询没有对数据库进行任何更改操作。
import random
import pymysql
# 获取数据库连接公共方法
def getConnection():
    host = "localhost"
    port = 3306  # 记得使用数字
    user = "zhanghao"
    password = "mima"
    db = "data"  # 数据库名称
    charset = "utf8"

    # 创建数据库连接对象,建立连接
    conn = pymysql.Connect(host=host, port=port, user=user, password=password, db=db, charset=charset)
    return conn


def main():
    conn = getConnection()
    # 创建游标对象(1.执行sql语句;2.处理查询结果)
    cursor = conn.cursor()
    try:
        print("数据库已连接.....")
        cha="SELECT * FROM stu2 WHERE age>=25"
        #执行查询语句
        print(cha)  #打印查询的路径
        cursor.execute(cha)
        #获取查询的返回结果
        da1=cursor.fetchall() #获所有数据用da1去接收。
        print(da1)   #打印查询数据。
        for i in (da1):
            print(i[1])
    except Exception as e:
        print("出现异常:", e)
    finally:
        cursor.close()  # 关闭游标
        conn.close()  # 关闭数据库连接


# ---------------------------
if __name__ == '__main__':
    main()