Android SQLite入门

一.数据库查询语句:select

1. 查询所有数据

select * from 表名;

select * from exam_books;

2.按照一定的条件查找:

select * from 表名where条件;

select * from exam_books where id<20;

3.范围条件查询:

select * from 表名 where 字段 between  值1  and 值2 ;

select * from exam_books where id<20andid>10;

select * from exam_books where id between 10 and 20;

select * from exam_books where addtimebetween'2011-03-17 00:00:00'and'2011-03-18 00:00:00';

4.模糊查询:

select * from 表名 where 字段like'%条件%';

select * from exam_books where bookname like '%马克思%';

select * from exam_books where booknamelike'马__';

(查询书名中第一个字是“马”,后面有两个字)

%和_叫做通配符

5.复合查询:

select * from 表名 where 条件and另一个条件;

select * from exam_questions  where coursecode = '03706' and chapterid = 2;

6.查询个数:

selectcount(*)from 表名 where 条件

select count(*) as 别名 from exam_questions  where coursecode = '03706' and chapterid = 2;

7.查询结果按顺序排列:

正序、倒序(asc/desc)

select * from 表名 where 条件 order by 字段 desc/asc;

select * from exam_questions where coursecode = '03706' order by chapterid;

8、按照limit查找某个范围内的数据

SELECT  * FROM exam_questionsorder byid asclimit0, 15;(代表查找出的第一页的信息)

SELECT  * FROM exam_questions  order by id asclimit15, 15;(代表查找出的第二页的信息)

【备注:】limit后面的两个数字中:第一个代表偏移量,第二个代表每页展示的数量

偏移量 = (当前页码数-1) * 每页显示条数

SELECT 字段 AS  别名  FROM 表名 WHERE...   ORDER BY ...  LIMIT....

9、sql常用函数:

count()

length()

min()

max()

datetime('now')

date('now')

time('now')

10、group by分组查询

select name ,sum(score) from students group by name having name='xxx'

二. 删除数据:delete

delete from 表名 where 条件;

delete from exam_questions where id<2000;

delete from exam_questions where coursecode='00041' and chapterid=1;

DELETE    FROM    表名    WHERE子句

三.插入新数据:insert

insert into 表名(字段) values(值);

insert into exam_weburl(webname , weburl , info , bigtypeid) values('人人网', 'renren.com' , '这个网站不错' , 3);

四.更新数据:update

update 表名 set 字段1=值1, 字段2=值2 where 条件;

update exam_weburl set info='这个网站不太好' where id=73;

update exam_weburl set webname='人人2', weburl='www.renren.com' where id=73;

五、创建表结构的语句:

CREATETABLE  表名 (_id INTEGER PRIMARY KEY AUTOINCREMENT , 字段2, 字段3...)

例如:CREATE TABLE tb_newwords (_id INTEGER PRIMARY KEY AUTOINCREMENT, words  , detail );

六、更新表结构的语句:

1、如需在表中添加列,请使用下列语法:

ALTERTABLE table_name

ADD column_name datatype

2、要删除表中的列,请使用下列语法:

ALTER TABLE table_name

DROPCOLUMN column_name

3、要改变表中列的数据类型,请使用下列语法:

ALTER TABLE table_name

ALTER COLUMN column_name datatype

【备注:】

DDL (data define language)数据定义语句create,drop,alter

DML (data manipulate language)数据操纵语句insert,delete,update,select  (CRUD)

DCL数据控制语句grant, revoke.

TCL(transaction controll language)事务控制语句.

学习SQL的主要重心应该放在DML语句上,而DML语句中的重点应该是在select语句上。

CRUD:是指在做计算处理时的增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述数据库的基本操作。

【补充】sqlite3.exe

1、.open 数据库名

如果open一个不存在的数据库,则会新建该表,如果该表没有看到,则需要创建表 CREATE TABLE 表名先创建表,才能看到数据库文件出现。

2、.help

3、.show

4、.tables 展示所有数据库的表

5、.schema 表名

【备注:】

SQLite支持哪些数据类型?

1)、NULL 值为NULL

2)、INTEGER 值为带符号的整型,根据类别用1,2,3,4,6,8字节存储

3)、REAL 值为浮点型,8字节存储

4)、TEXT 值为text字符串,使用数据库编码(UTF-8, UTF-16BE or UTF-16-LE)存储

5)、BLOB 值为二进制数据,具体看实际输入

实际上:SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数据类型是什么,对于SQLite来说字段不指定类型是完全有效的.

虽然理论上SQLite只支持以上五种数据类型,但是如果写成以下数据类型,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。

•date   包含了 年份、月份、日期。

•time   包含了 小时、分钟、秒。

•timestamp  包含了 年、月、日、时、分、秒、千分之一秒。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容