首先我们复习第一天的主要内容:
SQL语句的种类
数据定义语句(DDL:Data Definition Language)
- 包括create和drop等操作;
- 在数据库中创建新表或删除表(create table或 drop table);
数据操作语句(DML:Data Manipulation Language)
- 包括insert、update、delete等操作
数据查询语句(DQL:Data Query Language)
- 可以用于查询获得表中的数据
- 关键字select是DQL(也是所有SQL)用得最多的操作
- 其他DQL常用的关键字有where,order by,group by和having
首先来解释一下SQLite是做什么的 他是一款嵌入式的数据库 在iOS开发中通常数据比较多的时候用它实现数据
离线缓存
由于它占用的资源比较低,在嵌入式设备中,可能只需要几百K的内存就够了,所以开发中使用它
说了SQLite的作用之后,那么我们需要用它来存储数据,那就不得不说
对SQLite数据库的操作了
,要想操作我们就得学习SQLite语句了
sql分类
DDL语句的基本使用
- 删除表
DROP TABLE IF EXISTS '表名';
- 创建表
CREATE TABLE IF NOT EXISTS '表名'
( '字段名' 类型(INTEGER, REAL, TEXT, BLOB)
NOT NULL 不允许为空 PRIMARY KEY 主键 AUTOINCREMENT 自增长,
'字段名2' 类型, ... )
- 具体使用:
CREATE TABLE IF NOT EXISTS 't_student'
( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" TEXT, "age" INTEGER, "height" REAL
)
- 语句说明
- CREATE TABLE:创建一张表
- IF NOT EXISTS:不存在则创建
- 't_student':表的名称
- NOT NULL:不允许为空
- PRIMARY KEY:主键
- AUTOINCREMENT:自动增加
- 'id' INTEGER:有一个ID字段,类型是INTEGER
SQLite语句
首先来说下这种语言书写规范的总体特性
- 不用区分大小写
- 每条语句用
;
为结尾,跟我们oc一样
其实SQLite种类就三种 说的高大上写就是DDL 、DML、 DQL 说白了分别对应就是
数据定义语句
、数据操作
、数据查询
、DDL(DDL:Data Definition Language) 一般就是
创表
跟删表
操作DML(DML:DataManipulation Language)
添加
、修改
、删除
表中的数据DQL(DQL:Data QueryLanguage) 一般是
可以用于查询获得表中的数据
知识概述
1) DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter 等
2) DML(Data Manipulation Language)数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert, delete, update 等
3) DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where 等
4) DCL(Data Control Language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE 等
DML语句的基本使用
- 插入数据
INSERT INTO 't_student' (name, age, height) VALUES ('why', 18, 1.88);
- 语句说明
- INSERT INTO: 插入数据
- 't_student': 在哪一个表中插入数据
- (数据的字段): 给哪些字段插入数据
- VALUES ('why', 18, 1.88): 插入的具体值
- 更新数据
UPDATE 't_student' SET 字段 = '值' WHERE 条件判断;
- 语句说明
- UPDATE: 跟新数据
- 't_student': 在哪一个表中更新数据
- SET 字段 = '值': 更新怎样的数据
- WHERE 条件判断: 更新哪些数据
- 具体使用
UPDATE t_student SET name = 'me' WHERE age = 14;
UPDATE t_student SET name = 'liu' WHERE age is 20;
UPDATE t_student SET name = 'yy' WHERE age < 20;
UPDATE t_student SET name = 'A' WHERE age < 100 and score > 60;
UPDATE t_student SET name = 'ly';
- 删除数据
DELETE FROM t_student;
DELETE FROM t_student WHERE age < 30;
- 语法说明
- DELETE FROM: 从表中删除数据
- t_student : 表名
- 可以跟条件也可以不跟:不跟表示删除所有的数据
DDL
- 第一步我们有了数据库以后,就得创建表 怎么创建呢?
这里需要用到关键之
CREATE
格式: CREATE + 表名 通常以t_开头 eg: t_student;
当然我们创建一张表需要对我们的字段进行一些约束,通常我们会有一个字段为主键 代表一条唯一的数据 这里我先来介绍一些约束 - 主键
primary key
通常为自动增量auto increment
not null
规定字段的值不能为nullunique
规定字段的值不能为nulldefault
:指定字段的默认值
例外,还需要了解数据库字段的类型
integer : 整型值
real : 浮点值
text : 文本字符串
blob : 二进制数据(比如文件)
注意:就算声明为integer类型,还是能存储字符串文本(主键除外), 因为实际上SQLite是无类型的 一般为了保持良好的编程规范、方便程序员之间的交流,编写建表语句的时候最好加上每个字段的具体类型
- 一切准备就绪 我们利用上面介绍个完整的
创表语句
CREATE TABLE IF NOT EXISTS "t_student" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" text NOT NULL,
"score" real NOT NULL,
"info" blob NOT NULL
);
- 当我们数据库中删除一张不需要的表呢
DROP TABLE IF EXISTS + 表名
本文由mgm6608美高梅app下载发布于mgm集团美高梅登录,转载请注明出处:DQL语句的基本使用,首先我们复习第一天的主要
关键词: