sqlite3学习笔记,会有后续不断更新补充

来源:互联网 发布:abb机械手编程 编辑:程序博客网 时间:2024/06/04 17:53

Sqlite学习笔记

 

一、准备工作:

1.sqlite官方网站下载sqlite数据库(sqlite-shell-win32-x86-3070500.zip)

2.解压后得到sqlite.exe为了下面方便说明,我把它放到D盘根目录下。

二、基本操作:

1.创建一个名字为mydb.dbsqlite数据库:

a.“运行”——“cmd”——“d:”,切换到当前路径到D盘根目录:

b.执行命令“sqlite3 mydb.db,创建成功会出现一下画面:

c.不过现在还没有生成数据库文件,需要在数据库中放入对象后才会生成(如:建一个叫“teacher”的表),如下:

注意:所有sql语句都要用“;”结尾,如果是以integer类型字段为主键,则会有自动增加功能(1开始,每插入一条数据增加1)

d.然后输入".quit",则会在D盘下生成mydb.db的数据库:

e.然后操作和其他数据库中一样了。

注意:如果是一个空的数据库,则不会生成数据库文件

2.使用刚才创建的数据库:

a. 按照基本操作1ab步骤,然后运行"sqlite3 mydb.db",意思是,如果这个数据库存在,则打开数据库,如果不存在,便创建该数据库。

b. teacher表中插入一条数据,运行语句"insert into teacher(name) values('');"  

 (注意:由于id列式自增列,所以我们只要插入name列的值)

c.然后查询刚才插入的数据:select * from teacher;

如果我们要让它显示字段名,请运行 .headers on 

,则可以看到字段名了,如果想关掉,只需要用 .headers off

3.如果要查看当前的子增长列id到多少了,只需要"select last_insert_rowid() from teacher;"

因为刚才插入了一条数据,所以显示1

4.创建一个视图:create view myView as select * from teacher;

查看刚才新建的视图:select * from myView;

5.创建一个索引:create index myIndex on teacher(name);

6.获取数据库中所有表和视图的信息:.tables

显示已建的表名和视图名。

7.查看数据库中所有的索引信息: .indices

如果只要查看teacher表的索引: .indices teacher

8.查看表或视图或索引的定义语句: .schema [表名|视图名]

可以看到对该表的定义。

9.数据库的更详细的schema信息可以通过SQLite唯一的系统视图sqlite_master得到:

快下课了,今天就到这里,使用".e"或者".exit"退出。

2011.3.30

 

 

10.导出数据:

导出整个数据库,存放为文件  mydb.sql

.output mydb.sql

.dump [表名|视图名]    //如果不指定表名或视图名,会默认导出整个数据库

.output stdout 

然后就能在根目录下找到mydb.sql文件了。如果要导出表或视图的DDL操作语句,只需在.dump后加上表名或视图名。

11.导入数据:(为了演示导入,先重启sqlite3,因为同一个数据库不能有相同的表和视图。)

a. 如果导入的语句由sql语句构成,可直接用.read命令导入并执行文件,如导入刚才导出的mydb.sql文件: .read file.sql

现在可以看到已经导入了吧。

b.