SQLite學(xué)習(xí)(五)

數(shù)據(jù)完整性

==數(shù)據(jù)完整性==用于定義和保護表內(nèi)部或表之間數(shù)據(jù)的關(guān)系。有四種完整性:域完整性糖驴、實體完整性僚祷、參照完整性用戶定義完整性佛致。

一、實體完整性

唯一約束

一個唯一約束要求一個字段或一組 字段的所有值互不相同辙谜,或者說唯一俺榆。

NULL 和 UNIQUE:
問題1:如果一個字段已經(jīng)聲明為 UNIQUE,可以向這個字段插入多少個 NULL 值?
回答:與數(shù)據(jù)庫的種類有關(guān)装哆。PostgreSQL 和 Oracle 可以插入多個罐脊。Informix 和 Microsoft SQL Server只能一個。DB2蜕琴、SQLAnywhere和Borland Inter-Base不能萍桌。SQLite采用了與PostgreSQL 和 Oracle 相同的解決方案。

問題2:兩個 NULL 值是否相等?
回答:你沒有足夠的信息 來證明它們相等凌简,但也沒有足夠的信息證明它們不等上炎。 SQLite 的觀點是假設(shè)所有的 NULL 都是不同的。所以你可以向唯一字段中插入任意多個 NULL 值雏搂。

主鍵約束

在 SQLite 中反症,當(dāng)你定義一個表時總要確定一個主鍵,不管你自己有沒有定義畔派。這個字段是 一個 64-bit 整型字段铅碍,稱為 ROWID。它還有兩個別名——ROWID和 OID线椰,用這兩個別名 同樣可以取到它的值胞谈。它的默認取值按照增序自動生成。 SQLite 為主鍵字段提供自動增長 特性憨愉。

二烦绳、域完整性

默認值

保留字 DEFAULT為字段提供一個默認值。如果用 INSERT 語句插入記錄時沒有為該定做指定值配紫,則為它賦默認值径密。DEFAULT不是一個約束 (constraint),因為它沒有強制任何事情躺孝。 這所以把它歸為域完整性享扔,是因為它提供了處理 NULL 值的一個策略。

DEFAULT還可以接受 3 種預(yù)定義格式的 ANSI/ISO 預(yù)定字用于生成日期和時間值植袍。
CURRENT_TIME 將會生成 ANSI/ISO 格式(HH:MM:SS)的當(dāng)前時間惧眠。 CURRENT_DATE 會生成當(dāng)前日期(格式為 YYYY-MM-DD)。CURRENT_TIMESTAMP 會生成一個日期時間的組 合(格式為 YYYY-MM-DDHH:MM:SS)于个。

創(chuàng)建times表:

sqlite> CREATE TABLE times (id int, 
   ...> date NOT NULL DEFAULT CURRENT_DATE,
   ...> time NOT NULL DEFAULT CURRENT_TIME,
   ...> timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP);

插入數(shù)據(jù):

sqlite> INSERT INTO times (id) VALUES (1);
sqlite> INSERT INTO times (id) VALUES (2);
sqlite> INSERT INTO times (id) VALUES (4);

結(jié)果如下:
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氛魁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秀存,老刑警劉巖捶码,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異或链,居然都是意外死亡宙项,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門株扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尤筐,“玉大人,你說我怎么就攤上這事洞就∨璺保” “怎么了?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵旬蟋,是天一觀的道長油昂。 經(jīng)常有香客問我,道長倾贰,這世上最難降的妖魔是什么冕碟? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮匆浙,結(jié)果婚禮上安寺,老公的妹妹穿的比我還像新娘。我一直安慰自己首尼,他們只是感情好挑庶,可當(dāng)我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著软能,像睡著了一般迎捺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上查排,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天凳枝,我揣著相機與錄音,去河邊找鬼跋核。 笑死岖瑰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的了罪。 我是一名探鬼主播锭环,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼聪全,長吁一口氣:“原來是場噩夢啊……” “哼泊藕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤娃圆,失蹤者是張志新(化名)和其女友劉穎玫锋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讼呢,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡撩鹿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了悦屏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片节沦。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖础爬,靈堂內(nèi)的尸體忽然破棺而出甫贯,到底是詐尸還是另有隱情,我是刑警寧澤看蚜,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布叫搁,位于F島的核電站,受9級特大地震影響供炎,放射性物質(zhì)發(fā)生泄漏渴逻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一音诫、第九天 我趴在偏房一處隱蔽的房頂上張望惨奕。 院中可真熱鬧,春花似錦竭钝、人聲如沸墓贿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聋袋。三九已至,卻和暖如春穴吹,著一層夾襖步出監(jiān)牢的瞬間幽勒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工港令, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留啥容,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓顷霹,卻偏偏與公主長得像咪惠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子淋淀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,595評論 2 350

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