本文主要是介绍python连接mysql后的创建表,以及增删改查的基本操作。
安装pymysql
pip install pymysql
数据库连接
- 连接数据库
- 创建游标对象,给数据发送sql语句,并执行
import pymysql
db = pymysql.connect(
host='localhost', # 数据库ip地址
user='root', # 用户名
passwd='123456', # 密码
db='test', # 数据库名称
port=3306 # 端口号
)
cursor = db.cursor() # 生成游标对象
创建表
# 新建一个表并给定字段(id, name, age, sex)
sql_create = '''
create table if not exists person
(
id int,
name varchar(30),
age int,
sex char(2)
)
'''
cursor.execute(sql_create) # 执行sql语句
增删改查操作
插入数据
Note: values对应需要添加的数据,其中若是传入str类型数据,需要用单引号转义成数据库能读入的数据,不然会报1054错误。
# 插入数据
def insert(c,id,name,age,sex):
sql='''
insert into person (id,name,age,sex) values ({id},'{name}',{age}, '{sex}')
'''.format(id=id,name=name,age=age,sex=sex)
c.execute(sql)
a = {'小王':'男', '小红': '女', '小黄': '女'}
for i, (name, sex) in enumerate(a.items()):
insert(cursor, i+1, name, 16, sex)
db.commit() # 操作提交给数据库
db.close() # 关闭数据库
cursor.close() # 关闭游标
修改数据
# 更新操作
sql_update = '''update person set name='{}' where id={}'''.format('小梅', 1)
cursor.execute(sql_update)
db.commit() # 操作提交给数据库
db.close() # 关闭数据库
cursor.close() # 关闭游标
删除数据
# 删除操作
sql_delete = '''delete from person where name='{}';'''.format('小红')
cursor.execute(sql_delete)
db.commit() # 操作提交给数据库
db.close() # 关闭数据库
cursor.close() # 关闭游标
查询数据
# 查询操作
sql_query = '''select name, sex from person;'''
cursor.execute(sql_query)
data = cursor.fetchall() # 获取需要字段的数据
for i in data:
print(i)
db.commit() # 操作提交给数据库
db.close() # 关闭数据库
cursor.close() # 关闭游标