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 ...
随机推荐
- Oracle 字符集的查看和修改 分类: H2_ORACLE 2013-06-19 16:52 316人阅读 评论(0) 收藏
一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...
- css3-6 表格如何设置样式和定位样式是什么
css3-6 表格如何设置样式和定位样式是什么 一.总结 一句话总结:css可以解决所有属性设置的样式. 1.表格如何设置样式? css样式可以解决一切问题,没必要在表格上面加属性来设置样式. 7 t ...
- Android多线程研究(1)——线程基础及源码剖析
从今天起我们来看一下Android中的多线程的知识,Android入门容易,但是要完成一个完善的产品却不容易,让我们从线程开始一步步深入Android内部. 一.线程基础回顾 package com. ...
- 编译Android下可用的FFmpeg+x264
编译Android下可用的FFmpeg+x264 编译x264: 下载最新版的x264 ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ 1.解压 ...
- Tampermonkey版Vimium
Tampermonkey版Vimium https://zhuanlan.zhihu.com/p/27222664
- 《从零開始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射
原创文章.欢迎转载.转载请注明:关东升的博客 posted @ 2017-07-21 13:23 zhchoutai 阅读(...) 评论(...) 编辑 收藏
- [读书笔记]《Android开发艺术探索》第十五章笔记
Android性能优化 Android不可能无限制的使用内存和CPU资源,过多的使用内存会导致内存溢出,即OOM. 而过多的使用CPU资源,通常是指做大量的耗时任务,会导致手机变的卡顿甚至出现程序无法 ...
- Qt单元测试工具 QTestlib(QVERIFY, QFETCH, QCOMPARE等)
优点: QTestLib提供了单元测试框架的基本功能,并提供了针对GUI测试的扩展功能. 特性 详细描述 轻量级 QTestlib 只包含 6000行代码和 60个导出符号. 自包含 对于非GUI测 ...
- erlang应用发布
http://blog.csdn.net/zhangxinrun/article/details/6993892 参考“转载1”和“转载2”就可以了,但需要注意以下两点: 1.如果用rebar - c ...
- dotnet core 通过修改文件头的方式隐藏控制台窗口
原文:dotnet core 通过修改文件头的方式隐藏控制台窗口 在带界面的 dotnet core 程序运行的时候就会出现一个控制台窗口,本文告诉大家使用最简单方法去隐藏控制台窗口. 最近在使用 A ...