SQLite 学习笔记(一)
转载自 http://www.cnblogs.com/Acuzio/archive/2008/09/09/1287958.html
(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 指跳过多少行数据
分享到:
相关推荐
sqlite3学习笔记
android数据库SQLite学习笔记.pdf
android 数据库SQLite学习笔记.docx
SQLite详细的学习笔记,包括数据库的详细操作说明
Android Sqlite3 学习笔记.详细讲解了android内嵌的数据库Sqlite3的内容,供初学者使用
对数据库SQlite知识的学习认识、笔记总结详解
xamarin学习笔记A10(安卓SQLite)
Android学习笔记-SQLite介绍-以及使用Sqlite-进行数据库的创建-完成数据.pdf
PyQt学习笔记-使用通用数据库接口QtSql操作SQLite数据库
Qt+Cutelyst学习笔记(十五)win10+Qt5.15.2+sqlite 访问数据库数据 示例源码 https://blog.csdn.net/aggs1990/article/details/123942290 CSDN审核可能较慢,如无法下载,可以过段时间再回来看下
php SQLite学习资料收集,与一些常见问题的解决方法
解压后代码包括安卓sqlite基本使用,相关注意点有备注。代码中还包含了litepal的使用,学习郭神框架时使用
MySQL、MariaDB、SQLite 等数据库学习笔记,包括入门基础教程、标准库/第三方库详解、源码分析、数据结构与算法、面试题解析等。
基于MFC和Sqlite3库开发的简单笔记程序,仅供学习,如有BUG请发邮件到lkwuqingdao@126.com,大家一起学习进步;
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
数据库设计范式学习笔记,1NF/2NF/3NF/BCNF/4NF
1.windows下为eclipse安装ADT和配置android SDK 2.Android学习笔记--控件&...5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content Provider 8.android学习笔记--XML文件解析 。。。。。
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
基于Python+Flask+sqlite3的文献笔记管理器源码+部署文档+全部数据资料 高分项目.zip基于Python+Flask+sqlite3的文献笔记管理器源码+部署文档+全部数据资料 高分项目.zip 【备注】 1、该项目是个人高分项目源码,已...