SQLite

原创 2016年05月24日 23:11:42

转载请标明出处: http://blog.csdn.net/wu_wxc/article/details/51065678
本文出自【吴孝城的CSDN博客】


在安装完SDK后会自动安装SQLite3,在你的platform-tools文件可以看到

在linux系统上会自带sqlite

在终端输入

sqlite3
可以看到

如果没有上面的结果,说明你的电脑没有安装sqlite,去官网下载一个安装就行

新版的Mac OS X 也会有预装sqlite


大小写敏感:sqlite不区分大小写,但也有像GLOB和glob之类的是区分的

注释:在sqlite中,注释可以用"--",也可以用"/**/"

语句:sqlite可以用任意关键字开始,如CREATE、SELECT、DELETE、INSERT、UPDATE、ALTER、DROP等,每个语句用";"结束


创建数据库

想在哪创建数据库,就用cd定位到那个目录下,然后执行创建语句后就会在该目录下创建一个数据库,

如果数据库已存在,则会使用它,如果不存在就会创建一个

sqlite3 DatabaseName.db
wu@wu:~$ sqlite3 Test.db
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite> 
当然,这时你打开该目录是看到到数据库的,想要看到可以执行

.databases
命令查看

之前就可以在该目录下看到刚刚创建的数据库了

sqlite> .databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/wu/Test.db                                          
sqlite> 


创建表:
CREATE TABLE Database_name.table_name(
        column1 datatype,
        column2 datatype,
);
下面我在数据库Test中创建一个表,名为TestTable,_id为主键,不能为空

sqlite> CREATE TABLE TestTable(
        _id INT PRIMARY KEY NOT NULL,
        name TEXT, 
        age INT);    
sqlite> 
再创建一个表

sqlite> CREATE TABLE test (
        _id INT, 
        title VARCHAR(20));
sqlite> 
我们可以用

.tables
来查看是否创建成功

sqlite> .tables
TestTable  test     
sqlite> 
可以用.schema来查看表的完整信息

sqlite> .schema TestTable
CREATE TABLE TestTable(_id INT PRIMARY KEY NOT NULL,name TEXT, ag);
sqlite> 


删除表:
可以用带数据库名的方法来删除表,也可以不带数据库

删除表test

sqlite> DROP TABLE test;
sqlite> 


Insert:
INSERT INTO Table_Name(
       column1, column2)
       VALUES (
        values1, values2);

如果要添加表中所有的字段,可以不写列名,就是column

但要确保插入的顺序要与表中列的顺序一致 

INSEERT INTO Table_Name VALUES(
        values1, 
        values2
)
向表TestTable插入数据,_id为10,name为"哈哈",age为20,_为11,name为"嘻嘻",age为21

sqlite> INSERT INTO TestTable VALUES (10,'哈哈',20);
sqlite> INSERT INTO TestTable VALUES (11,'嘻嘻',21);
sqlite>


SELECT:
查询数据

SELECT column1, column2 FROM Table_Name;
想要查询所有的数据,可用"*"替换掉要查询的字段column,

SELECT * FROM Table_Name;
Table_Name为你要查询的表名

WHERE:

查询age=22的字段的name的值

sqlite> SELECT name from TestTable WHERE age=22;


LIKE:所有name以tes开头的age

sqlite> SELECT age FROM TestTable WHERE name LIKE 'tes%';


NOT:
列出所有age既不是20,又不是22的name的值

sqlite> SELECT name FROM TestTable WHERE age NOT IN (20, 22);


列出所有age不为NULL的name的值

sqlite> SELECT name FROM TestTable WHERE age IS NOT NULL;



BETWEEN:列出所有age在22到24(包括22和24)的name的值

sqlite> SELECT name FROM TestTable WHERE age BETWEEN 22 AND 24;



Order By

Order By是用来基于一个或多个列按升序或降序排列数据

ASC是升序

DESC是降序

默认是升序

sqlite> SELECT name FROM TestTable ORDER BY age ASC;
sqlite> SELECT name FROM TestTable ORDER BY age DESC;


Group By:与SELECT语句一起使用,在SELECT语句中,Group By放在WHERE之后,Order By之前

根据name进行分组

sqlite> SELECT name FROM V GROUP BY name;

根据name进行分组并以age升序排序

sqlite> SELECT name FROM TestTable GROUP BY name ORDER BY age;


Having:对查询后的分组排序的结果集进行筛选

列出分组后age大于23的name

sqlite> SELECT name FROM TestTable GROUP BY age HAVING age > 23;


AS:设置别名,为了增强结果集的可读性,便于理解各列数据的含义,可以使用AS来设置结果集列的名称

sqlite> SELECT _id, name, _id AS 序号, name AS 名字 FROM TestTable WHERE age = 24;


还有很多其他,如

AVG:平均值

COUNT:计数

MAX:最大值

MIN:最小值

SUM:和

Glob子句等

Glob子句大小写敏感,使用的有“*”代表零个、一个或多个数字或符号,"?"代表一个单一的数据或字符,这些符号可以被组合使用

如:

查询以"1"开关可用‘1*’;

查询文本中包含一个"-"的可用'*-*';











版权声明:本文为博主原创文章,未经博主允许不得转载。

C# 中 SQLite 使用介绍

关于SQLite          SQLite是一款轻型的嵌入式的遵守ACID的关系型数据库管理系统,诞生已有15个年头了。随着移动互联的发展,现在得到了更广泛的使用。 在使用SQLite之前,...
  • kasama1953
  • kasama1953
  • 2016年09月25日 08:43
  • 3154

SQLite和MySQL数据库的区别与应用

简单来说,SQLITE功能简约,小型化,追求最大磁盘效率;MYSQL功能全面,综合化,追求最大并发效率。如果只是单机上用的,数据量不是很大,需要方便移植或者需要频繁读/写磁盘文件的话,就用SQLite...
  • zbw1185
  • zbw1185
  • 2015年08月25日 13:50
  • 21509

Android Sqlite查询优化之一---运用索引

前言 最近笔者在做聊天功能模块,发现当本地聊天数据记录过大,以10万行数据进行了检索测试,发现时间太长了,要6s左右,但学着运用了下索引,时间大大提升,紧要几百毫秒就能完成. 以下内容,摘抄至网络 参...
  • qq_28690547
  • qq_28690547
  • 2016年03月08日 01:11
  • 2914

spring sqlite3,sql,MD5

  • 2018年01月14日 17:23
  • 18KB
  • 下载

SVN sqlite3.exe

  • 2018年01月12日 11:55
  • 25KB
  • 下载

sqlite-jdbc-3.21.0.jar

  • 2017年12月28日 15:09
  • 6.36MB
  • 下载

sqlite expert3 安装包

  • 2017年12月04日 14:26
  • 41.54MB
  • 下载

SQLite数据库查询工具

  • 2017年11月20日 21:09
  • 21.21MB
  • 下载

安卓开发Sqlite数据库基本操作

  • 2018年01月05日 10:35
  • 21.21MB
  • 下载

MonoData.Sqlite system.data sysytem.Json.dll

  • 2017年12月19日 16:45
  • 266KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLite
举报原因:
原因补充:

(最多只允许输入30个字)