首页 > 技术文章 > sqlite的基础

silence-blog 2015-12-21 21:03 原文

1.验证sqlite是否安装配置好了。
执行sqlite3命令。
当执行该命令的时候没有传递任何参数表示默连接到了一个内存数据库,当退出该程序的时候,数据库自动销毁。
退出:
.exit
.quit
2。创建一个数据库:
sqlite3 foodDb.db
注意:创建完毕该数据库后,不会立刻在磁盘上生成对应的文件,需要等待在该数据库写入内容后,才会出现在磁盘上。
3.当把一个integer类型的列设置为主键的时候。该列自动变成了自动编号列。当然自动编号列,也可以手动插入值。后面的数据,会基于该值继续自动增长。默认情况下,自动编号列是会重复利用之前删除过的值。除非加一个autoincreasement。
4.设置查询语句显示样式。
->以列的形式查询
.mode column
.mode html 以html的方式显示
->显示字段名,表头
.headers on
->回显刚才输入的命令
.echo on
->设置表中的空值 显示为NULL
.nullvalue NULl
5.获取最后一次自动编号值:select last_insert_rowid)
.database//查看所有的数据库
.tbales//查看所有的表
.tables s%//查看所有以s开头的表
.schema 表名//查看表结构
.schema //显示所有表的表结构
sqlite_master
drop tables 表名//查看表结构
cmd下按 F7 可以显示以前输入的命令
//获得索引
create index IX_Users_LoginId on Users(loginid);
index IX_Users_LoginId on Users(loginid);
.indices 表名
limit n等价于T-sql中的top
offset n;跳过前几条。
将两列的字符串接起来
select 列1||列2 与oracle一样。
select 'hello您好';
日期函数: select date()
时间: select time(); select time('now','localtime');
日期时间:select datetime('now','localtime');
6.数据库导出
在shell下:
.output foodDb.sql --设置输出路径
.dump --导出
.output stdout --设置输出到屏幕上
在命令行模式下:(用的多)
sqlite3 foodDb.db .dump>food.sql --导出
在命令行下导入:(用的多)
sqlite3 newfood<"foodDb.sql" 导入数据库
在shell下导入
.read foodDb.sql
7.附加数据库
attach database "dbname.db" as dbname;
8.分离数据库
detach database dbname;
9.alter table语句
重命名:alter table 旧表名 rename to 新表名;
增加列:alter table 表名 add column 列名 数据类型 约束;
10.创建临时表
create temp table 表名()

推荐阅读