加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite基本语法

发布时间:2020-12-12 19:56:42 所属栏目:百科 来源:网络整理
导读:本文由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 INT

本文由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',否则在读取时会产生错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读