sqlite学习


  • sqlite的点命令不以;结尾
  • sqlite3, .help

1. 命令


命令描述
.backup ?DB? FILE备份DB数据库(默认main)到FILE文件
.bail ON/OFF发生错误后停止,默认为OFF
.databases列出数据库的名称和文件
.dump ?TABLE?以SQL文本格式转储数据库,如果制定了TABLE表,则之转出匹配LIKE模式的TABLE表
.echo ON/OFF开启或关闭echo 命令
.exit退出
.explain ON/OFF开启或关闭适合EXPLAIN的输出模式,如果没有带参数,则为EXPLAIN on,及开启
.header(s) ON/OFF开启或关闭头部显示
.help显示消息
.import FILE TABLE导入来自FILE文件的数据到TABLE表中
.indices ? TABLE?显示所有索引的名称,如果制定了TABLE表,则只显示匹配LIKE模式的TABLE表的索引
.load FILE ?ENTRY?加载一个扩展库
.log FILE/off开启或关闭日志。FILE文件可以是stderr,stdout
.mode MODE设置输出模式,1.csv逗号分隔的值 2.column左对齐的列 3.html HTML的代码 4.insert TABLE 表的SQL插入语句 5.line 每行的一个值 6.list 由.sepqrator字符串分隔的值 7.tabs 由Tab分隔的值 8.tcl TCL列表元素
.nullvalue STRING在NULL指的地方输出STRING字符串
.output FILENAME发送输出到FILENAME文件
.output stdout发送输出到屏幕
.print STRING …逐字的输出STRING字符串
.prompt MAIN CONTINUE替换标准提示符
.quit退出
.read FILENAME执行FILENAME文件中的SQL
.schema ?TABLE?显示CREATE语句,如果制定了TABLE表,则只显示匹配LIKE模式的TABLE表
.separator STRING改变输出模式和.import所使用的分隔符
.show显示各种设置的当前值
.stats ON/OFF开启或者关闭统计
.tables ?PATTERN?列出匹配LIKE模式的表的名称
.timeout MS尝试打开锁定的表MS微秒
.width NUM NUM为column模式设置宽度
.timer ON/OFF开启或者关闭CPU定时器测量

* 确保sqlite>提示符与点名令见没有空格否则无法正常工作。
* 主表中保存了数据库表的关键信息,并把它命名为sqlite_master。如果要查看表概要,可执行.schema sqlite_master
* 虽然sqlite不区分大小写,但是在一些命令中大小写是区分的,比如GLOB和glob
* 两个连续的-是注释。注释一行。或者使用/* */
* sqlite中所有语句都是以;结束

2.语法

ANALYZE;or
ANALYZE database_name;or
ANALYZE database_name.table_name;
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION-1 {AND|OR} CONDITION-2;
///
ALTER TABLE table_name ADD COLUMN column_def...;
///
ALTER TABLE table_name RENAME TO new_table_name;
///
ATTACH DATABASE 'DatabaseName' As 'Alias-Name';
///
BEGIN;orBEGIN EXCLUSIVE TRANSACTION;
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name BETWEEN val-1 AND val-2;
//
COMMIT;
///
CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );
///
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...columnN);
///
CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,.....
   columnN datatype,
   PRIMARY KEY( one or more columns ));
///
CREATE TRIGGER database_name.trigger_name 
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN 
   stmt1; 
   stmt2;....END;
///
CREATE VIEW database_name.view_name  AS
SELECT statement....;
///
CREATE VIRTUAL TABLE database_name.table_name USING weblog( access.log );or
CREATE VIRTUAL TABLE database_name.table_name USING fts3( );
///
SELECT COUNT(column_name)
FROM   table_name
WHERE  CONDITION;
///
DELETE FROM table_name
WHERE  {CONDITION};
///
DETACH DATABASE 'Alias-Name';
///
SELECT DISTINCT column1, column2....columnN
FROM   table_name;
///
DROP INDEX database_name.index_name;
///
DROP TABLE database_name.table_name;
///
DROP INDEX database_name.view_name;
///
DROP INDEX database_name.trigger_name;
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name EXISTS (SELECT * FROM   table_name );
///
EXPLAIN INSERT statement...;or 
EXPLAIN QUERY PLAN SELECT statement...;
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name GLOB { PATTERN };
///
SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name;
///
SELECT SUM(column_name)
FROM   table_name
WHERE  CONDITION
GROUP BY column_name
HAVING (arithematic function condition);
///
INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name LIKE { PATTERN };
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name NOT IN (val-1, val-2,...val-N);
///
SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};
///
PRAGMA pragma_name;For example:

PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);
///
RELEASE savepoint_name;

REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;

ROLLBACK;or
ROLLBACK TO SAVEPOINT savepoint_name;

SAVEPOINT savepoint_name;
SELECT column1, column2....columnN
FROM   table_name;
/
UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE  CONDITION ];
VACUUM;

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION;

3. 数据类型


存储类描述
NULL值是NULL
INTEGER值是带符号整数存储在1~8字节中
REAL浮点值,存储为8字节的IEEE浮点数字
TEXT文本字符串,使用数据库编码存储
BLOB值是一个blob数据,完全根据他的输入存储
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值