`
xusaomaiss
  • 浏览: 620048 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

sqlite的用法

阅读更多

目录


建立数据库文件

sqlite3建立数据库的方法很简单,只要在shell下键入

 sqlite3 foo.db

如果目录下没有foo.db,sqlite3就会建立这个数据库。sqlite3并没有强制数据库档名要怎么取,因此如果你喜欢,也可以取个例如foo.icannameitwhateverilike的档名。

 

sqlite3提示列下操作

进入了sqlite3之后,会看到以下文字:

SQLite version 3.1.3

Enter ".help" for instructions

sqlite> 

这时如果使用.help可以取得求助,.quit则是离开(请注意:不是quit)

 

SQL的指令格式

所以的SQL指令都是以分号(;)结尾的。如果遇到两个减号(--)则代表注解,sqlite3会略过去。

 

建立表

假设我们要建一个名叫film的资料表,只要键入以下指令就可以了:

create table film(title, length, year, starring);

这样我们就建立了一个名叫film的资料表,里面有name、length、year、starring四个字段。

这个create table指令的语法为:

create table table_name(field1, field2, field3, ...);

table_name是资料表的名称,fieldx则是字段的名字。sqlite3与许多SQL数据库软件不同的是,它不在乎字段属于哪一种资料型态:sqlite3的字段可以储存任何东西:文字、数字、大量文字(blub),它会在适时自动转换。

 

建立索引

如果表中有相当多的记录,我们便会建立索引来加快速度。好比说:

create index film_title_index on film(title);

意思是针对film表的name字段,建立一个名叫film_name_index的索引。这个指令的语法为

create index index_name on table_name(field_to_be_indexed);

一旦建立了索引,sqlite3会在针对该字段作查询时,自动使用该索引。这一切的操作都是在幕后自动发生的,无须使用者特别指令。

 

插入一条记录

接下来我们要插入一条记录,加入的方法为使用insert into指令,语法为:

insert into table_name values(data1, data2, data3, ...);

例如我们可以加入

insert into film values ('Silence of the Lambs, The', 118, 1991, 'Jodie Foster');

insert into film values ('Contact', 153, 1997, 'Jodie Foster');

insert into film values ('Crouching Tiger, Hidden Dragon', 120, 2000, 'Yun-Fat Chow');

insert into film values ('Hours, The', 114, 2002, 'Nicole Kidman');

如果该字段没有资料,我们可以填NULL。

 

查询记录

讲到这里,我们终于要开始介绍SQL最强大的select指令了。我们首先简单介绍select的基本句型:

select columns from table_name where expression;

最常见的用法,当然是倒出所有数据库的内容:

select * from film;

如果资料太多了,我们或许会想限制笔数:

select * from film limit 10;

或是照着电影年份来排列:

select * from film order by year limit 10;

或是年份比较近的电影先列出来:

select * from film order by year desc limit 10;

或是我们只想看电影名称跟年份:

select title, year from film order by year desc limit 10;

查所有茱蒂佛斯特演过的电影:

select * from film where starring='Jodie Foster';

查所有演员名字开头叫茱蒂的电影('%' 符号便是 SQL 的万用字符):

select * from film where starring like 'Jodie%';

查所有演员名字以茱蒂开头、年份晚于1985年、年份晚的优先列出、最多十笔,只列出电影名称和年份:

select title, year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10;

有时候我们只想知道数据库一共有多少条记录:

select count(*) from film;

有时候我们只想知道1985年以后的电影有几部:

select count(*) from film where year >= 1985;

(进一步的各种组合,要去看SQL专书,不过你大概已经知道SQL为什么这么流行了:这种语言允许你将各种查询条件组合在一起——而我们还没提到「跨数据库的联合查询」呢!)

 

如何更改或删除记录

了解select的用法非常重要,因为要在sqlite更改或删除一条记录,也是靠同样的语法。

例如有一笔记录的名字打错了:

update film set starring='Jodie Foster' where starring='Jodee Foster';

就会把主角字段里,被打成'Jodee Foster'的那笔(或多笔)资料,改回成Jodie Foster。

delete from film where year < 1970;

就会删除所有年代早于1970年(不含)的电影了。

 


其他sqlite的特别用法

sqlite可以在shell底下直接执行命令:

sqlite3 film.db "select * from film;"

输出 HTML 表格:

sqlite3 -html film.db "select * from film;"

将数据库「倒出来」:

sqlite3 film.db ".dump" > output.sql

利用输出的表,建立一个一模一样的数据库(加上以上指令,就是标准的SQL数据库备份了):

sqlite3 film.db < output.sql

在大量插入记录时,你可能会需要先打这个指令:

begin;

插入完记录后要记得打这个指令,记录才会写进数据库中:

commit;

分享到:
评论

相关推荐

    mars老师 android 01_16_SQLite使用方法 源码

    "mars老师 android 01_16_SQLite使用方法 源码"这个资源是火星(mars)老师分享的一份关于如何在Android应用中使用SQLite的源代码教程。这份教程可能包含了从创建数据库到执行查询、更新、插入和删除操作等一系列...

    Android中SQLite 使用方法详解

    Android中SQLite 使用方法详解 现在的主流移动设备像android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动...

    Android中SQLite使用方法.docx

    ### Android中SQLite使用详解 #### 一、引言 在移动应用开发中,SQLite作为一种轻量级的关系型数据库管理系统,因其高效稳定、易于使用的特性,被广泛应用于Android平台的应用程序中。本文旨在详细介绍如何在...

    SQLite教程详细描述了SQlite的使用及其架构、内部实现

    #### 四、SQLite使用方法 **1. 命令行工具** SQLite自带命令行工具,可以直接执行SQL语句进行数据库管理。 **2. SQL语法** - **数据定义语言(DDL)**:用于创建、修改和删除数据库对象,如CREATE TABLE、ALTER ...

    .net C/S跟B/S架构下的SQLite使用方法项目demo,附上说明

    在这些架构中使用SQLite,一个轻量级、无服务器的嵌入式数据库,可以为小型应用程序提供数据存储解决方案。SQLite因其小巧、高效、跨平台的特性,在许多场景下成为理想的选择。下面我们将详细探讨如何在C#环境下,...

    Android SQLite使用的三个demo

    5. 查询数据:使用`rawQuery()`方法执行SQL查询,返回`Cursor`对象,通过遍历`Cursor`获取数据。 6. 更新和删除数据:同样通过`execSQL()`执行更新和删除操作的SQL语句。 **SQLiteDemo21** 这个Demo可能进一步展示...

    sqlite expert 使用方法

    ### SQLite Expert 使用方法详解 #### 一、简介与特点 SQLite Expert是一款强大的图形化数据库管理工具,主要用于管理和操作SQLite数据库。对于那些希望简化SQLite数据库管理流程的用户来说,这款工具非常实用。...

    android sqlite的使用方法

    以下是关于Android中SQLite的详细使用方法: 1. 创建SQLite数据库 - 首先,创建一个继承自`SQLiteOpenHelper`的类。这个类有两个关键的方法:`onCreate()`和`onUpgrade()`。`onCreate()`方法在数据库首次创建时被...

    sqliteodbc驱动sqlite3

    ### SQLiteODBC 驱动 SQLite3:深入解析与应用...无论是开发者还是数据库管理员,掌握其安装配置及使用方法都是非常必要的。通过本文介绍,希望能帮助大家更好地理解和运用SQLiteODBC,充分发挥其优势,提升工作效率。

    Delphi使用ASqlite3 连接SQLite上例子

    本教程将详细讲解如何在Delphi环境中使用ASqlite3控件连接并操作SQLite数据库。ASqlite3是一款专门为Delphi开发者设计的SQLite数据库接口组件,它使得在Delphi程序中与SQLite数据库交互变得简单。 首先,我们需要...

    sqlite-autoconf.tar.gz_sqlite_sqlite 加密_sqlite3autoconf_wxsqlite

    SQLite 是一个轻量级、开源的数据库管理系统,广泛应用于嵌入式系统和移动应用中。在标题"sqlite-autoconf.tar.gz_sqlite_sqlite 加密...- 对于加密功能,研究 SEE 的使用方法,确保正确配置加密选项,以保障数据安全。

    SQlite3库及头文件在VS2010中MFC使用成功附详细使用方法

    SQlite3库及头文件里面包含了详细的使用方法: 1、如何把SQlite3添加到工程 2、将Sqlite数据库文件放到工程哪级目录 3、如何添加头文件和库文件到工程 4、如何包含SQlite3头文件进工程 5、测试工程打开sqlite数据库...

    C#中增加SQLite事务操作支持与使用方法

    C# 中增加 SQLite 事务操作支持与使用方法 在 C# 中使用 SQLite 数据库时,事务操作是非常重要的一部分。事务操作可以确保数据库的数据一致性和完整性,避免数据不一致的情况。下面将详细介绍 C# 中增加 SQLite ...

    VS2013连接SQLITE3方法

    ### VS2013连接SQLite3方法 在开发过程中,我们常常需要用到各种数据库来存储数据。Visual Studio 2013(简称VS2013)作为一款强大的集成开发环境,支持多种数据库的操作,但默认情况下并不包含SQLite数据库的支持...

    Sqlite3重编译版本,支持Sqlite3_key和Sqlite3_rekey方法.rar

    这个压缩包文件提供了一个特别的SQLite3版本,它经过了重编译,增加了对`Sqlite3_key`和`Sqlite3_rekey`方法的支持。这两个方法是关于数据库加密的关键功能,对于那些需要增强数据安全性的应用来说尤为重要。 `...

    Inside SQLite(SQLite技术内幕) 原版+个人翻译版

    最后,SQLite的API接口是开发者与数据库交互的主要途径,熟悉这些接口的使用方法和最佳实践,可以避免很多潜在的问题。 总的来说,《Inside SQLite》无论是翻译版还是原版,都是学习和理解SQLite底层机制的宝贵资源...

    LabVIEW使用SQLite数据库范例(需要自行下载SQLite的工具包)

    此外,LabVIEW范例可能还涵盖了查询数据的示例,这通常涉及使用`sqlite3_prepare_v2`创建一个`SELECT`语句,然后通过`sqlite3_step`获取结果集,并用`sqlite3_column_`系列函数获取每行数据的各个列值。 在实际应用...

    sqlite3api使用

    本文将深入探讨SQLite3 API的使用方法,帮助开发者更好地理解和应用SQLite3。 ### 版本管理 要获取SQLite3的最新版本,可以从官方网站www.sqlite.org下载。在撰写本文时,最新版本为3.3.17。值得注意的是,源代码...

    最新版: Sqlite ODBC Driver 0.99991 (SQLite 3.43.2) 安装版和dll版

    网上很难下载到,分享给需要的:sqlite3odbc.dll 属性 文件版本 1.34455.0,0 ...直接注册SQLite ODBC Driver使用方法: 注册命令: rundll32 sqlite3odbc.dll,install 卸载命令: rundll32 sqlite3odbc.dll,uninstall

Global site tag (gtag.js) - Google Analytics