引入pymysql:
打开cmd窗口,键入 pip install pymysql即可,如图
即安装成功。
引入Splite3模块
Python
内建了
SQLite
数据库。
1.
创建数据库与连接数据库
import sqlite3
conn = sqlite3.connect(‘文件名’) ##指定文件名称,存在直接打开,不存在就会创建一个并打开
conn #返回connection对象
conn.close()
2.
创建数据表与新增数据
可以使用
connection
对象的
cursor()
方法获取
cursor
对象,利用它的
execute()
方法来执行创建数据表的
SQL
语句。例如:
conn = sqlite3.connect('db1.sqlite3')
conn
<sqlite3.Connection at 0x23069939ab0>
c.execute('''CREATE TABLE message(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,name TEXT NOT NULL,
email TEXT NOT NULL,msg TEXT NOT NULL
)''')
<sqlite3.Cursor at 0x2306b27fdc0>
conn.commit()
conn.close()
在上面创建了一个
message
数据表,其中有
id,name,email
与
msg4
个字段,
id
会自动以流水号方式递增字段值,
sqlite3
模块的实现默认下不会自动提交
SQL
执行后的变更,必须自行调用
Connection
的
commit()
方法变更才会生效。
也可以使用
with
区块
的操作,操作完成后会自动
commit()
与
close()
,若发生例外,会自动
rollback():
import sqlite3
with sqlite3.connect('db.sqlite3')as conn:
c = conn.cursor()
c.execute('''CREATE TABLE message(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,name TEXT NOT NULL,
email TEXT NOT NULL,msg TEXT NOT NULL
)''')
若要新增数据,也是使用
cursor
的
execte()
方法:
with sqlite3.connect('db.sqlite3')as conn:
c = conn.cursor()
c.execute("INSERT INTO message VALUES(1,'justin','caterpillar@openhome.cc','message...')")
3.
查询数据
先使用
cursor
的
execte()
执行查询,
再使用
fetchone()
可以获取结果集合中的一笔数据
使用
fetchall()
可以获取结果集合中的全部数据
使用
fetchmany()
指定要从结果集合中获取几笔数据
conn = sqlite3.connect('db1.sqlite3')
c = conn.cursor()
c.execute('SELECT*FROM message')
<sqlite3.Cursor at 0x125fe60cdc0>
c.fetchall()
[(1, 'justin', 'caterpillar@openhome.cc', 'message...')]
conn.close()