SQLite基本语法

前端之家收集整理的这篇文章主要介绍了SQLite基本语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文由PurpleSword(jzj1993)原创,转载请注明
原文网址 http://blog.csdn.net/jzj1993


  
  
--创建表CREATE TABLE IF NOT EXISTS table1(id INTEGER PRIMARY KEY, name text NOT NULL age INTEGER);--删除DROP TABLE IF EXISTS table1;--增INSERT INTO table1idname) VALUES(1'Tom'--改UPDATE table1 SET name=age=5 WHERE id5--删DELETE FROM table1 WHERE id--查(单个表)SELECT count(*) FROM table1--所有列SELECT * FROM table1 WHERE id--部分列SELECT idname FROM table1 WHERE id--排序 ORDER BY hourmin ASC; ORDER BY idage DESC--查(多个表)SELECT t1.t2age FROM table1 AS t1table2 AS t2 WHERE t1= SELECT mfile martisttitleformat listtitle list_name FROM musicResource m LEFT OUTER JOIN playlistMusics p ON mfile IS NOT NULL AND mridprid LEFT OUTER JOIN playlistsInfo list ON pplaylist_idlistartist || ' - ' title '.'format f_nameFROM musicResource AS m playlistMusics AS p playlistsInfo AS list WHERE mfile IS NOT NULL AND LENGTHm)>0 AND mrid AND pSELECT DISTINCT listtitle FROM playlistsInfo AS list ORDER BY listid DESC;

PRIMARY KEY

sqlite 的 2.3.4 版本开始,如果将一个表中的一个字段声明为 INTEGER PRIMARY KEY,那么只需向该表的该字段插入一个 NULL 值,这个 NULL 值将自动被更换为比表中该字段所有行的最大值大 1 的整数;如果表为空,那么将被更换为 1。

INSERT INTO mytable VALUES(null,'a','b',1)

在逻辑意义上等价于:

INSERT INTO mytable VALUES((SELECT MAX(id) FROM mytable)+1,1);

一个新的API函数 sqlite3_last_insert_rowid() 返回最近的插入操作的整形键.注意这个整型键始终比之前插入表中的最后一个键大1。新键相对于表中的已有键来说是唯一的, 但它可能与之前从表中删除的键值重叠。要始终得到在整个表中唯一的键,在INTEGER PRIMARY KEY的声明之前加关键词AUTOINCREMENT.这样被选的键将总是比表中已存在的最大键大1。若可能的最大键已存在于表中,INSERT操作将失败并返回一个sqlITE_FULL错误码.


主要数据类型

NULL:空值

INTEGER:带符号的整型,具体取决有存入数字的范围大小

REAL:浮点数字,存储为8-byte IEEE浮点数

TEXT:字符串文本

BLOB:二进制对象


其他常用数据类型

float 32位元的实数。

double 64位元的实数。

char(n) n 长度的字串,n不能超过 254。

varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。

date 包含了 年份、月份、日期。

time 包含了 小时、分钟、秒。

timestamp 包含了 年、月、日、时、分、秒、千分之一秒。

datetime 包含日期时间格式,必须写成'2010-08-05'不能写为'2010-8-5',否则在读取时会产生错误

原文链接:https://www.f2er.com/sqlite/200256.html

猜你在找的Sqlite相关文章