ios 數(shù)據(jù)庫(SQLite3)

DDL語句:

1.刪除表

      DROP TABLE t_student;
      DROP TABLE IF EXISTS t_student;(較嚴禁)

2.創(chuàng)建表

CREATE TABLE IF NOT EXISTS t_dog (naem text,age integer);  或者

CREATE TABLE IF NOT EXISTS 't_student' (
  'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,/*主鍵   自動增長 */
  'name' text UNIQUE,
  'age' integer );

 CREATE TABLE IF NOT EXISTS t_dog (naem text ,age integer DEFAULT 1); 
 //  NOT NULL 約束的字段不能為空
 //  PRIMARY KEY 約束的字段是主鍵
 //AUTOINCREMENT 主鍵自增長
 //UNIQUE 約束的字段 是唯一的,即在數(shù)據(jù)庫中不能重復
//DEFAULT 即默認值 為 1

//標的關(guān)聯(lián)(聯(lián)合主鍵)
CREATE TABLE IF NOT EXISTS 't_student' (
  'id' integer NOT NULL PRIMARY KEY AUTOINCREMENT,/*主鍵   自動增長 */
  'name' text UNIQUE,
  'age' integer,
  'class' integer,CONSTRAINT "f_student_rel_class" FOREIGN KEY ("class") REFERENCES "t_class" ("id"));
// 用約束 f_student_rel_class 的 class外鍵 引用 t_class表的 主鍵 id字段
//class 班級表  學生是屬于哪個班級,所以學生表(t_student)中維護了一個字段 class 來引用班級表(t_class)的主鍵id

DML語句:

1.插入數(shù)據(jù)

   INSERT INTO t_student (name,age) VALUES ('張飛',11);

2.更新數(shù)據(jù)

  UPDATE t_student SET age = 45 WHERE name = '林沖';//將名字是林沖的用戶年齡更新為45
  UPDATE t_student SET name = '西門慶' WHERE age > 80;//將大于80歲的用戶名字更新為西門慶

3.刪除數(shù)據(jù)

  DELETE FROM t_student WHERE name = '西門慶';//根據(jù)用戶名刪除數(shù)據(jù)
  DELETE FROM t_student; //刪除表中所有值
  DELETE FROM t_student WHERE age = 20;//條件刪除 等于20歲的刪除
  DELETE FROM t_student WHERE age < 20 AND heigt < 150;//刪除年齡小于20 并且 身高小于1.5米的
  DELETE FROM t_student WHERE age < 20 OR height < 150;//刪除年齡小于20 或者 身高小于1.5米的

DQL語句:

查詢語句

 //查詢所有數(shù)據(jù)
SELECT * FROM t_student;

//查詢特殊字段
SELECT name,age FROM t_student;

//通過條件查詢語句
SELECT name,age FROM t_student WHERE age <= 30;

//通過條件(模糊)查詢
SELECT name,age FROM t_student WHERE name LIKE '張%';//根據(jù)名字    首字是張的條件查詢  % 代表后面剩余的是任意字符

//多個條件查詢
SELECT name,age FROM t_student WHERE name LIKE '%張%' AND age > 20;

SELECT name,age FROM t_student WHERE name LIKE '%張%' OR age >= 20;
//查詢聯(lián)合主鍵的數(shù)據(jù)
SELECT * FROM t_student WHERE class = (SELECT id FROM t_class WHERE name = 'ios');
//查出全校 ios的學生
SELECT s.name sname,c.name cname FROM t_student s,t_class c WHERE s.class = c.id AND c.name = 'ios';

計算個數(shù):

SELECT COUNT(*) FROM t_student; //數(shù)據(jù)總條數(shù)
SELECT COUNT(age) FROM t_student; //age不為空的個數(shù)

數(shù)據(jù)的排序:

SELECT * FROM t_student ORDER BY age; //通過年齡排序 默認升序
SELECT * FROM t_student ORDER BY age DESC; //降序
SELECT * FROM t_student ORDER BY age ASC; //升序
SELECT * FROM t_student ORDER BY age,name DESC;//先以年齡的升序排序,如果年齡相同,以名字的降序排序

起別名:

 SELECT s.name,s.age FROM t_student AS s;//給表起別名
SELECT name AS myName,age AS myAge FROM t_student;//給字段起別名

分頁查詢:

SELECT name,age FROM t_student LIMIT 1,2;// 1表示跳過的數(shù)據(jù)個數(shù),2表示查詢多少條
SELECT name,age FROM t_student LIMIT 5;//跳過0條數(shù)據(jù),每次查詢5條數(shù)據(jù) 
第N頁數(shù)據(jù) : limit n*(n-1),5   //每頁 5條數(shù)據(jù)

Demo地址 oc版本
Demo地址 swift版本
使用可以看這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容