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 table1(id,name) VALUES(1,'Tom');
--改
UPDATE table1 SET name='Tom',age=5 WHERE id=5;
--删
DELETE FROM table1 WHERE id=5;
--查(单个表)
SELECT count(*) FROM table1;
--所有列
SELECT * FROM table1 WHERE id=5;
--部分列
SELECT id,name FROM table1 WHERE id=5;
--排序
SELECT * FROM table1 WHERE id=5 ORDER BY hour,min ASC;
SELECT * FROM table1 WHERE id=5 ORDER BY id,age DESC;
--查(多个表)
SELECT t1.name,t2.age FROM table1 AS t1,table2 AS t2 WHERE t1.id=t2.id;
SELECT m.file, m.artist, m.title, m.format, list.title list_name
FROM musicResource m
LEFT OUTER JOIN playlistMusics p ON m.file IS NOT NULL AND m.rid=p.rid
LEFT OUTER JOIN playlistsInfo list ON p.playlist_id=list.id;
SELECT m.file, m.artist || ' - ' || m.title || '.' || m.format f_name, list.title list_name
FROM musicResource AS m, playlistMusics AS p, playlistsInfo AS list
WHERE m.file IS NOT NULL AND LENGTH(m.file)>0 AND m.rid=p.rid AND p.playlist_id=list.id;
SELECT DISTINCT list.title FROM playlistsInfo AS list ORDER BY list.id 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, 'a','b',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',否则在读取时会产生错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在银行存款5000万,能办理一张50万额度的信用卡吗?

拥有一张大额信用卡是很多人梦寐以求的事情,大额信用卡不仅实用,在关键时刻可以把钱拿出来刷卡或者取现,这是一种非常方便的融资方式。然而大额信用卡并不是说谁想申请就可以申请下来,正常情况下,10万以上额度以上的信…

hotelling变换_基于Hotelling-T²的偏最小二乘(PLS)中的变量选择

hotelling变换背景 (Background) One of the most common challenges encountered in the modeling of spectroscopic data is to select a subset of variables (i.e. wavelengths) out of a large number of variables associated with the response variable. It is common …

商业银行为什么大量组织高净值小规模活动?

在管理界有一个非常著名的定律叫做二八定律,所谓28定律就是20%的客户贡献了企业80%的利润。虽然这个定律在银行不一定适用,但同样的道理用于银行营销也是合适的。银行之所以经常组织一些高净值小规模的活动,因为这些客户的资产和价值比较高&a…

Notepad++中用正则表达式匹配中文

通常正则表达式匹配中文可以利用Unicode的特点,使用[\u4e00-\u9fa5]匹配。但在Notepad中不能正常使用。 解决方法是,首先将编码转换成Unicode(菜单->格式->转换为UTF-8,如果不转换可能匹配出错),然后…

在县城投资买一辆出租车,一个月能收入多少钱?

在县城投资出租车能赚多少钱具体要看你是什么县城,比如西部的县城勉强能养活自己,中部的县城一个月能赚个5、6千,东部的小县城月赚个万元以上也有可能。具体回报率怎么样可以先算下投资一个出租车的成本投资一个出租车的构成成本比较多&#…

通过ISO镜像文件安装Ubuntu(可实现默认启动Windows的双系统)

解压文件 使用WinRAR等软件,Ubuntu ISO镜像文件中的casper文件夹解压到硬盘中的任意分区根目录,把ISO镜像也放在那个分区根目录。 使用Grub4dos启动Ubuntu 使用grub4dos启动Ubuntu,menu.lst写法如下。其中root命令指定了硬盘分区编号&#xf…

命名实体识别 实体抽取_您的公司为什么要关心命名实体的识别

命名实体识别 实体抽取Named entity recognition is the task of categorizing text into entities, such as people, locations, and dates. For example, for the sentence, On April 30, 1789, George Washington was inaugurated as the first president of the United Sta…

表达式测试

1111 (parameters) -> { statements; }//求平方 (int a) -> {return a * a;}//打印,无返回值 (int a) -> {System.out.println("a " a);}

代码块

(parameters) -> { statements; }//求平方 (int a) -> {return a * a;}//打印,无返回值 (int a) -> {System.out.println("a " a);} 在这里插入代码片

有关西电的课程学分相关问题:必修课、选修课、补考、重修、学分

注:最近一年多以来学校的政策改动比较大,听说有选修一旦选了就必须通过,否则视为挂科需要重修的;还有的说是选修课学分够了再多选可能要收费(未经确认,可能只是误传);等各种说法。本…

银行现在都很缺钱吗,为什么给的利息比以前高了?

目前无论是大银行还是小银行,也不论是国有银行还是民营银行,基本上每个银行都上浮利率,如果不上浮利率,那就只能吃土了,当然加息一般主要针对定期存款以及贷款来说,活期存款利率一般是不会上浮,…

机器学习 异常值检测_异常值是否会破坏您的机器学习预测? 寻找最佳解决方案

机器学习 异常值检测内部AI (Inside AI) In the world of data, we all love Gaussian distribution (also known as a normal distribution). In real-life, seldom we have normal distribution data. It is skewed, missing data points or has outliers.在数据世界中&#…

1000万贷款三年,到期一次性偿还1500万,这个利息算不算高?

1000万的贷款三年期到期还1500万,相当于每一年的利息是166.6万,折算下来年化利率是16.6%。至于这个利率是否划算,要看你在什么金融机构贷款以及你个人的资质来看。如果你个人条件比较好,在银行做的抵押贷款,那我认为16…

MSP430程序跑飞原因

MSP430单片机的程序有时候容易出现跑飞的情况,导致运行不正常。常见原因总结如下:没有设置停止看门狗,也没有及时喂狗没有定义中断函数,但又开启了对应的中断,发生中断时,找不到中断函数入口 供电电压不稳…

Golang之变量去哪儿

写过C/C的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员。一不小心,就会发生内存泄露,搞得胆战心惊。切换到Golang后,基本不会担心内存泄露了。虽然也有new函数&…

运营商ip映射_我们如何映射互联网以发现运营商

运营商ip映射Being able to accurately predict which carriers use which IP addresses is important for Wandera’s data cost management solution. Customers with dual-SIM/eSIM devices in their fleet need to be aware at which point in time a device is using whic…

单位dB(分贝)的含义和好处,dBm(dBmW 分贝毫瓦)的含义

dB的含义单位dB,即分贝,在电子学等领域中是一个很常用的单位。这个单位的特点在于使用对数,对原始数据进行表示。1贝 10分贝 10dB 10倍功率对于一个放大器,功率放大倍数 Ap 10 lg(Po/Pi)电压放大倍数 Au 20 lg(Uo/Ui)电流放大…

在县城开一家彩票站,一个月能赚多少钱?

现在彩票店多如牛毛,几步就有一个投注站,真能赚大钱的很少,但维持个基本生活应该是不成问题的。 至于接手彩票上是否能赚钱,关键还是要看人流,人流,人流。 想要知道彩票站是否赚钱,你就得先了解…

修改TrustedInstaller权限文件(无法删除文件)

在Win7系统中,存在一个虚拟账户,即TrustedInstaller,有时需要对C盘一些系统文件/文件夹进行修改,或删除,就会弹出“你需要TrustedInstaller提供的权限才能修改此文件”。这时用此法可解除此限制。对于系统中一些无法删…

yolov3算法优点缺点_优点缺点

yolov3算法优点缺点Naive Bayes: A classification algorithm under a supervised learning group based on Probabilistic logic. This is one of the simplest machine learning algorithms of all. Logistic regression is another classification algorithm that models po…