目录 Content
[hide]
一、开胃菜
1.对SQLITE数据库文件瘦身
在使用SQLITE的过程中,数据库文件在经历了delete数据后,体积并没有缩小,这时可使用 VACUUM 指令来对数据库瘦身。
sqlite> VACUUM; sqlite>
关于 VACUUM 功能,请移步 http://sqlite.org/lang_vacuum.html
二、使用 WHERE 过滤数据
前面的语句所筛选的都是没有经过过滤的数据,使用 WHERE 子句可以指定搜索条件。
1.使用WHERE子句筛选
C:\Users\liangtao>sqlite3 tysql.sqlite -- Loading resources from C:\Users\liangtao/.sqliterc SQLite version 3.8.10.2 2015-05-20 18:17:19 Enter ".help" for usage hints. sqlite> SELECT prod_name,prod_price ...> FROM Products ...> WHERE prod_price = 3.39 ...> ; sqlite> SELECT prod_name,prod_price ...> FROM Products ...> WHERE prod_price = 3.49 ...> ; prod_name prod_price ----------------- ---------- Fish bean bag toy 3.49 Bird bean bag toy 3.49 Rabbit bean bag t 3.49 sqlite>
如果客户端要提取某种条件数据,应该直接让数据库来操作。数据库本身就是擅长做数据处理的。
2. 字符串使用单引号 ”
sqlite> SELECT vend_id,prod_name ...> FROM Products ...> WHERE vend_id <> 'DLL01'; vend_id prod_name ---------- ----------------- BRS01 8 inch teddy bear BRS01 12 inch teddy bea BRS01 18 inch teddy bea FNG01 King doll FNG01 Queen doll sqlite>
3. 搜索某个范围 BETWEEN
使用 BETWEEN 操作符,可以过滤出某个范围的值
sqlite> SELECT prod_name,prod_price ...> FROM Products ...> WHERE prod_price BETWEEN 5 AND 10; prod_name prod_price ----------------- ---------- 8 inch teddy bear 5.99 12 inch teddy bea 8.99 King doll 9.49 Queen doll 9.49 sqlite>
当然也可以用 < 和 > 以及 AND 来限定
sqlite> SELECT prod_name,prod_price ...> FROM Products ...> WHERE prod_price > 5 AND prod_price < 10; prod_name prod_price ----------------- ---------- 8 inch teddy bear 5.99 12 inch teddy bea 8.99 King doll 9.49 Queen doll 9.49 sqlite>
4. 空值 NULL 检查
某些情况,某列的值存入的是空值,称其为 NULL,使用 WHERE … IS NULL 来判断。
sqlite> SELECT cust_name ...> FROM CUSTOMERS ...> WHERE cust_email IS NULL; cust_name ---------- Kids Place The Toy St sqlite>
注意,不包含某个值并不一定包含 IS NULL 的值,所以要特别验证含NULL的行是否出现在过滤的数据中。
关键字: WHERE, NULL, BETWEEN