sqlite之我见--简单介绍与基本操作
首先,看到此篇文章的人,肯定都对sqlite有所了解了,那些开场白之类的废话就不多写了,下面就简单的介绍sqlite的一些基本知识及简单操作,可能会有错漏的地方,欢迎批评指正,我也会不断学习并完善这篇文章
1.特性1)ACID事物2)零配置--无需安装与管理配置3)储存在单一磁盘文件中的完整的数据库4)数据库文件可以在不同字节顺序的机器间自由的共享5)支持数据库文件大小至2TB6)足够小,大致3w行C代码,250k7)比一些流行的数据库在大部分普通数据库操作要快8)简单,轻松的API9)良好注释的源代码,并且有着90%以上的测试覆盖率10)包含TCL绑定,可以通过wrapper支持其他语言的绑定11)独立:没有额外依赖12)Source完全的open,你可以用于任何用途,甚至出售13)支持多种开发语言,C,PHP,Perl,JAVA,ASP.NET,Python
2.数据类型sqlite是无类型的,但为了增强可读性与可移植性,建议加上类型。在字段类型为“Integer Primary Key”时并不是无类型的。
CREATE TABLE ex(a VARCHAR(10), 可变长度的字符串b NVARCHAR(15),c TEXT, 文本型d INTEGER, 整型e FLOAT, 浮点型f BOOLEAN, 布尔型g CLOB,h BLOB, 二进制类型,用来存储文件,比如图片i TIMESTAMP,j NUMERIC(10,5),k VARYING CHARACTER(24),l NATIONAL VARYING CHARACTER(16)NULL 空值 3.支持的SQL
BEGIN TRANSACTION END TRANSACTION comment
COMMIT TRANSACTION
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
COPY DELETE
DETACH DATABASE
DROP INDEX
DROP TABLE
DROP TRIGGER
DROP VIEW
EXPLAIN
expression
INSERT
ON CONFLICT clause
PRAGMA
REPLACE
ROLLBACK TRANSACTION
SELECT
UPDATE
4.数据库的简单使用:1)创建数据库 在命令提示符下: $ sqlite3 testsql.db sqlite> .quit 此时ls看下当前目录,是没有db文件生成的
$ sqlite3 testsql.db sqlite> ; sqlite> .quit 此时ls会看到有testsql.db在当前目录下
具体操作如下:
[carl@Fedora sqlite]$ sqlite3 copiedsql.dbSQLite version 3.7.11 2012-03-20 11:35:50Enter ".help" for instructionsEnter SQL statements terminated with a ";"sqlite> .tabsqlite> .read dump.sql sqlite> .tabtesttable testtable2sqlite> select * from testtable;column1 is string|10column1 is string,this is longer|10sqlite> select * from testtable2;sqlite> .quit[carl@Fedora sqlite]$