官网资料

https://sqlite.org/lang_createtable.html

操作参考:

https://www.runoob.com/sqlite/sqlite-insert.html

安装

Ubuntu安装

sudo  apt  install sqlite3

基本使用

1,创建数据库

sqlite3  tt.db

##在当前目录创建了一个库

2,查看库位置

命令行创建库成功后会在当前目录下新建一个库文件 tt.db,随即进入命令行模式

#查询库位置
sqlite> .databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /home/yon/pycharm-code/proxy-pool/tt.db ##查询表
sqlite> .tables
proxy #帮助
sqlite> .help

3,创建表

sqlite> create  table proxy(id  INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,ip  TEXT NOT NULL , port TEXT NOT NULL ,pro TEXT NOT NULL);

4,插入数据

sqlite> insert into proxy(ip,port,pro) values("114.114.114.114","8080","http");

5,查询数据


sqlite> select * from proxy;
1|114.114.114.114|8080|http

python使用

官网文档

https://docs.python.org/zh-cn/3.8/library/sqlite3.html

#创建一个连接对象
import sqlite3
conn = sqlite3.connect('example.db') #创建游标对象
1,基本操作
c = conn.cursor() # Create table
c.execute('''CREATE TABLE stocks
(date text, trans text, symbol text, qty real, price real)''') # Insert a row of data
c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY','RHAT',100,35.14)") ##打印查询结果,游标对象只能打印一次,过后需要重新执行查询操作
for x in c.execute("select * from proxy"): print(x) # Save (commit) the changes
conn.commit() # We can also close the connection if we are done with it.
# Just be sure any changes have been committed or they will be lost.
conn.close()

2,查询语句可控

不应该使用 Python 的字符串操作来创建你的查询语句

# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol) # Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print(c.fetchone()) # Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
('2006-04-06', 'SELL', 'IBM', 500, 53.00),
]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases) ##一个使用迭代器形式的例子
>>> for row in c.execute('SELECT * FROM stocks ORDER BY price'):
print(row) ('2006-01-05', 'BUY', 'RHAT', 100, 35.14)
('2006-03-28', 'BUY', 'IBM', 1000, 45.0)
('2006-04-06', 'SELL', 'IBM', 500, 53.0)
('2006-04-05', 'BUY', 'MSFT', 1000, 72.0)

最新文章

  1. C++内存对齐总结
  2. [20140829]spinlock导致cpu居高不下
  3. Divide and conquer:Aggressive Cows(POJ 2456)
  4. 关于Jquery获取Table中td内的内容
  5. 李洪强iOS开发之通知的使用
  6. hdu 4111 Alice and Bob(中档博弈题)
  7. Uber新功能:隐藏司机乘客们的手机号码
  8. MongoDB的timezone问题
  9. linux下i2c驱动笔记 转
  10. Web.config总结
  11. Android---优化下载让网络访问更高效(三)
  12. Django之CSRF 跨站请求伪造
  13. HTML5 开发APP
  14. [js高手之路] es6系列教程 - Set详解与抽奖程序应用实战
  15. 在nuxt中加入element-ui插件遇到的问题
  16. Go中string转[]byte的陷阱
  17. vue学习记录①(vue-cli脚手架构建项目结构)
  18. Python3之弹性力学——应力张量1
  19. gitlab ssh clone问题解决
  20. vs code编辑器使用教程指南

热门文章

  1. Mysql——日期函数,时间操作(汇总)
  2. vue的基本语法
  3. fiddler笔记:Find Session窗口
  4. springboot加载application.yml文件null
  5. 使用haystack实现django全文检索搜索引擎功能
  6. finally代码块的执行
  7. IP 、127.0.0.1、localhost 三者区别
  8. Advanced Installer 安装完成后,自动启动主程序。
  9. LeetCode 腾讯精选50题--链表排序
  10. Innosetup设置控制面版中的名称显示和图标