SQLite的使用一

1、从官网下载SQLite安装后,打开终端更改目录到sqlite3文件所在的目录,输入如下命令便可以创建一个数据库,如果该数据库已存在将打开:

sqlite3 test.db

(如果显示以下信息,则说明SQLite已成功安装:)

MacBook-Pro-MD313:SQL mac$ sqlite3 test.db
SQLite version 3.7.12 2012-04-03 19:43:07
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

然后创建一个表:

sqlite> create table mytable(id integer primary key, value text);

一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型:

1.NULL:空值。
    2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。
    3.REAL:浮点数字,存储为8-byte IEEE浮点数。
    4.TEXT:字符串文本。
    5.BLOB:二进制对象。

但实际上,sqlite3也接受如下的数据类型:
     smallint 16 位元的整数。
     interger 32 位元的整数。
     decimal(p,s) p 精确值和 s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。  如果没有特别指定,则系统会设为 p=5; s=0 。
     float  32位元的实数。
     double  64位元的实数。
     char(n)  n 长度的字串,n不能超过 254。
     varchar(n) 长度不固定且其最大长度为 n 的字串,n不能超过 4000。
     graphic(n) 和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
     vargraphic(n) 可变长度且其最大长度为 n 的双字元字串,n不能超过 2000
     date  包含了 年份、月份、日期。
     time  包含了 小时、分钟、秒。
     timestamp 包含了 年、月、日、时、分、秒、千分之一秒。

datetime 包含日期时间格式,必须写成‘2010-08-05‘不能写为‘2010-8-5‘,否则在读取时会产生错误!

插入数据:

sqlite> insert into mytable(id, value) values(1, ‘Jacedy‘);

查询数据:

sqlite> select * from mytable;

创建视图:

sqlite> create view nameview as select * from mytable;

创建索引:

sqlite> create index testIdx on mytable(value);

2、一些常用的SQLite命令

显示表结构:

sqlite> .schema [table]

获取所有表和视图:

sqlite > .tables

获取指定表的索引列表:

sqlite > .indices [table ]

导出数据到SQL文件:

sqlite > .output [filename ]  
sqlite > .dump  
sqlite > .output stdout

从SQL文件导入数据库:

sqlite > .read [filename ]

格式化输出数据到CSV格式:

sqlite >.output [filename.csv ]  
sqlite >.separator ,  
sqlite > select * from test;  
sqlite >.output stdout

从CSV文件导入数据到表中:

sqlite >create table newtable ( id integer primary key, value text );  
sqlite >.import [filename.csv ] newtable

备份数据库:

/* usage: sqlite3 [database] .dump > [filename] */  
sqlite3 mytable.db .dump > backup.sql

恢复数据库:

/* usage: sqlite3 [database ] < [filename ] */  
sqlite3 mytable.db < backup.sql

列出(当前数据库文件中)附加的所有数据库的名字和文件 :

.databases

退出程序:

.quit
//.exit

显示帮助:

.help

显示当前的设置:

.show

列出所有表名:

.tables
时间: 2024-10-21 15:41:14

SQLite的使用一的相关文章

Android sqlite cursor的遍历

