目录
连接对象
主要提供获取数据库游标对象和提交/回滚事务的方法,以及如何关闭数据库连接
获取连接对象 connect()
使用 PyMySQL 模块连接 MySQL 数据库:
import pymysql
conn = pymysql.connect(host='localhost',
user='user',
password='passwd',
db='test',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
游标对象 Cursor Object
代表数据库中的游标,用于指示抓取数据操作的上下文。主要提供执行SQL语句、调用存储过程、获取查询结果等方法
使用 SQLite
python 内置了SQLite3,直接导入模块
创建一个名称为 mrsoft.db 的SQLite 数据库文件,然后执行SQL 语句创建一个 user(用户表),user表包含id和name两个字段。
import sqlite3
# 连接到SQLite数据库
# 数据库文件是mrsoft.db,如果文件不存在,会自动在当前目录创建
conn = sqlite3.connect('mrsoft.db')
# 创建一个Cursor
cursor = conn.cursor()
# 执行一条SQL语句,创建user表
cursor.execute('create table user (id int(10) primary key, name varchar(20))')
# 关闭游标
cursor.close()
# 关闭Connection
conn.close()
该代码只能运行一次,再次运行会提示错误。
使用 SQLite
新增用户信息
insert into 表名(字段名1,字段名2,...,字段名n) values(字段值1,字段值2,...,字段值n)
例如,在 user 表中,有两个字段,字段名称为id和name。而字符值需要根据字段的数据类型来赋值,如id是一个长度为10的整形,name是长度为20的字符串型数据。向user表中插入1条用户信息记录,则SQL语句如下:
cursor.execute('insert into user(id, name) values ("1","MRSOFT)')
查看用户信息
select 字段名1,字段名2,...from 表名 where 查询条件
# 执行查询语句
cursor.execute('select * from user')
# 获取查询结果
result1 = cursor.fetchone()
result2 = cursor.fetchmany(2) # 使用fetchmany方法查询多条数据
print(result2)
result3 = cursor.fetchall() # 使用fetchmany方法查询多条数据
print(result3)
或者
import sqlite3
cursor.execute('select * from user where id > ?',(1,))
result3 = cursor.fetchall()
print(result3)
修改用户数据信息
update 表名 set 字段名 = 字段值 where 查询条件
#创建一个Cursor:
cursor = conn.cursor()
cursor.execute('update user set name = ? where id = ?',('MR',1))