常用sql語句

sqlite詳解
1.SQLiteStatement提升多次操作的性能
2.刪除表字段:sqlite不支持刪除字段,只支持增加字段嗎,只能重命名舊表 重建新表 導入數(shù)據(jù) 然后刪除舊表這樣

1.查詢表中所有數(shù)據(jù)

select * from 表名

2.查詢數(shù)據(jù)總數(shù)

select count(*) as total from 表名

3.where 用法

select * from Person where name = '小紅'

4.like用法

查詢Person表中name中帶有‘小’字的數(shù)據(jù)
select * from Person where name like '%小%'

5.in的用法

表示某個字段中包含的情況
//age 為22,或者23的情況
select * from Person where age in (22,23)

7.limit與offset共用 分頁

offset表示從哪個位置開始查詢惊窖,可以用來分頁查詢
//從表中101條數(shù)據(jù)開始查詢返回至少100條數(shù)據(jù)(如果有100以上的情況)
select * from Person limit 100 offset 101

8.order by 排序

默認為正序 asc
select * from Person order by id asc
倒序desc
select * from Person order by id desc

9.替代符 代替表名

有時表名太長,我們完全可用中間替代符
//下面用t直接代替guangzhou_person表斗躏,我們也可用其他字符禀综,注意不要用特殊字符
select * from guangzhou_person t where t.name = '小紅'










建表:
CREATE TABLE
IF NOT EXISTS
User(
id Integer primary key,
name varchar not null,
age Integer)

刪表:
DROP TABLE IF EXISTS User

SQLiteStatement

private static final String INSERT_SQL = "insert or replace into " + CityItem.TABLE_NAME + "("
      + CityItem.CITYID + " , " + CityItem.CITYNAME + " , " + CityItem.ENGNAME + " , "
      + CityItem.CITYLEVEL + " , " + CityItem.PARENTID + " , " + CityItem.CITYFULLNAME + " , "
      + CityItem.INITIAL + ") values(?, ?, ?, ?, ?, ?,  ?)";
 
public void coverCityList(List<CityItem> list) {
      SQLiteStatement stmt = dbHandler.getDB().compileStatement(INSERT_SQL);
      dbHandler.beginTransaction();
      for (CityItem city : list) {
         stmt.bindString(1, city.getCityID());
         stmt.bindString(2, city.getCityName());
         stmt.bindString(3, city.getEngName());
         stmt.bindString(4, city.getCityLevel());
         stmt.bindString(5, city.getParentID());
         stmt.bindString(6, city.getCityFullName());
         stmt.bindString(7, city.getInitial());
         stmt.execute();
      }
      dbHandler.commitTransaction();
      dbHandler.endTransaction();
    }
  }

使用 SQLiteStatement击胜。
普通的insert語句在執(zhí)行過程過程中握联,是編譯一次sql桦沉,再插入數(shù)據(jù)。
SQLiteStatement采取的方式是預編譯一次sql拴疤,然后用編譯好的語句,和設置的參數(shù)執(zhí)行插入,
無形之中独泞,減少了n-1次sql編譯時間呐矾。

表的字段操作

SQLite 僅僅支持 ALTER TABLE 語句的一部分功能,我們可以用 ALTER TABLE 語句來更改一個表的名字懦砂,也可向表中增加一個字段(列)蜒犯,但是我們不能刪除一個已經存在的字段,或者更改一個已經存在的字段的名稱荞膘、數(shù)據(jù)類型罚随、限定符等等。

  • 改變表名 - ALTER TABLE 舊表名 RENAME TO 新表名

  • 增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 數(shù)據(jù)類型

      而修改一列無法像其他數(shù)據(jù)庫那樣直接以“ALTER TABLE 表名 ADD COLUMN 列名 數(shù)據(jù)類型”的方式來完成羽资,所以要換種思路淘菩,具體步驟看下面
    
  • 將表名改為臨時表

ALTER TABLE "Student" RENAME TO "_Student_old_20140409";

  • 創(chuàng)建新表

CREATE TABLE "Student" ( "Id" INTEGER PRIMARY KEY AUTOINCREMENT, "Name" Text);

  • 導入數(shù)據(jù)

NSERT INTO "Student" ("Id", "Name") SELECT "Id", "Title" FROM "_Student_old_20140409";

  • 更新sqlite_sequence

UPDATE "sqlite_sequence" SET seq = 3 WHERE name = 'Student';

由于在Sqlite中使用自增長字段,引擎會自動產生一個sqlite_sequence表,用于記錄每個表的自增長字段的已使用的最大值,所以要一起更新下。如果有沒有設置自增長潮改,則跳過此步驟狭郑。

  • 刪除臨時表(可選)

DROP TABLE _Student_old_20140409;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汇在,隨后出現(xiàn)的幾起案子翰萨,更是在濱河造成了極大的恐慌,老刑警劉巖糕殉,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亩鬼,死亡現(xiàn)場離奇詭異,居然都是意外死亡阿蝶,警方通過查閱死者的電腦和手機雳锋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赡磅,“玉大人魄缚,你說我怎么就攤上這事》倮龋” “怎么了冶匹?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長咆瘟。 經常有香客問我嚼隘,道長,這世上最難降的妖魔是什么袒餐? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任飞蛹,我火速辦了婚禮,結果婚禮上灸眼,老公的妹妹穿的比我還像新娘卧檐。我一直安慰自己,他們只是感情好焰宣,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布霉囚。 她就那樣靜靜地躺著,像睡著了一般匕积。 火紅的嫁衣襯著肌膚如雪盈罐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天闪唆,我揣著相機與錄音盅粪,去河邊找鬼。 笑死悄蕾,一個胖子當著我的面吹牛票顾,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼库物,長吁一口氣:“原來是場噩夢啊……” “哼霸旗!你這毒婦竟也來了?” 一聲冷哼從身側響起戚揭,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤诱告,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后民晒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體精居,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年潜必,在試婚紗的時候發(fā)現(xiàn)自己被綠了靴姿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡磁滚,死狀恐怖佛吓,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情垂攘,我是刑警寧澤维雇,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站晒他,受9級特大地震影響吱型,放射性物質發(fā)生泄漏。R本人自食惡果不足惜陨仅,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一津滞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灼伤,春花似錦触徐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猾警,卻和暖如春孔祸,著一層夾襖步出監(jiān)牢的瞬間隆敢,已是汗流浹背发皿。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拂蝎,地道東北人穴墅。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親玄货。 傳聞我的和親對象是個殘疾皇子皇钞,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容

  • @(〓〓 iOS-實用技術)[SQLite 數(shù)據(jù)庫] 作者: Liwx 郵箱: 1032282633@qq.co...
    Liwx閱讀 3,184評論 0 40
  • MYSQL 基礎知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 MySQL基本操...
    Kingtester閱讀 7,815評論 5 116
  • 觀其大綱 page 01 基礎知識 1 MySQL數(shù)據(jù)庫概要 2 簡單MySQL環(huán)境 3 數(shù)據(jù)的存儲和獲取 4 M...
    周少言閱讀 3,158評論 0 33
  • 一、簡介 *1松捉、sql概念 : sql是結構化查詢語言夹界,是一種對關系型數(shù)據(jù)庫中的數(shù)據(jù)進行定義和操作的語言,可以在程...
    ninazhang閱讀 1,293評論 0 1
  • 二 樹人GROOT GROOT的第二站來到了T城隘世,開始了屬于他的第一次單人旅行可柿。 GROOT對于T城一無所知,...
    旅徒者閱讀 360評論 0 1