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 ...
随机推荐
- dmalloc用法快速入门
原文链接 常用内存泄露检测手段有 1 mtrace 2 memwatch 3 mpatrol 4 dmalloc 5 dbgmem 6 valgrind 7 Electric Fence dmallo ...
- xv6进程切换-swtch函数
https://blog.csdn.net/Swartz2015/article/details/61615603 xv6进程切换-swtch函数 进程切换中由于需要保存当前进程的寄存器状态信息,又要 ...
- 《从零開始学Swift》学习笔记(Day 1)——我的第一行Swift代码
Swift 2.0学习笔记--我的第一行Swift代码 原创文章,欢迎转载. 转载请注明:关东升的博客 当第一次看到以下代码时我石化了.这些代码是什么东东?单词拼出来的? import Foun ...
- ant使用ssh和linux交互 如:上传文件
http://jiajun.iteye.com/blog/741001 http://blog.csdn.net/xymyeah/article/details/4098073 http://blog ...
- js进阶 11-3 jquery中css属性如何操作
js进阶 11-3 jquery中css属性如何操作 一.总结 一句话总结:通过css()方法 1.attr和css是有交叉的,比如width,两者中都可以设置,那么他们的区别是什么? 其实通俗一点 ...
- js如何使用正则表达式验证电话号码(可选区号)和邮箱?(分步骤)
js如何使用正则表达式验证电话号码(可选区号)和邮箱?(分步骤) 一.总结 js进阶正则表达式16电话号码和邮箱正则(分类解决邮箱验证)(分组加?解决电话号码区号选择问题)([\w\.-]中括号解决邮 ...
- CSU1323: ZZY and his little friends
Description zzy养了一只小怪兽和N只凹凸曼,单挑的话每只凹凸曼都不是小怪兽的对手,所以必须由两只凹凸曼合作来和小怪兽战斗.凹凸曼A和凹凸曼B合作的战斗力为他们战斗力的异或值.现在由zzy ...
- EL表达式JSON应用
由于之前在学校写的jsp页面都是夹杂着java代码的,所以之前写了个jsp,满满的<%%>和java代码,老师说那样太不美观了啊!!!要全部用EL表达式替代了.本人还是太笨了,弄了一上午才 ...
- Delphi 7验证XML合法性(利用DTD、XSD)
拥有正确语法的XML被称为“形式良好”的XML.通过DTD验证的XML是“合法”的XML.DTD(文档类型定义)的作用是定义XML 文档的合法构建模块.它使用一系列的合法元素来定义文档结构.XML S ...
- Xor - Trie树
题目描述 求一棵带边权的树的一条最大 Xor 路径的值.这里的"路径"不一定从根到叶子结点,中间一段路径只要满足条件也可以. 输入格式 第一行,一个整数 N ,表示一颗树有 N 个 ...