国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

Sqlite3中re、place語句用法詳解

2019-11-02 15:07:49
字體:
來源:轉載
供稿:網友

   由于自己的孤陋寡聞, 也由于之前的項目中, 很少參與過數據庫模塊的開發, 以至于前幾天才知道Sqlite數據庫也支持replace語句。 本文主要講解在Sqlite中replace語句的行為,也算是學習筆記。此外, replace語句和update語句有相似的地方, 但是也有很多不同之處。 本文還要對比一下Sqlite中的 replace語句和update語句 。

  在本例中使用如下數據庫表:

Sqlite3中replace語句用法詳解    電腦高手

  (圖 1)

  該表的表名為student, 存儲學生信息。 所有字段的數據類型都是TEXT 。 其中id和name作為復合主鍵。 email字段加上了唯一約束。建表語句如下:

?

1 2 3 4 5 6 7 8 9 10 CREATE TABLE IF NOT EXISTS student (         "id"  TEXT,         "name"  TEXT NOT NULL,         "sex"  TEXT,         "email"  TEXT UNIQUE,         "fenshu"  TEXT CHECK(fenshu > 0),         "tecid"  TEXT REFERENCES teacher(id),         "class"  TEXT,         PRIMARY KEY(id, name)         )

  replace語句的行為

  1 replace語句會刪除原有的一條記錄, 并且插入一條新的記錄來替換原記錄。

  為了驗證這個結論, 下面打開Sqlite命令行, 執行以下語句來替換id為2的記錄。

?

1 2 sqlite> replace into student (id, name, sex, email, fenshu, tecid, class) values  ('2', 'lisi', '*F', [email protected]', '80', '2', '1');

  執行完這條語句之后, student表中的數據變成下圖所示:

  (圖 2)

  對比圖1和圖2 , 可以發現: 在圖1中, id為2 的記錄是表中的第一條記錄, 當執行完上述的replace語句之后, id為2的記錄位于整張表的最后。 這就說明, 這條replace語句刪除了原有的id為2的記錄, 有插入了一條新的id為2的記錄。

  2 一般用replace語句替換一條記錄的所有列, 如果在replace語句中沒有指定某列, 在replace之后這列的值被置空 。

  下面我們還是以id為2 的記錄做實驗, 執行如下語句:

?

1 2 sqlite> replace into student (id, name, sex, email, fenshu, tecid) values ('2', 'lisi', '*F', [email protected]', '80', '2');
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟州市| 石屏县| 潮安县| 宝丰县| 隆尧县| 泰顺县| 驻马店市| 宜城市| 武陟县| 甘德县| 高州市| 喀喇沁旗| 阿勒泰市| 大冶市| 绵竹市| 竹北市| 文成县| 微山县| 宜兴市| 南充市| 阳谷县| 南城县| 全椒县| 吉林省| 临猗县| 历史| 兰州市| 繁峙县| 佛冈县| 隆化县| 南充市| 肥乡县| 常德市| 通辽市| 剑川县| 山阴县| 嘉善县| 大同市| 比如县| 池州市| 柏乡县|