sqlite3 小记
2019独角兽企业重金招聘Python工程师标准>>>
数据导入:
cat data.txt
hello,world
hello,worldsqlite3 data.db
create table log( key text , value text )
.separator ','
.import data.txt log
.exit
数据导出:
.dump log_tb
SQL语句一起输出:
sqlite3 data.db
.databases #查看数据库
.tables # 查看表列表
.schema # 查看建表语句
.show # 查看配置.echo on # sql语句一起输出 .read data.sql # 执行sql脚本.output data.txt #输出到文本
.output stdout #标准输出.dump ?TABLE? #表备份 .mode csv,column,html,insert #输出模式
跨数据库查询:
场景:数据库A和数据库B的表之间有参照,需要跨数据库做查询操作...
方案:用SQLite解释器中的提供的 ATTACH[DATABASE]
关键字完成数据库附加:
ATTACH DATABASE [Database
Path] AS [Alias];
- [Database Path] :i.绝对路径;ii.相对路径,即要附加的数据库与当前维持连接数据库的相对地址。
- [Alias] :附加数据库的别名。
查询:查询时加上[数据库别名]即可 : SELECT * FROM DB_ Alias.TABLE_Name WHERE ...;
例子:现在维持连接的数据库称为A(可省略),其中表Ta中的字段id_b与位于路径"d:\B.db"的数据库(别名B)中Tb表字段id有参照,查询条件即"A.Ta.id_b
= B.Tb.id":
ATTACH DATABASE "d:\B.db" AS "B" ;
SELECT * FROM Ta
, B.Tb WHERE Ta.id_b = B.Tb.id ;PS . 如果维持连接的数据库A与要附加的数据库B( B.db )在同一路径下,附加语句可写为:
ATTACH DATABASE "B.db" AS "B" ; 分离数据库:
DETACH DATABASE 'B' ;
查询附加的数据库:
.databases
数据库备份
.backup ?DB? FILE
.backup 'main' bak.db
数据库恢复
.restore ?DB? FILE
触发器:
sqlite> CREATE TRIGGER audit_log AFTER INSERT
ON tb_data
BEGININSERT INTO tb_log(EMP_ID, ENTRY_DATE) VALUES (new.ID, datetime('now'));
END;CREATE TRIGGER trigger_name [BEFORE|AFTER] UPDATE OF column_name
ON table_name
BEGIN-- Trigger logic goes here....
END;查询触发器:
sqlite> SELECT name FROM sqlite_master
WHERE type = 'trigger';删除:
sqlite> DROP TRIGGER trigger_name;
索引:
CREATE INDEX index_name ON table_name;
唯一索引:
CREATE INDEX index_name
on table_name (column_name);
组合:
CREATE INDEX index_name
on table_name (column1, column2);
查看:
sqlite> .indices COMPANY
查看全部:
sqlite> SELECT * FROM sqlite_master WHERE type = 'index';使用索引时,应重新考虑下列准则:索引不应该使用在较小的表上。
索引不应该使用在有频繁的大批量的更新或插入操作的表上。
索引不应该使用在含有大量的 NULL 值的列上。
索引不应该使用在频繁操作的列上。
转载于:https://my.oschina.net/hao7234/blog/479529
sqlite3 小记相关推荐
- sqlite3数据库操作小记
mark一下 #include "sqlite3.h" #include <windows.h>#pragma comment(lib,"sqlite3.li ...
- Python数据处理DataFrame小记
python数据处理小记 简介: 1.DataFram定义: 2.DataFrame的append 3.DataFrame去除列或行 4.DataFrame查看数据基本统计情况 5.DataFrame ...
- 如何在sqlite3连接中创建并调用自定义函数
#!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...
- Sqlite3支持的数据类型 日期函数 Sqlite3 函数
Sqlite3支持的数据类型 NULL INTEGER REAL TEXT BLOB 但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数. interger 32 位元 ...
- linux qt 连接sqlite3,RedHat 9 Linux下在QT3.1中连接SQLite3全过程详细记录
作者:zieckey([email]zieckey@yahoo.com.cn[/email]) All Rights Reserved 下文介绍的内容都是基于 Linux RedHat 9.0 平台的 ...
- 在CentOS 7.5上升级SQLite3过程实录
业务起因 我在CentOS 7.5上安装python3.7+Django 3.1.7并创建项目时,发现启动demo例子出错了,出错信息如下: django.core.exceptions.Improp ...
- SQLite3简单C++包装类源码示例
一个比较好的SQLite3 C++ wrapper包装类的通常思路是这样的: 数据库连接类,包含连接池,和sqlite3*,负责与数据库文件的连接问题: 一些create table,insert,u ...
- 【数据库】sqlite3数据库备份、导出方法汇总
[数据库]sqlite3常用命令及SQL语句 目录 1.直接拷贝数据库 2.使用.backup .clone 1)交互式 2)脚本 3.导出到csv文件中(其它格式类似) 1)交互式 2)脚本 3)导 ...
- 【数据库】sqlite3常用命令及SQL语句
[数据库]sqlite3数据库备份.导出方法汇总 一.准备工作 0.安装SQLite3 1)ubuntu命令安装(不是最新版本) sudo apt install sqlite3 2)源码安装(可以安 ...
- 【iOS】sqlite3的使用(増删改查)
目录: 一.sqlite3常用函数 二.将sqlite3集成到项目,实现増删改查 三.封装DBManager 四.Demo 一.sqlite3常用函数及解释 (1)sqlite3_open: 用来创建 ...
最新文章
- 《黑客与画家》读后感:你对技术一无所知(一些金句)
- h5 调起相机_Html5在手机端调用相机的方法实现
- 第二阶段冲刺 第六天
- 双系统Ubuntu无法访问windows磁盘分区解决方法
- 这就是深度学习如此强大的原因
- 哈老师一到的飞鸽传书
- 程序员的算法课(13)-分治法
- 腾讯云 AI 在新基建领域下一盘什么大棋
- 30岁的职场危机,人生下半场的困局
- springboot集成log4j
- denseNet 详解
- 移动iptv安装三方软件
- CSS文本溢出打点显示
- Navigator的教程
- 神经网络学习笔记(一) RBF径向基函数神经网络
- 2020-12-20|西瓜更新Cookies ttwid获取方法
- java项目生成多个条码_java – 生成随机条形码 – 一个设计问题
- Android中常见的内存泄露
- CIKM 2022|FwSeqBlock: 一种在序列建模中增强行为表征的方法
- T字形路口小车如何要c语言编程,一点通驾校模拟考试