在python2版本中,一般使用mysql-python这个包来操作mysql
在python3版本中,则使用pymysql这个包
1.导入pymysql这个包
import pymysql
2.连接数据库
db_conn = pymysql.connect( # 数据库地址 host='localhost', # 数据库用户 user='root', # 数据库密码 password='123456', # 数据库端口 port=3306, #数据库名字 database='student', # 数据库编码 charset='utf8', # 使用unicode use_unicode=True )
3.根据db_conn对象获取游标
db_cursor = db_conn.cursor()
4.创建数据库表
#创建sql语句 sql = "CREATE TABLE IF NOT EXISTS std_info(id INTEGER PRIMARY KEY AUTO_INCREMENT,name TEXT,age INTEGER ,phone TEXT)" #使用游标执行sql语句 db_cursor.execute(sql)
5.向数据表中插入数据
#创建sql语句 sql = "INSERT INTO std_info(name,age,phone) VALUES ('张三',20,'18888888888')" #执行sql语句 db_cursor.execute(sql) #提交执行 db_conn.commit()
6.修改数据表中的数据
#修改表中的数据 sql = "UPDATE std_info SET name='赵柳' WHERE id='5'" #执行sql语句 db_cursor.execute(sql) #提交 db_conn.commit()
7.删除数据表中的数据
# 创建sql语句 sql = "DELETE FROM std_info WHERE id='6'" #执行sql db_cursor.execute(sql) #提交 db_conn.commit()
8.查询数据表中的数据
#创建sql语句 sql = "SELECT * FROM std_info" #执行sql,返回一个结果,结果为查询到了几条数据记录 res = db_cursor.execute(sql) #res = 4 print(res) #使用游标的fetchall()函数查询 #返回一个大列表,里面嵌套每条记录的小列表 res = db_cursor.fetchall() #res=((2, '张三', 20, '18888888888'), (3, '李四', 20, '18888888888'), (4, '王五', 20, '18888888888'), (5, '赵柳', 20, '18888888888')) print(res) #重新执行sql查询语句 db_cursor.execute(sql) #获得查询语句后的第一条结果 res = db_cursor.fetchone() #res=(2, '张三', 20, '18888888888') print(res) #重新执行sql查询语句 db_cursor.execute(sql) #获取查询结果中指定的记录条数 res = db_cursor.fetchmany(5) #res=((2, '张三', 20, '18888888888'), (3, '李四', 20, '18888888888'), (4, '王五', 20, '18888888888'), (5, '赵柳', 20, '18888888888')) #如果超出总条数,默认只返回所有 print(res)
res = cursor.fetchmany(4) for id,name,age in res: print(id,name,age)
9.关闭游标,关闭数据库
扫描二维码关注公众号,回复:
1058237 查看本文章
#关闭游标 db_cursor.close() #关闭数据库 db_conn.close()