用python和mysql写一个对姓名、年龄进行增删改的代码
时间: 2023-03-30 07:02:30 浏览: 64
你好,我是 C 知道。以下是对您的问题的回答:
可以使用 Python 的 MySQLdb 模块来连接 MySQL 数据库,并使用 SQL 语句来进行增删改操作。以下是一个示例代码:
```python
import MySQLdb
# 连接数据库
db = MySQLdb.connect(host="localhost", user="root", passwd="password", db="test")
# 创建游标对象
cursor = db.cursor()
# 插入数据
sql = "INSERT INTO users(name, age) VALUES ('张三', 20)"
cursor.execute(sql)
db.commit()
# 更新数据
sql = "UPDATE users SET age = 21 WHERE name = '张三'"
cursor.execute(sql)
db.commit()
# 删除数据
sql = "DELETE FROM users WHERE name = '张三'"
cursor.execute(sql)
db.commit()
# 关闭游标和数据库连接
cursor.close()
db.close()
```
以上代码中,我们首先连接到 MySQL 数据库,然后创建游标对象,接着使用 SQL 语句进行增删改操作,最后提交事务并关闭游标和数据库连接。
希望这个回答能够帮助到您。
相关问题
帮我用python写一个简单的员工管理器,需要通过数据库进行增删改
好的,以下是一个简单的员工管理器示例,它使用 MySQL 数据库进行增删改查操作。在使用之前,需要先安装 `mysql-connector-python` 库。
```python
import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(user='username', password='password',
host='hostname',
database='database_name')
cursor = cnx.cursor()
# 添加员工
def add_employee(emp_id, name, salary):
add_employee_query = ("INSERT INTO employees "
"(emp_id, name, salary) "
"VALUES (%s, %s, %s)")
data = (emp_id, name, salary)
cursor.execute(add_employee_query, data)
cnx.commit()
print("员工添加成功!")
# 删除员工
def delete_employee(emp_id):
delete_employee_query = ("DELETE FROM employees "
"WHERE emp_id = %s")
data = (emp_id,)
cursor.execute(delete_employee_query, data)
cnx.commit()
print("员工删除成功!")
# 更新员工信息
def update_employee(emp_id, name, salary):
update_employee_query = ("UPDATE employees "
"SET name = %s, salary = %s "
"WHERE emp_id = %s")
data = (name, salary, emp_id)
cursor.execute(update_employee_query, data)
cnx.commit()
print("员工信息更新成功!")
# 查询员工信息
def query_employee(emp_id):
query_employee_query = ("SELECT * FROM employees "
"WHERE emp_id = %s")
data = (emp_id,)
cursor.execute(query_employee_query, data)
result = cursor.fetchone()
if result:
print("员工信息如下:")
print(f"员工编号:{result[0]}")
print(f"员工姓名:{result[1]}")
print(f"员工薪资:{result[2]}")
else:
print("没有找到该员工!")
# 关闭数据库连接
def close_connection():
cursor.close()
cnx.close()
# 测试代码
if __name__ == '__main__':
add_employee(1, '张三', 10000)
add_employee(2, '李四', 12000)
query_employee(1)
query_employee(2)
update_employee(1, '王五', 15000)
delete_employee(2)
query_employee(1)
query_employee(2)
close_connection()
```
在上面的代码中,我们定义了四个函数来实现增删改查操作,然后在 `if __name__ == '__main__':` 块中进行了测试。你可以根据自己的需求进行修改和扩展。
python实现mysql增删改
要实现Python对MySQL数据库的增删改操作,可以使用pymysql库。下面是具体的实现方法:
增加操作:
使用pymysql库连接到MySQL数据库,并执行插入操作。可以使用占位符的方式来防止SQL注入的问题。具体代码如下所示:
```
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test1')
return conn
def insert(sql, args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql, args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'INSERT INTO test_student_table VALUES(%s, %s, %s);'
args = (2, 'wang', 13)
insert(sql, args)
```
删除操作:
同样使用pymysql库连接到MySQL数据库,并执行删除操作。可以使用占位符的方式传递参数,以避免SQL注入的问题。具体代码如下所示:
```
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test1')
return conn
def delete(sql, args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql, args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'DELETE FROM test_student_table WHERE id = %s;'
args = (1,)
delete(sql, args)
```
更新操作:
同样使用pymysql库连接到MySQL数据库,并执行更新操作。可以使用占位符的方式传递参数,以避免SQL注入的问题。具体代码如下所示:
```
import pymysql
def get_conn():
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test1')
return conn
def update(sql, args):
conn = get_conn()
cur = conn.cursor()
result = cur.execute(sql, args)
print(result)
conn.commit()
cur.close()
conn.close()
if __name__ == '__main__':
sql = 'UPDATE test_student_table SET NAME=%s WHERE id = %s;'
args = ('zhangsan', 1)
update(sql, args)
```
以上是使用Python实现MySQL的增删改操作的方法。通过pymysql库连接到数据库,然后执行相应的SQL语句即可实现对数据库的操作。同时,使用占位符的方式传递参数可以防止SQL注入的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>