sqlite中常用的sql语句

原创 2013年12月02日 15:40:16

1、创建表的sql语句,说明一下uid为自动递增的整型数据,insert_time是创建的时间数据,比如以字符串的形式插入的话就是"2013-12-12"或"2013-11-26 15:02:33"
create table proclamation_record(
uid integer primary key autoincrement,
[user_id] varchar(32) default null,
[user_name] varchar(32) default null,
[area_code] varchar(18) default null,
[user_level] varchar(2) default null,
[info_type] varchar(2) default null,
[insert_time] datetime default null,
[subject] varchar(128) default null,
[content] varchar(255) default null,
[expire_time] datetime default null,
[version] integer default null,
[status]  integer default null
)

例子:
2、给数据库出入新的值,如果写表明后面跟值得的话就必须字段和类型同表一样
INSERT INTO proclamation_record VALUES ('1', 'sda', 'afd', 'asdf', '1', '1', '2013-11-26 15:02:33', 'fasd', 'fdsa', '2013-11-26 15:02:37', '0');


2.1、如果写表名而且后面还跟了列名,则后面跟值得的话就必须字段和类型同列要一样
INSERT INTO proclamation_record(user_id,user_name,area_code,user_level,info_type,insert_time,subject,content,expire_time,version) VALUES ( 'ssa', 'afd', 'asdf', '1', '1', '2013-11-26 15:02:33', 'fasd', 'fdsa', '2013-11-26 15:02:37', '0');


3、查询表的值根据时间的的最近的时间查
SELECT * FROM proclamation_record ORDER BY 0+insert_time ASC;


4、查询表的值根据时间的的最远的时间查
SELECT * FROM proclamation_record ORDER BY insert_time ASC;


4.1 、查询表中同一时间的记录个数,具体是先将数据按insert_time进行分组,然后统计每组的个数,并且最后返回的值按insert_time降序进行排列,一般group by是用于统计记录个数用的
select count(*) from proclamation_record group by insert_time order by insert_time desc;


5、根据某个字段中包含某个关键字查表
SELECT * FROM proclamation_record where area_code like "%asd2%"


6、通过uid的升序排列表,并且显示数据在第0到第10之间,一般用于分页显示数据
select * from proclamation_record order by uid asc limit 0,10


7、查询表中某个字段的最大值
SELECT max(version) from proclamation_record


8、通过insert_time的降序排列查询结果,并且从查得结果的第0条偏移值开始,限制到后面的2条
select * from proclamation_record order by insert_time desc limit 2 offset 0


9、给数据库增加一列
Alter TABLE proclamation_record
ADD COLUMN column_name DATATYPE;


10、给表的uid列建立索引
create INDEX index_name ON proclamation_record (uid)


11、更新某一列的数据
update proclamation_record set version = 1 where uid = 2


12、内连接,表s和表c的classid字段相同,查询表s内连接c,也就是要表s和表c都有值才显示
select * from student s inner join class c on s.classid = c.classid;
select * from student s inner join class c where s.classid = c.classid;


13、对于左连接、右连接、全连接下面用个例子说明
-------------------------------------------------
  a表     id   name     b表     id   job   parent_id  
              1   张3                   1     23     1  
              2   李四                 2     34     2  
              3   王武                 3     34     4      
  a.id同parent_id   存在关系  

--------------------------------------------------   
 1) 内连接  
  select   a.*,b.*   from   a   inner   join   b     on   a.id=b.parent_id      
  结果是    
  1   张3                   1     23     1  
  2   李四                  2     34     2  
   
  2)左连接  
  select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id      
  结果是    
  1   张3                   1     23     1  
  2   李四                  2     34     2  
  3   王武                  null   

 

 3) 右连接  
  select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id      
  结果是    
  1   张3                   1     23     1  
  2   李四                  2     34     2  
  null                       3     34     4  
   
 4) 完全连接  
  select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id  

  结果是    
  1   张3                  1     23     1  
  2   李四                 2     34     2  
  null                   3     34     4  
  3   王武                 null
------------------------------------------------------------------------------

多表链接查询

SELECT T_Order.id,T_Order.remark,T_Order.resource_count,T_Order.order_status,T_Resource.no,T_Resource_Category.name,T_Resource_Group.name
FROM T_Order
INNER JOIN T_Order_Resource_Detail on T_Order.id = T_Order_Resource_Detail.order_id
INNER JOIN T_Resource  on T_Order_Resource_Detail.resource_id = T_Resource.id
inner join T_Resource_Category on T_Resource.category_id = T_Resource_Category.id
inner join T_Resource_Group on T_Resource.group_id = T_Resource_Group.id ;

---------------------------------------------------------------------------------------------------------------------------------------------

在某个时间范围内查询数据

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String startTime = df.format(new Date());
    df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
Date date = df.parse(startTime);  
           Calendar   calendar   =   new   GregorianCalendar();   
           calendar.setTime(date);   
           calendar.add(calendar.DATE,-90);//把日期往后增加一天.整数往后推,负数往前移动   
           date=calendar.getTime();   //这个时间就是日期往后推一天的结果   
           String endTime = df.format(date); //增加一天后的日期 

           sql = "select _id from t_boundlog bl where bl.StartTime < '"+endTime+"'";

 

修改表,增加一列:

ALTER TABLE t_boundlog ADD COLUMN other STRING



 

相关文章推荐

SQLite 常用SQL语句

常用SQL语句在可视化软件与代码中的使用,以及使用第三方(FMDB)

sqlite数据库中的sql语句大全

转载自http://hunankeda110.iteye.com/blog/1143258 2010年SQLite学习笔记之一 一. 如何获取SQLite最新版本 官方站点:ht...
  • mddy2001
  • mddy2001
  • 2012年07月12日 09:23
  • 29714

SQlite---经典SQL语句大全

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server ---...

android sqlite简单的sql语句介绍

看 android sqlite的sql语句   不能删除一个已经存在的字段,或者更改一个已经存在的字段的名称、数据类型、限定符等等。 sqlite的数据类型: 1.NULL:空值。 2.INTE...

Sqlite常用表查询语句

1、查找一个表返回其中几条记录 select * from table where name='XXX'  limit 0,10;  其中limit 0,10中,0表示从第0条记录开始,10表示向下...

SQLite语句操作数据库

Android中的SQLite1.SQL语句的插入数据

sqlite 的基本操作以及数据库查询语句的基本格式

// 在SqLite中创建表的语句 //创建表SQL语句         String stu_table="create table usertable(_id integer primary...

SQLite SQL语句之增删改查 详解举例

一、插入数据 INSERT INTO 表(列...) VALUES(值...) 根据前面几篇的内容,我们可以很轻送的创建一个数据表,并向其中插入一些数据,不多说,看例子: myqiao@ubu...

sqlite常用的命令-增删改查

一、查看版本信息: #sqlite3 -version 二、sqlite3常用命令 1、当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识: 2、输...
  • sphone89
  • sphone89
  • 2013年08月14日 14:58
  • 31462

Android多线程下安全访问数据库

为了记录如何线程安全地访问你的Android数据库实例,我写下了这篇小小札记。文章中引用的项目代码请点击这里       假设你已编写了自己的 SQLiteOpenHelper。 public cl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sqlite中常用的sql语句
举报原因:
原因补充:

(最多只允许输入30个字)