sqlite 数据库的基本命令

来源:互联网 发布:mac os怎么卸载软件 编辑:程序博客网 时间:2024/05/21 09:52

SQLite3命令操作大全 

 

SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3简要说明.

 

建立数据库档案

    C:/>sqlite3 mydb.db

        --------->如果系统提示没找到这个命令,说明没有加入环境变量,此时应设置它的环境变量

              如果提示header and source什么的不匹配,则执行下面的操作:
wen@ubuntu:~/sqlite$ sudo cp /usr/local/lib/libsqlite3.*  /usr/lib/i386-linux-gnu/  -a  
这句命令的意思:拷贝/usr/local/lib/目录下的所有相关库到/usr/lib/i386-linux-gnu/目录下,        记得一定要加 -a


 

输入:  C:/>sqlite3 mydb.db 之后按Enter 

之后输入 分号“;” 

在按回车Enter

数据库就建好。

下面直接建表 ,就行了

 

一.qlite3一些常用Sql语句操作

 

创建表: create  table 表名(元素名 类型,); 

删除表: drop  table 表名             

插入数据: insert  into 表名 values(, ,)   

创建索引: create [unique] index 索引名on 表名(col….); 

删除索引 drop index 索引名(索引是不可更改的,想更改必须删除重新建)
删除数据: delete from 表名;              

更新数据: update 表名 set 字段=修改后的内容 where 条件

增加一个列: Alter table 表名 add column 字段 数据类型 

选择查询:   select 字段(,隔开from 表名 where 条件

日期和时间Select datetime('now') 

日期:   select date('now')       
时间 select time('now');   

总数select count(*) from table1;
求和select sum(field1) from table1;
平均select avg(field1) from table1;
最大select max(field1) from table1;
最小select min(field1) from table1;

排序select 字段 from table1 order by 字段(descasc)  ;(降序或升序)

分组select 字段 from table1 group by 字段,字段  ;

限制输出:select 字段 from table1 limit offset y;

   = select 字段 from table1 limit , x;

(备注:跳过y行,取x数据)

 

(操作仍待完善)

SQLite支持哪些数据类型些?

NULL  值为NULL
INTEGER 值为带符号的整型,根据类别用123468字节存储
REAL  值为浮点型,8字节存储
TEXT  值为text字符串,使用数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储
BLOB  值为二进制数据,具体看实际输入

但实际上,sqlite3也接受如下的数据类型:
smallint   16 位元的整数
interger   32 位元的整数
decimal(p,s)  精确值和 大小的十进位整数,精确值p是指全部有几个数(digits)大小值 s是指小数点後有几位数。如果没有特别指定,则系统会设为 p=5; s=0 
float    32位元的实数。
double    64位元的实数。
char(n)    长度的字串,n不能超过 254
varchar(n)   长度不固定且其最大长度为 的字串,n不能超过 4000
graphic(n)   和 char(n) 一样,不过其单位是两个字元 double-bytes, n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。
vargraphic(n)  可变长度且其最大长度为 的双字元字串,n不能超过 2000
date    包含了 年份、月份、日期。
time    包含了 小时、分钟、秒。
timestamp   包含了 年、月、日、时、分、秒、千分之一秒。

如果将声明表的一列设置为 INTEGER PRIMARY KEY,则具有:

1.每当你在该列上插入一NULL值时, NULL自动被转换为一个比该列中最大值大1的一个整数;

2.如果表是空的, 将会是1


其他命令:

从其他表中的某些字段拷贝到当前表的某些字段

insert into encoder_config (name,value,chengji,parents) (select name,value,chengji,parents from media_config where 16<=ID and ID<38) where...
从其他表中的某些字段更新当前表的字段
update a set af1=(select bf1 from b where btype=a.atype) , af2=(select bf2 from b where btype=a.atype) where




0 0
原创粉丝点击