數(shù)據(jù)庫

1>SQLite語句的關(guān)鍵字: select insert update delete from create where desc order by group table alter view index...

2>SQLite數(shù)據(jù)存儲(chǔ)的類型integer :整型值real :浮點(diǎn)值text :文本字符串blob :二進(jìn)制數(shù)據(jù) ( 比如文件 )

3>創(chuàng)表(CREAT)

直接創(chuàng)建 ?CREAT TABLE 表名?(字段名1 字段類型1,字段名2 字段類型2,...);

判斷表是否存在,不存在時(shí)再創(chuàng)建 CREAT TABLE IF NOT EXISTS 表名(字段1 字段類型1,字段名2 ?字段類型2...);

示例:CREAT TABLE t_stdent ( id integer,name text,age inetger,score real);

4>刪表(DROP)

直接刪除 DROP TABLE 表名;

判斷是否存在,存在直接刪除 DROP TABLE IF EXISTS 表名;

示例:DROP TABLE t_student;

5>插入數(shù)據(jù)(INSERT INTO)

INSERT INTO 表名(字段1,字段2,...)VALUES (字段1的值,字段2的值,...);

示例:INSERT INTO t_student(name,age)VALUES(‘ZY’,18);

注意:數(shù)據(jù)庫的字符用單引號(hào)’?‘;

6>更新數(shù)據(jù)(UPDATE)

UPDATE 表名 SET 字段1 = 字段1的值,字段2 = 字段2的值,...;

示例:UPDATE t_student SET name =‘jack’,age = 20;

注意:上行示例代碼執(zhí)行完畢之后,會(huì)將表中的name值UPDATE為 jack age 的值 20.

7>刪除數(shù)據(jù)(DELETE)

DELETE FROM 表名;

示例:DELETE FROM t_student;

注意:上行示例代碼會(huì)將t_student表中所以記錄都刪掉.

8>條件語句,用于只是要修改或刪除某些記錄的限制語句

常見格式:

WHERE 字段 = 某個(gè)值; //切記不是兩個(gè) =

WHERE 字段 IS 某個(gè)值; // IS 相當(dāng)于 =

WHERE 字段 != 某個(gè)值;

WHERE 字段 IS NOT 某個(gè)值; // IS NOT 相當(dāng)于 !=

WHERE 字段1 = 某個(gè)值;

WHERE 字段1 = 某個(gè)值 AND 字段2 > 某個(gè)值; // AND相當(dāng)于C語言中的&&

WHERE 字段1 ?= 某個(gè)值 OR 字段2 = 某個(gè)值; // OR相當(dāng)于C語言中的|

示例:

將t_student表中年齡大于10并且姓名不等于 jack 的記錄的年齡都改成 5

UPDATE t_student SET age = 5 WHERE age > 10 AND name != ‘jack’;

刪除t_student表中年齡小于等于10或者年齡大于30的記錄

DELETE FROM t_student WHERE age <= 10 OR age > 30;

將表中的某個(gè)字段的值就行修改(必須在特定的條件上)

UPDATE t_student SET score = age WHERE name = ‘jack'

將t_student表中名字等于jack的記錄的score字段在的值都改為age字段的值

9>DQL語句

格式:

SELECT 字段1,字段2,...FROM 表名;

SELECT * FROM 表名; // 查詢所以字段

示例:

SELECT name ,age FROM t_student;

SELECT *FROM t_student;

SELECT *FROM t_student WHERE age > 10;

10>起別名

格式:(字段和表都可以起別名)

SELECT 字段1 別名, 字段2 別名,...FROM 表名 別名;

SELECT 字段1 別名, 字段2 AS 別名,..FROM 表名 AS 別名;

SELECT 別名.字段1 ,別名.字段2,...FROM 表名 別名;

示例:

SELECT name myname, age myage FROM t_student;

給name起個(gè)叫做 myname 的別名,給age起個(gè)叫做myage 的別名;

SELECT s.name , s.age FROM t_student s;

給t_student表起個(gè)別名叫做s ,利用s來引用表中的字段