查询并获得了cursor对象后,用while(corsor.moveToNext()){}遍历,当corsor.moveToNext()方法调用,如果发现没有对象,会返回false public List<MMImage> getAll() { List<MMImage> list = new ArrayList<MMImage>(); Cursor c = null; try { c = database.query(TABLE, null, null, null,

在Android程序中使用已有的SQLite数据库

已经将这篇文章迁移至 Code问答,你也能够到这里查看这篇文章,请多多关注我的新技术博客CodeWenDa.com 在中文搜索中,没有找到一篇比較好的关于怎样在Android应用中使用自己事先创建好的数据库的文章,于是在谷歌上找到这篇英文文章,依照它的步骤,測试成功.决定把这篇文章大致的翻译一下,想看原文的能够点击这里:http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ .

Android中使用SQLite

Android系统内置了对SQLite数据库的支持,并提供了帮助类SQLiteOpenHelper.我们在开发时需要新建一个类继承SQLiteOpenHelper,并重写onCreate和onUpdate方法.onCreate方法仅在第一次新建数据库时调用,主要做创建表的操作.onUpdate方法在数据库版本更新时调用,根据业务需要做一些表的创建.删除.表结构改变等操作.同时需要实现一个构造函数,向父类的构造函数传入上下文对象.数据库名称.游标工厂和版本号.以下是一个简单的示例: 1 publi

Android开发系列之SQLite

上篇博客提到过SQLite.它是嵌入式数据库,因为其轻巧但功能强大,被广泛的用于嵌入式设备其中.后来在智能手机.平板流行之后,它作为文件型数据库,差点儿成为了智能设备单机数据库的必选,能够随着安卓app打包到apk文件其中. SQLite的官方站点是http://www.sqlite.org/,能够随意下载,上面也有详尽的文档能够參考,这篇博客重点关注SQLite在Android开发中怎样使用. 在Android开发中.推荐建立一个类继承自SQLiteOpenHelper来创建数据库操作类,比方

SQLite 约束

约束是在表的数据列上强制执行的规则.这些是用来限制可以插入到表中的数据类型.这确保了数据库中数据的准确性和可靠性. 约束可以是列级或表级.列级约束仅适用于列,表级约束被应用到整个表. 以下是在 SQLite 中常用的约束. NOT NULL 约束:确保某列不能有 NULL 值. DEFAULT 约束:当某列没有指定值时,为该列提供默认值. UNIQUE 约束:确保某列中的所有值是不同的. PRIMARY Key 约束:唯一标识数据库表中的各行/记录. CHECK 约束:CHECK 约束确保某列中

学习SQLite之路(四)

20160621 更新 1. SQLite   alter命令:不通过执行一个完整的转储和数据的重载来修改已有的表. 可以使用 ALTER TABLE 语句重命名表,使用 ALTER TABLE 语句还可以在已有的表中添加额外的列. 在 SQLite 中,除了重命名表和在已有的表中添加列,ALTER TABLE 命令不支持其他操作(在其他数据库中可以改变表中列的数据类型,删除表中的列) (1)基本语法: 用来重命名已有的表的 ALTER TABLE 的基本语法如下: ALTER TABLE da

Windows UWP应用使用本地Sqlite和远程Sql(一)

贫猿注册博客园有三年多了,第一次写博客,版式尽量控制的简单点. 本系列文章是简单的记录一下<账簿>本身所运用到的操作本地sqlite和远程sql的代码和结构. 首先的准备工作 安装Sqlite for UWP扩展 从菜单栏找到工具-扩展和更新.在搜索框填写sqlite,在结果里找到“sqlite for Universal App Platform”并安装它. 新建一个8.1的windows 应用,并添加sqlite for windows runtime(8.1)的支持.这时会自动生成SQL

iOS中 FMDB第三方SQLite数据库 UI_20

1.什么是FMDB? FMDB是iOS平台下SQLite数据库,只不过它是OC方式封装了C语言的SQLite语句,使用起来更加面向对象 2.FMDB的优点:1.使用起来更加面向对象; 2.对比苹果自带的 Core Data 数据管理工具更加的轻量级,更加的灵活,而且FMDB支持跨平台; 3.提供多线程下的数据安全保护机制,有效地防止数据混乱 3.FMDM中重要的类: FMDBDataBase: 它代表一个数据库对象,(我们需要创建数据库对象时就使用这个类) FMDBDataBaseQueue:

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

【Android】Sqlite数据库增删改查

Android系统内置一个Sqlite数据库,如果app需要使用Sqlite数据库数据库存储数据,Android会为此app生成一个.db文件.这个数据库在data/data/<package_name>/databases里面,其中<package_name>为该安卓app的工程包名,这个目录必须root后才能看到.在Windows,单机的应用程序,存储数据,基本放到一个文件里面,正如游戏的存档,基本就是把当前的游戏状态存到一个用户很难找到的文件里面.每次存档读档就是一个从这个存