ios-数据库基础
来源:互联网 发布:深圳正规软件培训 编辑:程序博客网 时间:2024/06/01 08:10
在数据库中,表当中据可能会出现某些数据雷同导致无法分清楚那一条是那一条,所以这个时候我们就需要有主键来帮我们进行区分。
主键就像人的身份证一样是唯一标识的。就好比一个学生表当中,
学生名字是有可能会重名的,所以我们不能用名字来充当唯一标识符。
而应该用学号。学生信息表当中主键一般来说绝大多数都是整数,
然后是自动增加的。这样可以用来区分数据的标识。
这就好比我们提交数据给服务器,服务器会自动的可能帮我们提交的数据编号,然后在存到数据库中。
SQL语句
创建表,其中CREATE TABLE表示的是创表,IF NOT EXISTS 表示的是判断数据表存不存在,如果存在,就不再去创建表SQL
T_table表示的是表名 ( )括号之间是字段的描述就比如说
(
字段 INTEGER(整数) / REAL(小数) / TEXT(字符串) / BLOB(二进制数据)
)
NOT NULL 表示的是不允许为空,因为主键必须要有内容
PRIMARY KEY 表示的就是主键的意思
AUTOINCREMENT 表示的是自动增长的意思
每个字段之间用逗号来分隔,最后一个字段不需要逗号
这里创建表的方式名字也可以用单引号
CREATE TABLE IF NOT EXISTS "T_table" ( "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" TEXT,)最好在每一条SQL语句的末尾,加一个; 表示语句结束
插入语句,字段对应相应的值
INSERT INTO T_Person(name,age,height)VALUES('西米',18,1.85)具体形式其实就是
INSERT INTO 表名
(字段1,字段2)
VALUES
(值1,值2);
SQLite本质上不区分数据类型,怎么样存都可以,在定义表结构的时候写的数据类型其实并没有起到约束作用,只是给我们个提醒
删除语句,删除年龄为10的的记录
DELETE FROM T_PersonWHERE age = 10;
具体形式,删除语句一定要去写 WHERE,否则就会删除所有的数据
DELETE FROM '表名'
WHERE 列名称 = 值
更新语句,更新记录
UPDATE T_Person set name = '王哥',age = 76, height = 1.6WHERE id = 2;具体形式
UPDATE 表名称
SET 列名称 = 新值
WHERE 列名称 = 值
条件一定要写,不然会修改所有的记录
如果条件不满足的话,SQL会执行,但是不会去影响结果
注意: SQL 语句对大小写不敏感
查询语句
能查询所有的记录,从 "Persons" 表中选取所有的列,* 取代列的名称
SELECT * FROM T_Person;
还有种方式是写出所有的属性,SELECT id,name,height,age FROM T_Person;
用于统计查询使用的语句
SELECT count(*) FROM T_Person;指定某些条件进行统计查询
SELECT count(*) FROM T_Person WHERE height > 1.7;
这里是返回身高最高的那条数据,其中身高是我定义的表当中的一个列的名称,应用场景在于最近加入的人
SELECT max(height) FROM T_Person;查询从第几条数据开始,返回数据的条数
SELECT id,name,height FROM T_PersonLIMIT 0,2在查询第几条数据开始,到返回数据的条数的基础上我们去添加条件来进行查询,比如说限制id的条件,这样的话我们就可以很好的作出了分页的功能
SELECT id,name,height FROM T_PersonWHERE id>=2LIMIT 1;也可以先去排序,然后再获得数据,其中ASC是升序,DESC是降序
SELECT id,name,height,age FROM T_PersonORDER BY name DESC;也可以添加两个排序条件,其实名字以降序排序,年龄以升序排序,排序是从左到右进行的。
SELECT id,name,height,age FROM T_PersonORDER BY name DESC,age ASC;模糊查询,%a%表示只要出现了a都会被搜索出来
SELECT id,name,height,age FROM T_Person WHERE name LIKE '%a%'
还有就是以什么为开头,内容是什么想要搜索也可以这么写
SELECT id,name,height,age FROM T_Person WHERE name LIKE 'a%b'
下面是多了个判断年龄的条件,逻辑判断用AND OR NOT来表示
SELECT id,name,height,age FROM T_Person WHERE (name LIKE '%a%' AND age > 15)试例 搜索到a为内容的,以及年龄大于15的,或者name为b的
SELECT id,name,height,age FROM T_Person WHERE (name LIKE '%a%' AND age > 15) OR name = 'b'搜索到名字不是为b的
SELECT id,name,height,age FROM T_Person WHERE NOT name = 'b'
表格如下
Sqlite中如果我们设置了某个字段为PRIMARY KEY的话其实也就相当于设置了UNIQUE NOT NULL这两个。
- iOS基础7:数据库
- iOS 数据库SQL 基础
- ios-数据库基础
- ios超精细论证数据库管理基础
- IOS-Coredata 核心数据库的基础使用
- iOS开发基础技能之数据库(SQLite)
- **原创**零基础学ios**UI课程03***数据库
- 关于iOS基础总结(2)--数据库、存储、内存管理
- ios基础
- ios基础
- iOS基础
- IOS 基础
- ios基础
- ios 基础
- IOS基础
- ios基础
- ios基础
- ios基础
- 051: 单调性与极值及凹凸性之型一极值点判断;型二不等式证明
- 【BZOJ1996】【HNOI2006】公路修建问题
- uva437 DAG最长路
- caffemodel做分类所有类别得分一样的解决办法
- 【BZOJ2118】墨墨的等式
- ios-数据库基础
- C++并查集——通过一道实例说明
- springMVC自定义拦截器
- c语言动态实现顺序表
- echo ,print,print_r,var_dump有什么区别?
- Struts2 遍历输出WEB-INF文件目录,并提供下载功能
- noip 2015 T5 子串 字符串dp
- 自己写的ajax,网页奔溃
- BZOJ 1222 [HNOI2001]产品加工 动态规划