iOS數據存儲之SQL語句的基本使用

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

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

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 : 表名
    • 可以跟條件也可以不跟:不跟表示刪除所有的數據

DQL語句的基本使用

  • 查詢語句
    • 基本查詢(查詢整個表格)
SELECT * FROM t_student;
  • 查詢某些字段(查詢name和age兩個字段)
SELECT name, age FROM t_student;
  • 通過條件判斷來查詢對應的數據(年齡大于等于18)
SELECT * FROM t_student WHERE age >= 18;
  • 通過條件判斷來查詢對應的數據(名字以i開頭),使用like關鍵字(模糊查詢)
SELECT * FROM t_student WHERE name like '%i%';
  • 計算個數
    • 計算一共多少列
SELECT count(*) FROM t_student;
- 計算某一個列個數
SELECT count(age) FROM t_student;
  • 排序
    • 升序 ASC (默認是升序)
SELECT * FROM t_student ORDER BY age;
- 降序 DESC
SELECT * FROM t_student ORDER BY age DESC;
- 按照年齡升序排序,如果年齡相同,按照名字的降序排列
SELECT * FROM t_student ORDER BY age,name DESC;
  • 起別名
    • 給列起別名(as可以省略)
SELECT name AS myName, age AS myAge FROM t_student;
- 給表起別名
SELECT s.name, s.age FROM t_student as s;
  • limit
SELECT * FROM t_student LIMIT 數字1,數字2;
- 跳過前9條數據,再查詢3條數據
SELECT * FROM t_student LIMIT 9, 3;
- 跳過0條數據,取5條數據
SELECT * FROM t_student LIMIT 5; 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容