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 ...
随机推荐
- 【C++竞赛 D】树的深度
时间限制:1s 内存限制:32MB 问题描述 数据结构中定义,树的高度为一棵树中所有节点的层次的最大值.现在yyy有一棵树请你帮他求出该树的高度. 输入描述 第一行一个整数T(1≤T≤20)表示数据组 ...
- <Linux> xm 命令
xm console <域ID> ctrl+ ] 退出虚拟机到宿主 xm reboot <域ID> xm pause <域I ...
- sql server操作远程数据库
--连接远程数据库 EXEC sp_addlinkedserver '服务器ip',N'SQL Server' --登录远程服务器 EXEC sp_addlinkedsrvlogin '服务器ip', ...
- 安装alien,DEB与RPM互换
http://blog.csdn.net/sidely/article/details/40181653
- [React] Understand React.Children Utilities
The data contained in this.props.children is not always what you might expect. React provides React. ...
- php定时任务(自己)
php定时任务(自己) 一.总结 一句话总结:可用php.exe连接php文件和bat文件,bat文件在计划任务中可以设置定时执行, 二. 1.php 2.bat E: "D:\softwa ...
- HTML5在客户端存储数据的新方法——localStorage
HTML5在客户端存储数据的新方法--localStorage localStorage作为HTML5本地存储web storage特性的API之一,主要作用是将数据保存在客户端中,而客户端一般是指上 ...
- HDU 1816, POJ 2723 Get Luffy Out(2-sat)
HDU 1816, POJ 2723 Get Luffy Out pid=1816" target="_blank" style="">题目链接 ...
- ue 不能初始化ftp组件
进入到ue的安装目录下shift并右键-->在此处打开命令窗口,执行以下命令 regsvr32.exe wodFtpDLX.dll,如果是64位要执行regsvr32.exe wodFtpDLX ...
- Linux限制资源使用的方法
很多人说virmach不好,老是suspend,我从未被suspend过,建站也很稳定,所以我就来说说怎么操作(其实就是遵循他们的TOS,如果你是abusive user,滚粗): 先读读TOS,核心 ...