11>計(jì)算記錄的數(shù)量

格式:

SELECT count (字段) FROM 表名;

SELECT count ( * ) FROM 表名;

示例:

SELECT count (age) FROM t_student;

SELECT count ( * ) FROM t_student WHERE score >= 60;

12>排序

查詢出來的結(jié)果可以使用OEDER BY 進(jìn)行排序

SELECT * FROM t_student ORDER BY 字段;

SELECT * FROM t_student ORDER BY age;

默認(rèn)是按照升序排序 (由小到大) ,也可以變?yōu)榻敌?(由大到小)

SELECT * FROM t_student ORDER BY age DESC; // 降序

SELECT * FROM t_student ORDER BY age ASC; //升序 (默認(rèn))

也可以用多個(gè)字段進(jìn)行排序

SELECT * FROM t_student ORDER BY age, height DESC;

13>LIMIT

使用LIMIT可以精確的控制查詢結(jié)果的數(shù)量,比如每次只查詢10條數(shù)據(jù)

格式:SELECT * FROM 表名 LIMIT 數(shù)值1,數(shù)值2;

示例:SELECT * FROM t_student LIMIT 4,8;

上行代碼執(zhí)行完查詢的結(jié)果是:跳過最前面的4條記錄,然后取8條記錄

注意:LIMIT后面的數(shù)值1不寫的話,默認(rèn)是第一個(gè)記錄

LIMIT 常做為分頁查詢,比如每頁固定顯示5條數(shù)據(jù),那么應(yīng)該這樣取數(shù)據(jù)

第一頁:LIMIT 0 , 5;

第二頁:LIMIT 5 , 5;

第三頁:LIMIT 10 , 5;

第 n 頁:LIMIT: 5* (n - 1) , 5;

SELECT *FROM t_student LIMIT 7; ?相當(dāng)于 SE;ECT * FROM t_student LIMIT 0 , 7;

表示取最前面的7條記錄

14>簡單的約束

建表時(shí)可以指定特定的約束條件,常見的約束:

NOT NULL :規(guī)定字段的值不能為NULL

UNIQUE : 指定字段的值必須唯一

DEFAULT : 指定字段的默認(rèn)值

注意:盡量給字段設(shè)定嚴(yán)格的約束,以保證數(shù)據(jù)的規(guī)范性

示例:

CREATE TABLE t_student ( id integer , name text NOT NULL UNUQUE ,age integer NOT NULL DEFAULT 1); ?name 字段不能為NULL ,并且唯一 ?age 字段不能為NULL ,并且默認(rèn)為1

15>主鍵

主鍵: Primary Key 簡稱PK 用來唯一地標(biāo)示某一條記錄

例如t_student可以增加一個(gè)id 字段作為主鍵,相當(dāng)于人的身份證

主鍵可以是一個(gè)字段或多個(gè)字段

主鍵的設(shè)計(jì)原則:

1.主鍵應(yīng)是對(duì)用戶沒有意義的 2.永遠(yuǎn)不要更新主鍵 3.主鍵不應(yīng)包含動(dòng)態(tài)變化的數(shù)據(jù) 4.主鍵應(yīng)由計(jì)算機(jī)自動(dòng)生成

在創(chuàng)表的時(shí)候用PRIMARY KEY 聲明一個(gè)主鍵

CREAT TABLE IF NOT EXISTS t_student ( id integer PRIMARY KEY , name text NOT NULL ,age integer NOT NULL DEFAULT 1.0 ); integer 類型作為t_student表的主鍵

主鍵字段

只要聲明為PRIMARY KEY ,就說明是一個(gè)主鍵字段

主鍵字段默認(rèn)就包含了NOT NULL 和 UNIQUE這兩個(gè)約束

如果想要讓主鍵自動(dòng)增長 ( 必須是 integer 類型 ) ,增加AUTOINCREMENT 約束

示例: CREATE TABLE IF NOT EXISTS t_student ( id integer PRIMARY KEY AUTOINCREMENT , name text NOT NULL ,age integer NOT NULL DEFAULT 1.0);

