SQLite 学习笔记(一)

 

 

(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;
如此那般就能来看所有数据库中的新闻,表、索引、视图等等

sqlite,(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 指跳过些微行数据

网站地图xml地图