使用 SQLite数据库,磁盘数据库,也叫本地数据库

建库与表

1查看

2删除

3修改

4增加

建立

python 复制代码
# 只运行一次,建立库与表。
import sqlite3
import os
import sys

if os.path.exists('abc.db'):
    print('abc.db已经存在,不需要再建立')
    sys.exit(1)

conn = sqlite3.connect('abc.db')
curs = conn.cursor()
curs.execute("CREATE TABLE user(id int(10) primary key, name varchar(20),password varchar(20))")
conn.commit()
curs.close()
conn.close()

插入

python 复制代码
import sqlite3
import os
import sys

if not os.path.exists('abc.db'):
    print('abc.db不存在,程序停止')
    sys.exit(1)

conn = sqlite3.connect('abc.db')
curs = conn.cursor()

users = [
    (1, '陆小凤', '123456'),
    (2, '陆中凤', '123456'),
    (3, '陆大凤', '123456'),
]
for user in users:
    sql = 'INSERT INTO user(id,name,password) VALUES (%d,"%s","%s")' % (user)
    print(sql)
    curs.execute(sql)
conn.commit()

curs.close()
conn.close()

查看

python 复制代码
import sqlite3
import os
import sys

if not os.path.exists('abc.db'):
    print('abc.db不存在,程序停止')
    sys.exit(1)

conn = sqlite3.connect('abc.db')
curs = conn.cursor()


sql = 'SELECT * FROM user'
curs.execute(sql)
print(curs.fetchone()) #一个
print(curs.fetchall()) #余下的所有
conn.commit()

curs.close()
conn.close()

删除

python 复制代码
import sqlite3
import os
import sys

if not os.path.exists('abc.db'):
    print('abc.db不存在,程序停止')
    sys.exit(1)

conn = sqlite3.connect('abc.db')
curs = conn.cursor()


sql = 'DELETE FROM user WHERE id =2'
curs.execute(sql)
sql = 'SELECT * FROM user'
curs.execute(sql)
userlist=curs.fetchall()
print(userlist)
conn.commit()

curs.close()
conn.close()

修改

python 复制代码
import sqlite3
import os
import sys

if not os.path.exists('abc.db'):
    print('abc.db不存在,程序停止')
    sys.exit(1)

conn = sqlite3.connect('abc.db')
curs = conn.cursor()


sql = 'UPDATE user SET password ="123a456" WHERE id =1'
curs.execute(sql)
sql = 'SELECT * FROM user'
curs.execute(sql)
userlist=curs.fetchall()
print(userlist)
conn.commit()

curs.close()
conn.close()
相关推荐
艾莉丝努力练剑1 小时前
【MYSQL】MYSQL学习的一大重点:事务(上)- 原子性与持久性
android·数据库·学习·mysql·面试
曹牧2 小时前
Java:BeanListHandler
java·数据库·oracle
ITenderL4 小时前
MySQL联合索引遇到范围查询
数据库·索引
敲个大西瓜10 小时前
Redis一百道核心面试题
数据库·redis·缓存
無a伟13 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水14 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv14 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris14 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils14 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春15 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle