SQLite数据库的简单使用-简单查询

select strfime('%Y-%m-%d %H:%M:%S','now','localtime');
结果:2011-10-15 22:16:23
select strftime('%s','now','localtime');
结果:1318717087
select date('now');//2011-10-15
select date();//2011-10-15


select time();15:04:27
select time('now');15:04:27 少八个小时


select current_date;
select current_time;
select current_timestamp;


select datetime();//2011-10-15 14:23:23 和北京时间差8个小时
select datetime('now','localtime');//2011-10-15 22:24:18 正确时间


select datetime('2011-01-01');
2011-01-01 00:00:00
select datetime('2011-01-01 12:12:12');
2011-01-01 12:12:12
select datetime('2011-01-01 12:12:12','+8 hour');
2011-01-01 20:12:12
select datetime('2011-01-01 12:12:12','+1 day','-1 year');
2010-01-02 12:12:12
算术函数
abs(X) 返回给定数字表达式的绝对值。
max(X,Y[,...]) 返回表达式的最大值。
min(X,Y[,...]) 返回表达式的最小值。
random(*) 返回随机数。
round(X[,Y]) 返回数字表达式并四舍五入为指定的长度或精度。
字符处理函数
length(X) 返回给定字符串表达式的字符个数。
lower(X) 将大写字符数据转换为小写字符数据后返回字符表达式。
upper(X) 返回将小写字符数据转换为大写的字符表达式。
substr(X,Y,Z) 返回表达式的一部分。
randstr()
quote(A)
like(A,B) 确定给定的字符串是否与指定的模式匹配。
glob(A,B)
条件判断函数
coalesce(X,Y[,...])
ifnull(X,Y)
nullif(X,Y)
集合函数
avg(X) 返回组中值的平均值。
count(X) 返回组中项目的数量。
max(X) 返回组中值的最大值。
min(X) 返回组中值的最小值。
sum(X) 返回表达式中所有值的和。
其他函数
typeof(X) 返回数据的类型。
last_insert_rowid() 返回最后插入的数据的ID。
sqlite_version(*) 返回SQLite的版本。
change_count() 返回受上一语句影响的行数。
last_statement_change_count()
create table student
(
id integer PRIMARY KEY,
name varchar(30) not null,
content text,
money numeric(5,2),
birthday datetime default CURRENT_DATE
);


create table student
(
id integer PRIMARY KEY,
name varchar(30) not null,
content text,
money numeric(5,2),
birthday datetime default CURRENT_TIMESTAMP
);




insert into student(name,content,money) values('a','bb',20.9);
select * from student;


create INDEX stuname on student(name desc,content asc) 


随机读取二条记录
select * from student order by random() limit 2;


select strftime('%Y-%m-%d %H:%M:%S','now','localtime');
select datetime('now','localtime');
2011-10-12 23:46:40
简单示例:
SELECT * FROM [pepole] WHERE strftime('%Y-%m-%d',[date])>date('2011-01-15')
SELECT * FROM [pepole] WHERE strftime('%Y-%m-%d',[date])>=date('now','Localtime')


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




常用的查询语句
select * from 表 where 日期字段>datetime('now','localtime');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值