python 数据库编程 使用mysql

1连接mysql

 例子:

mysql常见命令:

帮助  :help

退出:exit 和quit

显示所有数据库      show databases

创建数据库     create database 数据库名;

使用数据库    use 数据库名;

删除数据库    drop database 数据库名;

管理表:

show tables 表名;

create table 表名;

drop table 表名;

查看表结构      desc 表名;

例:

添加数据

python官方数据库api

建立数据库连接

游标:暂时的保存sql语句所影响的对象
 

执行过程:

          

查询操作

有条件查询

import pymysql

# 1建立数据库连接
connection = pymysql.connect(host='localhost',
                             user='zy',
                             password='xzsnm2',
                             database='testdb',
                             charset='utf8'
                             )

# 2.创建游标对象
with connection.cursor() as cursor:
    #   3.执行SQl操作
    sql = 'select name,userid from user where userid > %s'  # %s表示一个参数 取下面执行语句中列表的值
    cursor.execute(sql, [0])

    # 4.提取结果集
    result_set = cursor.fetchall()  #提取所有的
    print(result_set)

    # 5.关闭游标
    # cursor.close()

# 6.关闭数据库连接
connection.close()

无条件查询

import pymysql

# 1建立数据库连接
connection = pymysql.connect(host='localhost',
                             user='zy',
                             password='xzsnm2',
                             database='testdb',
                             charset='utf8'
                             )

# 2.创建游标对象
with connection.cursor() as cursor:
    #   3.执行SQl操作
    sql = 'select max(userid) from user'  # %s表示一个参数 取下面执行语句中列表的值
    cursor.execute(sql)

    # 4.提取结果集
    result_set = cursor.fetchone()   #取出一个 用fetchone
    print(result_set)

    # 5.关闭游标
    # cursor.close()

# 6.关闭数据库连接
connection.close()

插入操作

import pymysql


def get_max_userid():  # 得到最大id的函数
    connection = pymysql.connect(host='localhost',
                                 user='zy',
                                 password='xzsnm2',
                                 database='testdb',
                                 charset='utf8'
                                 )

    with connection.cursor() as cursor:
        sql = 'select max(userid) from user'
        cursor.execute(sql)

        result_set = cursor.fetchone()  # 取出一个 用fetchone
        print(result_set[0])
        return result_set[0]

    connection.close()


# 1建立数据库连接
connection = pymysql.connect(host='localhost',
                             user='zy',
                             password='xzsnm2',
                             database='testdb',
                             charset='utf8'
                             )
try:
    # 2.创建游标对象
    with connection.cursor() as cursor:
        max_id = get_max_userid()
        # 3.执行SQl操作
        sql = 'insert into USER (userid,name) VALUE (%s,%s)'  # 插入操作
        id = max_id + 1
        name = 'tom' + str(id)
        cursor.execute(sql, [id, name])

        # 4.提交数据库事物
        connection.commit()
        print('插入成功')
except pymysql.DatabaseError:
    # 4.出错,回滚数据库事物
    connection.rollback()
    print('插入失败')
    # 5.关闭游标
    # cursor.close()
finally:
    # 6.关闭数据库连接
    connection.close()

数据更新

import pymysql

# 1建立数据库连接
connection = pymysql.connect(host='localhost',
                             user='zy',
                             password='xzsnm2',
                             database='testdb',
                             charset='utf8'
                             )
try:
    # 2.创建游标对象
    with connection.cursor() as cursor:
        # max_id = get_max_userid()
        # 3.执行SQl操作
        sql = 'update user set name=%s WHERE userid=%s'  # 更新

        cursor.execute(sql, ['ING', 2])

        # 4.提交数据库事物
        connection.commit()
        print('更新成功')
except pymysql.DatabaseError:
    # 4.出错,回滚数据库事物
    connection.rollback()
    print('更新失败')
    # 5.关闭游标
    # cursor.close()
finally:
    # 6.关闭数据库连接
    connection.close()

删除操作

import pymysql

# 1建立数据库连接
connection = pymysql.connect(host='localhost',
                             user='zy',
                             password='xzsnm2',
                             database='testdb',
                             charset='utf8'
                             )
try:
    # 2.创建游标对象
    with connection.cursor() as cursor:
        # max_id = get_max_userid()
        # 3.执行SQl操作
        sql = 'delete from user  WHERE userid=%s'  # 更新

        cursor.execute(sql, [5])

        # 4.提交数据库事物
        connection.commit()
        print('删除成功')
except pymysql.DatabaseError:
    # 4.出错,回滚数据库事物
    connection.rollback()
    print('删除失败')
    # 5.关闭游标
    # cursor.close()
finally:
    # 6.关闭数据库连接
    connection.close()

猜你喜欢

转载自blog.csdn.net/weixin_41977938/article/details/81390103