Sqlite学习笔记
一、准备工作:
1.到sqlite官方网站下载sqlite数据库(sqlite-shell-win32-x86-3070500.zip)。
2.解压后得到sqlite.exe。为了下面方便说明,我把它放到D盘根目录下。
二、基本操作:
a.“运行”——“cmd”——“d:”,切换到当前路径到D盘根目录:
b.执行命令“sqlite3mydb.db”,创建成功会出现一下画面:
c.不过现在还没有生成数据库文件,需要在数据库中放入对象后才会生成(如:建一个叫“teacher”的表),如下:
注意:所有sql语句都要用“;”结尾,如果是以integer类型字段为主键,则会有自动增加功能(从1开始,每插入一条数据增加1)。
d.然后输入".quit",则会在D盘下生成mydb.db的数据库:
e.然后操作和其他数据库中一样了。
2.使用刚才创建的数据库:
a.按照基本操作1的a和b步骤,然后运行"sqlite3mydb.db",意思是,如果这个数据库存在,则打开数据库,如果不存在,便创建该数据库。
b.在teacher表中插入一条数据,运行语句"insertintoteacher(name)values('剑');"
(注意:由于id列式自增列,所以我们只要插入name列的值)
c.然后查询刚才插入的数据:select*fromteacher;
如果我们要让它显示字段名,请运行.headerson
,则可以看到字段名了,如果想关掉,只需要用.headersoff
3.如果要查看当前的子增长列id到多少了,只需要"selectlast_insert_rowid()fromteacher;"
因为刚才插入了一条数据,所以显示1。
4.创建一个视图:createviewmyViewasselect*fromteacher;
查看刚才新建的视图:select*frommyView;
5.创建一个索引:createindexmyIndexonteacher(name);
显示已建的表名和视图名。
7.查看数据库中所有的索引信息:.indices
如果只要查看teacher表的索引:.indicesteacher
8.查看表或视图或索引的定义语句:.schema[表名|视图名]
可以看到对该表的定义。
9.数据库的更详细的schema信息可以通过sqlite唯一的系统视图sqlite_master得到:
快下课了,今天就到这里,使用".e"或者".exit"退出。
2011.3.30
10.导出数据:
.outputmydb.sql
.dump[表名|视图名]//如果不指定表名或视图名,会默认导出整个数据库
.outputstdout
然后就能在根目录下找到mydb.sql文件了。如果要导出表或视图的DDL操作语句,只需在.dump后加上表名或视图名。
11.导入数据:(为了演示导入,先重启sqlite3,因为同一个数据库不能有相同的表和视图。)
@H_815_502@a.如果导入的语句由sql语句构成,可直接用.read命令导入并执行文件,如导入刚才导出的mydb.sql文件:.readfile.sql
现在可以看到已经导入了吧。
b.