菜鸟学习之路——SQLite数据库的学习
来源:互联网 发布:手机编程前景 编辑:程序博客网 时间:2024/04/28 20:12
我们以前用的plist,useDeafult,归档和解档,虽然可以存放数据,但是只是用来存放小量数据,而且写入写出不方便,有着很大读取文件和写入文件速度的限制性,所以在移动开发中,我们就用到了数据库,SQLite来存储数据,
SQLite:用来存放大批量数据
SQLite将数据划分以下几种存储类型
integer:整型值
real:浮点值
text:文本字符串
blob :二进制数据(比如文件)
但是,实质上SQLite是无类型的,所谓的类型不过是方便以后开发人员的标识而已
SQL语句
1.在程序运行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使用SQL语句
2.不区分大小写
SQL中常用的关键字
select、insert、update、delete、from、create、where、desc、order、by、group、table、alter、view、index等等
数据库中不可以使用关键字来命名表、字段
数据定义语句
在数据库中创建新表或删除表(create table 或 drop table)
数据库操作语句
添加、修改、删除(insert、update、delete)
数据查询语句
查询获得表中的数据(select)
SQL创建表
CREATE TABLE IF NOT EXISTS t_dog(name text , age integer);
当然,我们之前说过SQLite实质上是无类型的(主键除外),所以我们可以写成CREATE TABLE IF NOT EXISTS t_dog(name, age);
NOT NULL 的意思是以后插入的的数据不能为空
CREATE TABLE IF NOT EXISTS t_dog(name text NOT NULL, age integer NOT NULL);
UNIQUE 的意思是插入的数据是唯一的,以后插入的数据不能有重复的
CREATE TABLE IF NOT EXISTS t_dog(name text NOT NULL UNIQUE, age integer NOT NULL);
DEFAULT 的意思是设置默认值,在不修改的情况下就用默认值赋值给数据
CREATE TABLE IF NOT EXISTS t_dog(name text DEFAULT 1, age integer);
PRIMARY KEY :主键,为每一条数据都设置唯一的标识符,在默认情况下由1开始,并有UNIQUE和NOT NULL的效果
CREATE TABLE IF NOT EXISTS t_dog(id integer PRIMARY KEY , name text , age integer);
所以在插入数据时,如果想修改id,可以自己设置,那么以后插入数据的id在默认的情况下,由你设置的id数值开始
INSERT INTO t_dog (id,name,age) VALUES (‘10’,狗,20)
SQL删除表
DROP TABLE IF EXISTS t_dog;
SQL插入数据
INSERT INTO t_shop (name,price,left_count) VALUES (‘手机’,2001,500)
注意,数据库中的字符串内容应该用单引号’括住
当然,有可能我们有些数据不确定,我们也可以不插入全部数据
INSERT INTO t_shop (name,left_count) VALUES (‘手机’,500)
SQL更新数据
UPDATE t_shop SET price = 900, left_count = 0;
SQL删除数据
DELETE FROM t_shop;
SOL查询数据
SELECT * FROM t_shop WHERE left_count > 800;
AS 意思是为这个name字段设置标识符
SELECT name AS shop_name FROM t_shop WHERE left_count > 800;
SQL数据排序
SELECT * FROM t_shop ORDER BY left_count 通过left_count 排序,默认为升序 ,DESC为降序
SELECT * FROM t_shop ORDER BY left_count DESC
SELECT * FROM t_shop ORDER BY left_count DESC ,price ASC ; 首先通过left_count 进行降序排序,如果遇到大小一样的,则通过price升序排序
SQL精确差数据
LIMT 的意思是跳过前面4条记录,然后取出8条记录
SELECT * FROM t_shop limit 4,8;
SQL外键约束
嵌套查询
SELECT * FROM t_student WHERE class = (SELECT id FROM t_class WHERE name = 'Andiona’);跟表连接一样
表连接(重点)
s、c 为别名
SELECT s.name , c.name FROM t_student s JOIN t_class c WHERE s.class = c.id AND c.name = 'Andiona';
条件语句
如果只想更新或删除某个固定的记录,那就在DML语句后加上一些条件
条件语句的常见格式
where 字段 = 某个值
例如:UPDATE t_shop set left_count = 0 WHERE price < 1000 ;
将t_shop表内如果price字段的记录少于1000,就将left_count字段的记录改为0
例如 DELETE FROM t_shop WHERE left_count = 0;
将t_shop表内如果left_count字段的记录为0的那一行删掉
例如 DELETE FROM t_shop WHERE left_count = < 500 AND price < 2000
在SQL中&& 变成了AND || 变成了OR
0 0
- 菜鸟学习之路——SQLite数据库的学习
- 菜鸟的学习之路(9) — ArrayList类
- 菜鸟的学习之路(10) — LinkedList类
- Android学习笔记034之数据存储—SQLite数据库
- Android学习笔记三十四之数据存储—SQLite数据库
- android之sqlite数据库学习
- android学习之sqlite数据库
- android学习之sqlite数据库
- Android学习之数据库SQLite
- 菜鸟学习之路——单例模式学习
- QT学习之路————使用QT自带的QSqlDatabase类简单操作sqlite数据库
- Android下SQLite数据库学习笔记1——SQLite数据库的使用
- java菜鸟学习之路之JDBC连接Oracle数据库
- QT学习之路————C语言操作sqlite数据库
- Andriod开发——SQlite数据库的学习
- sqlite数据库的学习笔记
- Android学习笔记——数据库SQLite
- 菜鸟我的JAVA学习之路
- Java中获取键盘输入值的三种方法
- Android之内容提供者(Content Provider)
- C语言-2-流程控制
- zthread学习 实例十三 线程间的协助(四)——读者、写者
- 记一次监控问题解决历程
- 菜鸟学习之路——SQLite数据库的学习
- HTML语法大全
- 【listview精深系列2】listview基础讲解
- zthread学习 实例十四 信号量机制
- 条款15:在资源管理类中提供对原始资源的访问
- SPRING技术内幕:深入解析SPRING架构与设计原理(第2版)-笔记(三)AOP概念
- hinernate 一对一、一对多、多对多举例
- My97DatePicker 输入框 的用法
- zthread学习 实例十五ZThread库基本结构的规纳