3.1 建立数据库
C:\sqlite> sqlite3.exe dbname.db
sqlite3.exe后面跟数据库文件名
3.2 创建数据表
sqlite> create table users(userid varchar(20) PRIMARY KEY,
...> age int,
...> birthday datetime);
3.3 添加记录
insert into users values('wang',20,'1989-5-4');
insert into users values('li',22,'1987-11-16');
3.4 查询记录
select * from users order by birthday;
3.5 删除记录
delete from users where userid='wang';
3.6 退出sqlite
sqlite> .exit
SQLite数据库的数据结构是存贮在 "sqlite_master" 表中
具体命令可以输入 .help查看或参考帮助文档
sqlite 表结构和数据的导出
全部导出
sqlite3 data.db
>.output dd.sql
>.dump
导出表结构
.output dd.sql
.schema
全部导入
sqlite3 mydb.db
>.read dd.sql
平时使用官方提供的sqlite3.exe工具来操作 sqlite的数据库
进入管理:
sqlite3.exe d:\test.db //假设数据是 d:\test.db
>.databases //显示所有数据库 和 mysql的 show databases;
>.tables //显示当前数据库的表格 和 mysql 的show tables;
>.schema tablename; //显示表格结构 和mysql的 SHOW Create TABLE tbl_name
>.output c:\\1.sql //导出当前数据库的 sql语句 和mysql的 mysqldump
>.dump
>.import c:\\1.sql //导入 //mysql 用source
===================
导入
命令: .import
sqlite> .import 文件名 表名
注1: 不要忘了开头的点
注2: 这条语句不能用分号结束. 非SQL不需要分号结束.
注3: 需要查看默认的分隔符separator. 必须一致. 如果不一致可能导致sqlite字段分割错误.
查看分隔符使用命令 .show , 如果不一致可直接修改, 比如:
sqlite>.separator ","
将分隔符转为逗号.
举例1:
将文件a.csv中的数据导入表 tab_xx. (a.csv中字段以逗号分割)
sqlite> .separator ","
sqlite> .import a.csv tab_xx
sqlite>
导入结束.
导出
实现方式: 将输出重定向至文件.
命令: .output
sqlite> .output a.txt
然后输入sql语句, 查询出要导的数据. 查询后,数据不会显示在屏幕上,而直接写入文件.
结束后,输入
sqlite> .output stdout
将输出重定向至屏幕.
举例2:
将 tab_xx 中的数据导出到文件a.txt
sqlite> .output a.txt
sqlite> select * from tab_xx;
sqlite> .output stdout
导出完毕.
(1)创建数据库
在命令行中切换到sqlite.exe所在的文件夹
在命令中键入sqlite3 test.db;即可创建了一个名为test.db的数据库
由于此时的数据库中没有任何表及数据存在,这时候是看不到test.db的,必须往里面插入一张表即可看到数据库
(2)创建表
create table Test(Id Integer primary key, value text);
此时即可完成表的创建,当把主键设为Integer时,则该主键为自动增长,插入数据时,可直接使用如下语句:
insert into Test values(null,'Acuzio');
(3)获取最后一次插入的主键: select last_insert_rowid();
(4)sqlite>.mode col
sqlite>.headers on
在数据库查询的时候,显示行数和头!
(5)在DOS中,键入Ctrl+C,退出数据库,Unix中,使用Ctrl+D
(6)SQLite Master Table Schema
-----------------------------------------------------------------
Name Description
-----------------------------------------------------------------
type The object’s type (table, index, view, trigger)
name The object’s name
tbl_name The table the object is associated with
rootpage The object’s root page index in the database (where it begins)
sql The object’s SQL definition (DDL)
eg.
sqlite> .mode col
sqlite> .headers on
sqlite> select type, name, tbl_name, sql from sqlite_master order by type;
这样就能看到所有数据库中的信息,表、索引、视图等等
(7)导出数据
.output [filename],导出到文件中,如果该文件不存在,则自动创建
.dump 导出数据命令
.output stdout 返回输出到屏幕(进行其他操作)
eg.
sqlite>.output Acuzio.sql
sqlite>.dump
sqlite>.output stdout
这样就可以把数据导入到Acuzio.sql中
(8)导入数据
导入数据使用.read命令
eg.
如导入(7)中的数据
sqlite>.read Acuio.sql
(9)备份数据库
在切换到Sqlite文件夹
sqlite3 test.db .dump > test.sql
如果在数据库中
sqlite> .output file.sql
sqlite> .dump
sqlite> .exit
(10)导入数据库
在切换到Sqlite文件夹
sqlite3 test.db < test.sql
(11)备份二进制格式数据库,vacuum:释放掉已经被删除的空间(数据和表等被删除,不会被清空空间)
sqlite3 test.db VACUUM
cp test.db test.backup
(12)获取数据库信息
如果想获得物理数据库结构的信息,可以去SQLite网站上下载SQLite Analyzer工具
使用: sqlite3_analyzer test.db
(13)其他的SQLite工具
SQLite Database Browser (http://sqlitebrowser.sourceforge.net)
SQLite Control Center (http://bobmanc.home.comcast.net/sqlitecc.html)
SQLiteManager (www.sqlabs.net/sqlitemanager.php)
(13)SQLite 与其他数据库不同,它是以(;)来执行语句,而不是(go).
(14)SQLite注释(--)或(/* */)
eg.
-- This is a comment on one line
/* This is a comment spanning
two lines */
(15)创建表结构
CREATE [TEMP|TEMPORARY] TABLE table_name (column_definitions [, constraints]);
关键字TEMP、TEMPORARY表示创建的是临时表
(16)在SQLite中有5种基本类型:
Integer/Real/Text/Blob/Null
(17)确保唯一性可以用关键字UNIQUE
eg.
CREATE TABLE contacts ( id INTEGER PRIMARY KEY,
name TEXT NOT NULL COLLATE NOCASE,
phone TEXT NOT NULL DEFAULT 'UNKNOWN',
UNIQUE (name,phone) );
(18)修改表
ALTER TABLE table { RENAME TO name | ADD COLUMN column_def }
eg.
sqlite> ALTER TABLE contacts
ADD COLUMN email TEXT NOT NULL DEFAULT '' COLLATE NOCASE;
sqlite> .schema contacts
CREATE TABLE contacts ( id INTEGER PRIMARY KEY,
name TEXT NOT NULL COLLATE NOCASE,
phone TEXT NOT NULL DEFAULT 'UNKNOWN',
email TEXT NOT NULL DEFAULT '' COLLATE NOCASE,
UNIQUE (name,phone) );
(19)查询
SELECT DISTINCT heading FROM tables WHERE predicate
GROUP BY columns HAVING predicate
ORDER BY columns LIMIT count,offset;
(20)Limit和Offset关键字
Limit 指返回记录的最大行数
Offset 指跳过多少行数据
sqlite的官网:http://www.sqlite.org/
分享到:
相关推荐
在这个“Android上的SQLite简易使用程序”中,我们将深入探讨如何在Android应用中集成SQLite,进行数据的插入、查询和列表展示。 1. **SQLiteOpenHelper**: 首先,我们需要创建一个继承自`SQLiteOpenHelper`的类,...
ios sqlite简单使用,创建,插入的一些简单操作。
本文将详细探讨如何在iOS应用中简单使用SQLite进行数据操作。 首先,我们需要导入`FMDB`库,这是一个Objective-C编写的SQLite库,简化了SQLite的API,使开发者更容易使用。可以通过CocoaPods或手动添加到项目中。在...
同时,可以使用`sqlite3.exe`命令行工具进行数据库的备份和恢复。 12. **安全性**: 虽然SQLite没有内置的用户管理和权限控制,但可以在应用程序层面实现这些功能,比如通过加密数据库文件来保护数据安全。 ...
本压缩包"Android代码-超简单的SQLite的使用.rar"包含了关于如何简单使用SQLite在Android应用中的实例。 SQLite在Android中的主要应用包括: 1. 数据持久化:SQLite数据库可以存储大量结构化的数据,即使应用程序...
例如,Python 有 sqlite3 模块,提供了一个简单的接口来操作 SQLite 数据库。其他语言如 Java、C#、JavaScript 也有相应的库或模块。理解这些语言的 API 和如何与 SQLite3 交互是使用 SQLite3 的关键。 总的来说,...
对于那些已经熟悉 SQL 语法的开发者而言,使用 SQLite 进行数据库操作相对简单。然而,由于 Java 数据库连接 (JDBC) 对于内存受限的移动设备来说并不是最佳选择,因此 Android 提供了一套新的 API 来管理 SQLite ...
在Android应用开发中,ListView和SQLite数据库是两个非常重要的组件,它们经常被结合使用来实现数据的存储和展示。在本项目"ListView与SQLite结合的使用,记账本"中,我们将探讨如何有效地利用这两个工具来创建一个...
ASqlite3是一款专门为Delphi开发者设计的SQLite数据库接口组件,它使得在Delphi程序中与SQLite数据库交互变得简单。 首先,我们需要了解SQLite数据库的基本概念。SQLite是一种嵌入式关系型数据库,无需单独的服务器...
SQLite 是一个开源的关系型数据库,特别适合在移动设备或嵌入式系统中...这个简单的SQLite使用案例为初学者提供了一个良好的起点,通过实践和深入学习,可以进一步掌握更高级的SQLite功能,如索引、触发器、视图等。
在本项目中,我们将使用Qt Creator这一强大的C++开发环境来编译SQLite,以便于在不同平台上使用。 首先,了解SQLite的编译过程。SQLite的源代码是用C语言编写的,因此可以被任何支持C编译器的平台编译。在Qt ...
SQLite支持SQL语言,使得数据操作简单高效。以下是关于Android中SQLite的详细使用方法: 1. 创建SQLite数据库 - 首先,创建一个继承自`SQLiteOpenHelper`的类。这个类有两个关键的方法:`onCreate()`和`onUpgrade...
在本项目中,我们主要探讨的是如何将Spring Boot与SQLite3数据库结合使用,以及通过Java Persistence API (JPA) 来实现数据操作。这个"springboot+SQLite3学习演示代码"是一个实例,它展示了如何在Spring Boot应用中...
本示例代码主要展示了如何使用C语言接口来与SQLite3进行交互。 首先,我们需要包含SQLite3的头文件`#include <sqlite3.h>`,这是进行所有操作的基础。在C程序中,初始化数据库通常涉及以下步骤: 1. **打开数据库*...
SQLite3提供了基本的用户管理和权限控制,如`GRANT`和`REVOKE`命令,但其权限系统相对简单,适用于个人或小型团队项目。 九、实用工具 1. `.schema`:查看表的创建语句,如`.schema students;` 2. `.tables`:列出...
SQLite3的权限系统相对简单,主要依赖于文件系统的权限。可以通过`chown`和`chmod`命令控制数据库文件的访问权限。 八、Python中的SQLite3 在Python编程中,我们可以使用内置的`sqlite3`模块来操作SQLite3数据库:...
SQLite3的简易DEMO是为开发者提供一个快速了解和使用SQLite3的示例,通过这个DEMO,你可以学习如何在C语言环境中进行数据库操作。 在开始之前,你需要从指定网址<http://www.sqlite.org/cintro.html>下载最新版本的...
本教程将详细介绍如何在VC中使用SQLite数据库,实现客户端功能,无需安装OFFICE或大型数据库系统。 首先,你需要获取SQLite的动态链接库(DLL)或静态库文件,并将其包含到你的VC项目中。这通常可以从SQLite的官方...