python操作数据库之添加数据

先说一下前提工作,创建一个mydb的库,其中有一个users的表,csdn中的文件如下

其中index.html是一个简单的主页

具体代码为

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>用户信息</title>
</head>
<body>
    <ul>
        <li><a href="./cgi-bin/list.py">用户列表</a></li>
        <li><a href="add.html">用户添加</a></li>
    </ul>
    
</body>
</html>

add.html的内容为:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>添加用户</title>
</head>
<body>
    <form action="./cgi-bin/add.py" method="post">
        用户名:<input type="text" name="username"><br>
        性别:<input type="radio" name="sex" value="男">男
        <input type="radio" name="sex" value="女">女<br>
        年龄:<input type="text" name="age"><br>
        电话:<input type="text" name="phone"><br>
        <button>提交</button>
    </form>
</body>
</html>

cgi-bin文件夹下的文件为:

其中add.py中的代码为:

#! /usr/bin/env python3
import pymysql,cgi

print('Content-type:text/html;charset=utf-8')
print()


# 接收数据
fs = cgi.FieldStorage()
# print(fs)


data = {}
for i in fs:
    data[i] = fs[i].value
    # print(data[i])

# 打开数据库链接
db = pymysql.connect('127.0.0.1','root','123456','mydb',charset='utf8')


# 使用cursor()创建一个游标对象
cursor = db.cursor()

# sql语句
sql = 'insert into users(username,sex,age,phone) values("{username}","{sex}","{age}","{phone}")'.format(username=data['username'],sex=data['sex'],age=data['age'],phone=data['phone'])

# print(sql)

try:
    cursor.execute(sql)


    db.commit()
    print('<script>alert("添加成功");location.href="/cgi-bin/list.py"</script>')
except:
    db.rollback()
    print('<script>alert("添加失败");location.href="/add.html"</script>')


db.close()

list.py中的代码为:

#! /usr/bin/env python3
import pymysql,cgi

print('Content-type:text/html;charset=utf-8')
print()


# 连接数据库
db = pymysql.connect('127.0.0.1','root','123456','mydb',charset='utf8')

# 创建一个游标对象
cursor = db.cursor()


# 执行sql语句
sql = 'select * from users'

cursor.execute(sql)

# 使用fetchall()获取全部数据
data = cursor.fetchall()
trs = ''
for i in data:
    trs +='''
        <tr>
            <td>{ID}</td>
            <td>{name}</td>
            <td>{sex}</td>
            <td>{age}</td>
            <td>{phone}</td>
            <td>
                <a href="">删除</a>
                <a href="">修改</a>
            </td>
        </tr>
    '''.format(ID=i[0],name=i[1],sex=i[2],age=i[3],phone=i[4])
html='''
    <center>
        <table>
            <tr>
                <td>ID</td>
                <td>用户名</td>
                <td>性别</td>
                <td>年龄</td>
                <td>电话</td>
                <td>操作</td>
            </tr>
            {}
        </table>
    </center>
'''.format(trs)
print(html)

我的服务器端口是8080,所以在浏览器中数据127.0.0.1:8080

点击用户列表页的时候,会自动跳转到list.py文件中,会显示出数据库中的用户的具体信息:

 

在index.html中点击用户添加会跳转到add.html中:

输入用户信息后,点击提交,会跳转到list.py文件中,添加失败后,会跳转到add.html 文件中,代码在上面

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值