sqlite 初
1、SQLite是什么
基于文件的轻型数据库 无服务器 零配置 支持事务 开源
2、SQLite 怎么用
2.1 安装
SQLite官网上下载对应的DLL 与工具
配置环境变量

安装完成以后 查看版本

2.2 创建数据库
sqlite的创建数据库和使用数据库都是一个命令,数据库存在则根据名字加载数据库,如果不存在则创建这个数据库,
然后会看到sqlite> 表示正在使用这个数据库
2.3 创建,删除数据表
创建:create table user
(
id int primary key not null, --id 主键 非空
name varchar(20) not null,
age int
);
删除:drop table table_name
2.4 sqlite 数据类型
每个存储在 SQLite 数据库中的值都具有以下存储类之一:
|
存储类 |
描述 |
|
NULL |
值是一个 NULL 值。 |
|
INTEGER |
值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。 |
|
REAL |
值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
|
TEXT |
值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
|
BLOB |
值是一个 blob 数据,完全根据它的输入存储。 |
SQLite Affinity 及类型名称
下表列出了当创建 SQLite3 表时可使用的各种数据类型名称,同时也显示了相应的应用 Affinity:
|
数据类型 |
Affinity |
|
INT |
INTEGER |
|
CHARACTER(20) |
TEXT |
|
BLOB |
NONE |
|
REAL |
REAL |
|
NUMERIC |
NUMERIC |
Boolean 数据类型
SQLite 没有单独的 Boolean 存储类。相反,布尔值被存储为整数 0(false)和 1(true)。
Date 与 Time 数据类型
SQLite 没有一个单独的用于存储日期和/或时间的存储类,但 SQLite 能够把日期和时间存储为 TEXT、REAL 或 INTEGER 值。
|
存储类 |
日期格式 |
|
TEXT |
格式为 "YYYY-MM-DD |
|
REAL |
从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。 |
|
INTEGER |
从 1970-01-01 00:00:00 UTC 算起的秒数。 |
表中插入数据
格式1:INSERT INTO TABLE_NAME (column1, column2,
column3,...columnN)] VALUES (value1, value2, value3,...valueN);
格式2:INSERT INTO COMPANY VALUES (7, 'James',
24, 'Houston', 10000.00 );
导入其他表中的数据
INSERT INTO first_table_name [(column1,
column2, ... columnN)]
SELECT column1, column2, ...columnN
FROM second_table_name [WHERE
condition];
删除数据 delete
DELETE FROM table_name WHERE
[condition];
查找数据 select
SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。SQLite 的 SELECT 语句的基本语法如下:
SELECT column1, column2, columnN FROM
table_name;
更新数据 update
UPDATE table_name
SET column1 = value1, column2 =
value2...., columnN = valueN
WHERE [condition];
模糊查询 like
%:百分号 代表一个或者多个任意字符或者数据
_:下划线 代表单一的数字或者字符
并且2者可以组合使用
|
WHERE SALARY LIKE '200%' |
查找以 200 开头的任意值 |
|
WHERE SALARY LIKE '%200%' |
查找任意位置包含 200 的任意值 |
|
WHERE SALARY LIKE '_00%' |
查找第二位和第三位为 00 的任意值 |
|
WHERE SALARY LIKE '2_%_%' |
查找以 2 开头,且长度至少为 3 个字符的任意值 |
|
WHERE SALARY LIKE '%2' |
查找以 2 结尾的任意值 |
|
WHERE SALARY LIKE '_2%3' |
查找第二位为 2,且以 3 结尾的任意值 |
|
WHERE SALARY LIKE '2___3' |
查找长度为 5 位数,且以 2 开头以 3 结尾的任意值 |
glob:SQLite 的 GLOB 运算符是用来匹配通配符指定模式的文本值,与 LIKE 运算符不同的是,GLOB 是大小写敏感的
*:星号代表零个、一个或多个数字或字符
?:问号代表一个单一的数字或字符。这些符号可以被组合使用。
|
语句 |
描述 |
|
WHERE SALARY GLOB '200*' |
查找以 200 开头的任意值 |
|
WHERE SALARY GLOB '*200*' |
查找任意位置包含 200 的任意值 |
|
WHERE SALARY GLOB '?00*' |
查找第二位和第三位为 00 的任意值 |
|
WHERE SALARY GLOB '2??' |
查找以 2 开头,且长度至少为 3 个字符的任意值 |
|
WHERE SALARY GLOB '*2' |
查找以 2 结尾的任意值 |
|
WHERE SALARY GLOB '?2*3' |
查找第二位为 2,且以 3 结尾的任意值 |
|
WHERE SALARY GLOB '2???3' |
查找长度为 5 位数,且以 2 开头以 3 结尾的任意值 |
SQLite Limit 子句 :限制返回的数据量
格式1:返回指定数量 的结果集
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]
格式2:从M行开始提取N行的值作为结果集返回
SELECT column1, column2, columnN
FROM table_name
LIMIT N OFFSET M
SQLite Order By 排序
语法格式:
SELECT
column-list
FROM table_name
[WHERE
condition]
[ORDER BY
column1, column2, .. columnN] [ASC | DESC];
SQLite Group By 分组
语法格式:
SELECT
column-list
FROM table_name
WHERE [
conditions ]
GROUP BY
column1, column2....columnN
ORDER BY
column1, column2....columnN
SQLite Having 子句 HAVING
子句允许指定条件来过滤将出现在最终结果中的分组结果。
语法
下面是 HAVING 子句在 SELECT 查询中的位置:
SELECT FROM WHERE GROUP BY HAVING ORDER
BY
SELECT column1, column2 FROM table1,
table2
WHERE [ conditions ] GROUP BY column1,
column2
HAVING [ conditions ]
ORDER BY column1, column2
SQLite Distinct 关键字 去重
语法
用于消除重复记录的 DISTINCT 关键字的基本语法如下:
SELECT DISTINCT column1,
column2,.....columnN
FROM table_name
WHERE [condition]
SQLite 常用函数
SQLite 有许多内置函数用于处理字符串或数字数据。下面列出了一些有用的 SQLite 内置函数,且所有函数都是大小写不敏感,这意味着您可以使用这些函数的小写形式或大写形式或混合形式。欲了解更多详情,请查看 SQLite 的官方文档:
|
序号 |
函数 & 描述 |
|
1 |
SQLite COUNT 函数 |
|
2 |
SQLite MAX 函数 |
|
3 |
SQLite MIN 函数 |
|
4 |
SQLite AVG 函数 |
|
5 |
SQLite SUM 函数 |
|
6 |
SQLite RANDOM 函数 |
|
7 |
SQLite ABS 函数 |
|
8 |
SQLite UPPER 函数 |
|
9 |
SQLite LOWER 函数 |
|
10 |
SQLite LENGTH 函数 |
sqlite 初的更多相关文章
- Android开发:第四日——SQLite初接触
一.SQLite 介绍 SQLite一个非常流行的轻量级嵌入式数据库,SQLite支持多数的SQL92标准,在一些场合下其性能优于MySql等数据库引擎,并且只利用很少的内存就有很好的性能.此外它还是 ...
- 一些iOS高效开源类库
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...
- IOS一些高效的第三方框架库
MBProgressHUD ——进展指示符库 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore.而 MBProgres ...
- iOS各种开源类库
KissXml——xml解析库 相关教程:http://www.iteye.com/topic/625849 http://sencho.blog.163.com/blog/static/830562 ...
- ios开源项目(各种有用的第三方库)
状态栏:MTStatusBarOverlay 下拉刷新:EGOTableViewPullRefresh 网络应用:ASIHTTPRequest 等待特效:MBProgressHUD JSON解 ...
- iOS高效开源类库
因为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程中用到的一些比较有用Objective-C开 ...
- [IOS A] - 一些开源类库
因 为iOS SDK相对比较底层,所以开发者就得受累多做一些体力活.不过幸运的是,有很多第三方的类库可以用来简化很多不必要的工作.笔者整理了一下在本人学习过程 中用到的一些比较有用Objective- ...
- ios开发经常使用到的第三方库
由于iOS SDK相对照较底层,所以开发人员就得受累多做一些体力活.只是幸运的是,有非常多第三方的类库能够用来简化非常多不必要的工作.经过作者团队的谨慎讨论.他们 评选出了10款可以极大提高iOS开发 ...
- 安卓初級教程(4):sqlite建立資料庫
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...
随机推荐
- windows安装rabbitMQ服务
简介: RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. windows安装rabbitMQ服务步骤: 首先需要安装 Erl ...
- [Java开发之路](15)注解
1. 简单介绍 注解(也被称为元数据),为我们在代码中加入信息提供了一种形式化的方法. 注解在一定程度上是把元数据与源码文件结合在一起,而不是保存在外部文档中这一大趋势之下所催生的. 它能够提供用来完 ...
- hdu 1052 田忌赛马
贪心,排序从大到小.. 先比大的.跑只是就拿最小的来送死.. , 假设是平局就比后面的... 若后面也是平局就拿去跟前面的去跑. .. #include<stdio.h> #include ...
- HTML代码简写法:Emmet和Haml(转)
HTML代码写起来很费事,因为它的标签多. 一种解决方法是采用模板, 在别人写好的骨架内,填入自己的内容.还有一种就是我今天想要介绍的方法----简写法. 常用的简写法,目前主要是Emmet和Haml ...
- Android ReentrantLock
synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候. 1.某个线程在等待一 ...
- 并发编程--CAS自旋锁
在前两篇博客中我们介绍了并发编程--volatile应用与原理和并发编程--synchronized的实现原理(二),接下来我们介绍一下CAS自旋锁相关的知识. 一.自旋锁提出的背景 由于在多处理器系 ...
- TensorFlow 需注意的细节问题
1. 数据类型 不带小数点的数默认为 int32,带小数点的数默认为 float32:
- 城市三级联动 AJAX-原生js封装
话不多说我们先来一张效果图给大家看一下: html代码如下: <!DOCTYPE html><html lang="en"><head> < ...
- 【33.00%】【vijos P1002】过河
描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上 ...
- iOS6 与iOS7以及7以上状态栏的颜色设置
iOS7默认状态栏文字颜色为黑色 修改为白色的方法:(chenyong注意 我的Status bar style 使用的仍是默认值Gray style(default)) 1在Info.plist中设 ...