16>外鍵約束

利用外鍵約束可以用來建立與表之間的聯(lián)系

外鍵的一般情況是:一張表的某個(gè)字段,引用著另一張表的主鍵字段

新建一個(gè)外鍵

CREATE TABLE IF NOT EXISTS t_student ( id integer PRIMARY KEY AUTOINCREMENT , name text ,age integer ,class_id integer ,CONSTRAINT fk_student_class FOREIGN KEY ( class_id ) REFERENCES t_class ( id ) );

t_student 表中有一個(gè)叫做fk_t_student_class_id_t_class_id的外鍵

這個(gè)外鍵的作用是用 t_student 表中的 class_id 字段引用t_class表的 id 字段

17>表連接查詢

什么是表連接查詢

需要聯(lián)合多張表才能查到想要的數(shù)據(jù)

表連接的類型

內(nèi)連接 : INNER JOIN 或者JOIN 顯示的是左右表都有完整字段的記錄

左外連接: LEFT OUTER JOIN 保證左表數(shù)據(jù)的完整性

示例:查詢20130901班的所有學(xué)生

SELECT s.name , s.age FROM t_student s ,t_class c WHERE s.class_id = c.id AND c.name = ‘10230901’;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市癣防,隨后出現(xiàn)的幾起案子食店,更是在濱河造成了極大的恐慌乞封,老刑警劉巖序厉,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡节吮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門判耕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來透绩,“玉大人,你說我怎么就攤上這事壁熄∶煜停” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵请毛,是天一觀的道長志鞍。 經(jīng)常有香客問我,道長方仿,這世上最難降的妖魔是什么固棚? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮仙蚜,結(jié)果婚禮上此洲,老公的妹妹穿的比我還像新娘。我一直安慰自己委粉,他們只是感情好呜师,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贾节,像睡著了一般汁汗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栗涂,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天知牌,我揣著相機(jī)與錄音,去河邊找鬼斤程。 笑死角寸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忿墅。 我是一名探鬼主播扁藕,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼疚脐!你這毒婦竟也來了亿柑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤亮曹,失蹤者是張志新(化名)和其女友劉穎橄杨,沒想到半個(gè)月后秘症,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡式矫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年乡摹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片采转。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡聪廉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出故慈,到底是詐尸還是另有隱情板熊,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布察绷,位于F島的核電站干签,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拆撼。R本人自食惡果不足惜容劳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闸度。 院中可真熱鬧竭贩,春花似錦、人聲如沸莺禁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哟冬。三九已至楼熄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間柒傻,已是汗流浹背孝赫。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工较木, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留红符,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓伐债,卻偏偏與公主長得像预侯,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子峰锁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 什么是SQLite?數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)的步驟 ●SQLite是一款輕型的嵌入式數(shù)據(jù)庫,它占用資源非常的低,在嵌入式設(shè)備...
    飛行的貓閱讀 2,486評(píng)論 1 7
  • 一萎馅、SQL語句 如果要在程序運(yùn)行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學(xué)會(huì)使用SQL語句 1.什么是SQL SQL(st...
    無灃閱讀 1,137評(píng)論 0 0
  • iOS-數(shù)據(jù)庫 -sql 先從數(shù)據(jù)庫語句-SQL語句 1虹蒋、在程序運(yùn)行過程中糜芳,要想操作(增刪改查飒货,CRUD)數(shù)據(jù)庫中...
    一輪圓月閱讀 608評(píng)論 0 4
  • 萬物和諧 品味天下 天義順普洱 靜真
    你心中的那一杯茶閱讀 119評(píng)論 0 1
  • 黑色的毛呢大衣在暗夜里隨風(fēng)擺動(dòng)塘辅,額前的劉海早已剪短,英挺的眉毛下璀璨如星辰般奪目的雙眼皆撩,彼時(shí)已經(jīng)長成成熟男人模樣的...
    快落碎冰冰閱讀 289評(píng)論 0 0