標籤:
1、sqlite3儲存資料的類型
NULL:標識一個NULL值
INTERGER:整數類型
REAL:浮點數
TEXT:字串
BLOB:位元
2、 sqlite3儲存資料的約束條件
Sqlite常用約束條件如下:
PRIMARY KEY - 主鍵:
1)主鍵的值必須唯一,用於標識每一條記錄,如學生的學號
2)主鍵同時也是一個索引,通過主鍵尋找記錄速度較快
3)主鍵如果是整數類型,該列的值可以自動成長
NOT NULL - 非空:
約束列記錄不可為空,否則報錯
UNIQUE - 唯一:
除主鍵外,約束其他列的資料的值唯一
CHECK - 條件檢查:
約束該列的值必須符合條件才可存入
DEFAULT - 預設值:
列資料中的值基本都是一樣的,這樣的欄位列可設為預設值
3、 sqlite3常用指令
1)建立資料表
create table table_name(field1 type1, field2 type1, ...);
table_name是要建立資料表名稱,fieldx是資料表內欄位名稱,typex則是欄位類型。
例,建立一個簡單的學生資訊表,它包含學號與姓名等學生資訊:
create table student_info(stu_no interger primary key, name text);
create table if not exists 表名(欄位名1,欄位名2...);
2)添加資料記錄
insert into table_name(field1, field2, ...) values(val1, val2, ...);
valx為需要存入欄位的值。
例,往學生資訊表添加資料:
Insert into student_info(stu_no, name) values(0001, alex);
3)修改資料記錄
update table_name set field1=val1, field2=val2 where expression;
where是sql語句中用於條件判斷的命令,expression為判斷運算式
例,修改學生資訊表學號為0001的資料記錄:
update student_info set stu_no=0001, name=hence where stu_no=0001;
4)刪除資料記錄
delete from table_name [where expression];
不加判斷條件則清空表所有資料記錄。
例,刪除學生資訊表學號為0001的資料記錄:
delete from student_info where stu_no=0001;
5)查詢資料記錄
select指令基本格式:
select columns from table_name [where expression];
a查詢輸出所有資料記錄
select * from table_name;
b限制輸出資料記錄數量
select * from table_name limit val;
c升序輸出資料記錄
select * from table_name order by field asc;
d降序輸出資料記錄
select * from table_name order by field desc;
e條件查詢
select * from table_name where expression;
select * from table_name where field in (‘val1‘, ‘val2‘, ‘val3‘);
select * from table_name where field between val1 and val2;
f查詢記錄數目
select count (*) from table_name;
g區分列資料
select distinct field from table_name;
有一些欄位的值可能會重複出現,distinct去掉重複項,將列中各欄位值單個列出。
6)建立索引
當說資料表存在大量記錄,索引有助於加快尋找資料錶速度。
create index index_name on table_name(field);
例,針對學生表stu_no欄位,建立一個索引:
create index student_index on student_table(stu_no);
建立完成後,sqlite3在對該欄位查詢時,會自動使用該索引。
7)刪除資料表或索引
drop table table_name;
drop index index_name;
iOS開發筆記--sqlite3 語句總結