iOS sqlite3语句学习

/** 创建表*/
CREATE TABLE IF NOT EXISTS table_student (
    primaryId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
    name TEXT NOT NULL,
    age INTEGER,
    height REAL,
    createTime datetime default (datetime('now', 'localtime')),
    updateTime datetime default (datetime('now', 'localtime')),
    kv BLOB
);

/** 删除表*/
DROP TABLE table_student;
/** 删除表中所有数据*/
DELETE FROM table_student;

/** 表新增列/表重命名*/
ALTER TABLE table_student
ADD COLUMN school TEXT;

ALTER TABLE table_student
ADD COLUMN school TEXT DEFAULT '默认值' NOT NULL;

ALTER TABLE table_student
RENAME TO new_table_student;

/** 增*/
INSERT INTO table_student(name, age, height)
VALUES ('zhangsan', 15, 1.63);

INSERT INTO first_table_name(column1, column2, ... , columnN)
SELECT column1, column2, ..., columnN FROM second_table_name;

/** 删*/
DELETE FROM table_name WHERE {CONDITION};

/** 改*/
UPDATE table_name
SET column1 = value1, column2 = value2, ..., columnN = valueN
WHERE {CONDITION};

UPDATE table_student
SET name = 'fuck', age = 25, updateTime = datetime('now', 'localtime')
WHERE name = 'lisi';

/** 查*/
SELECT COUNT(*) FROM table_name WHERE {CONDITION};
/** 查询表中column_name字段对应值非NULL的数量*/
SELECT COUNT(column_name) FROM table_name WHERE {CONDITION};
/** 1.查询表中所有数据*/
SELECT * FROM table_student;
/** 2.查询表中name以‘li’开头的所有数据,大小写敏感
    星号(*)代表零个、一个或多个数字或字符;
    问号(?)代表一个单一的数字或字符
*/
SELECT * FROM table_student WHERE name GLOB 'li*';
/** 3.查询表中name以‘li’开头的所有数据,大小写不敏感
    百分号(%)代表零个、一个或多个数字或字符;
    下划线(_)代表一个单一的数字或字符
*/
SELECT * FROM table_student WHERE name LIKE 'li%';
/** 4.查询所有在数据库中创建的表*/
SELECT tbl_name
FROM sqlite_master
WHERE type = 'table';
/** 5.查询表完整信息(如:创建表sql语句)*/
SELECT sql
FROM sqlite_master
WHERE type = 'table'
AND tbl_name = 'table_student';
/** 6.获取当前本地时间*/
SELECT datetime('now', 'localtime');
/** 7.Limit子句限制由SELECT语句返回的数据数量*/
SELECT * FROM table_name LIMIT 10;
SELECT * FROM table_name LIMIT 10 OFFSET 10;
/** 8.ORDER BY子句是用来基于一个或多个列按升序或降序顺序排列数据*/
SELECT *
FROM table_name
WHERE conditions
ORDER BY column1, column2, ..., columnN
{ASC|DESC};
/** 9.GROUP BY子句用于与SELECT语句一起使用,来对相同的数据进行分组
    GROUP BY子句放在WHERE子句之后,放在ORDER BY子句之前
*/
SELECT *
FROM table_name
WHERE conditions
GROUP BY column1, column2, ..., columnN
ORDER BY column1, column2, ..., columnN;
/** 10.HAVING子句允许指定条件来过滤将出现在最终结果中的分组结果
    HAVING 子句必须放在GROUP BY子句之后,必须放在ORDER BY子句之前
*/
SELECT *
FROM table_name
WHERE conditions
GROUP BY column1, column2
HAVING conditions
ORDER BY column1, column2;

SELECT * FROM table_student
GROUP BY name
HAVING count(name) > 2;
/** 11.DISTINCT关键字与SELECT语句一起使用,来消除所有重复的记录,并只获取唯一一次记录*/
SELECT DISTINCT column1
FROM table_name
WHERE [condition];

SELECT DISTINCT name FROM table_student;

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

推荐阅读更多精彩内容