Python 3.x 连接数据库(pymysql 方式)

Python 3.x 连接数据库(pymysql 方式)

首先下载pymysql 模块可以通过 pip 安装pip3 install pymysql
出现Successfully installed pymysql-1.0.2 ,下载成功
1.MySQL先创建一个学生表,方便测试 pymysql 的功能

drop database if exists school;
create database school charset='utf8';
use school;
/*学生表*/
drop table if exists student;
create table student(
id int primary key auto_increment not null comment '学号',
name varchar(255) unique not null comment '姓名',
sex char(1) comment '0:男 1:女',
age int not null comment '年龄'
)engine=innodb auto_increment=100000 default charset=gbk;

insert into student(name,sex,age) values
('张三','男',18),
('李四','女',20),
('王五','男',19),
('赵六','女',21);
select*from student;

2.python

# 导入pymysql模块
import pymysql

# 连接到database(mysql数据库)
con = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='root',
    db='school',  # 库名
    charset='utf8'
)


# 插入数据
def insert():
    sql = "insert into student (name, sex, age) VALUES ('雷军', '男', 22)"
    cursor.execute(sql)
    con.commit()  # 提交
    print('添加成功!')


# 修改数据
def update():
    sql = "update student set name= '%s' where id=%d"
    data = ('猪八戒', 100003)
    cursor.execute(sql % data)
    con.commit()
    print('修改成功!')


# 查询数据
def select():
    sql = "select * from student where name='%s'"
    data = '猪八戒'
    cursor.execute(sql % data)
    print('查询成功!')
    print(cursor.fetchall())


# 删除数据
def delete():
    sql = "delete from student where id= %d "
    data = 100004
    cursor.execute(sql % data)
    con.commit()
    print('删除成功!')


if __name__ == '__main__':

    while True:
        print('*****************')
        print("1.插入数据")
        print("2.修改数据")
        print("3.查询数据")
        print("4.删除数据")
        n = input("请选择:")
        print(n)
        # 获取游标
        cursor = con.cursor()
        if n == '1':
            insert()
        elif n == '2':
            update()
        elif n == '3':
            select()
        elif n == '4':
            delete()
        else:
            print('输入有误!')
        # 关闭连接
        cursor.close()
        con.close()
        print('*****************')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值