文章目录
关于sqlite数据库
sqlite数据库特点及优点
- 嵌入式数据库,一个数据库就是一个文件
- 占用资源低,数据量小时只需几百K内存
- 关系型数据库,实现大多数SQL标准
- 使用动态、弱类型的SQL语法
- Python标准库中自带模块
Python操作数据库
导入模块并使用数据库
import sqlite3
conn = sqlite3.connect('./test.db')
# 有则使用,无则创建
创建游标以操作数据库
cursor = conn.cursor()
sql = 'create table students(id int primary key, name varchar(20) not null , age int not null)'
cursor.execute(sql) # 创建表的命令
创建表不需要提交,但是插入、删除数据需要提交
conn.commit()
结束时不要忘记关闭游标和数据库连接
cursor.close()
conn.close()
实例(证明,连接可以不关,但是插入数据必须提交)
import sqlite3
conn = sqlite3.connect('scan.db')
cursor = conn.cursor()
scan_sql = 'create table port(ip varchar(16),port varchar(5))'
cursor.execute('insert into port values ("192.168.1.1",8080)')
conn.commit()
cursor.execute('select * from port')
print(cursor.fetchall())
使用变量进行插入数据
import sqlite3
conn = sqlite3.connect('scan.db')
cursor = conn.cursor()
sql = 'insert into port values(?,?)'
cursor.execute(sql,['114.114.114.114',65535])
conn.commit()
cursor.execute('select * from port')
print(cursor.fetchall())
通过sqlite_master表查询数据库中所有表结构
cursor.execute('select * from sqlite_master')
for i in cursor.fetchall():
print(i)
#结果
('table', 'port', 'port', 2, 'CREATE TABLE port(ip varchar(16),port varchar(5))')
('table', 'qq', 'qq', 3, 'CREATE TABLE qq(id int,num varchar(10),phone varchar(12),name varchar(20))')
来源:CSDN
作者:StarLord007
链接:https://blog.csdn.net/q1694222672/article/details/104315413