增刪該查2

2021-10-01 04:01:53 字數 2934 閱讀 6168

對於「增、刪、改(更新)」這類對錶內容變換的操作,需先呼叫getwritabledatabase()獲得乙個可寫資料庫物件,在執行的時候呼叫通用的execsql(string sql)或或對應的操作api方法:對「查」,查詢資料庫不能使用execsql方法

insert()、

delete()、

update()

query()或rawquery()

// 建立contentvalues物件

contentvalues values = new contentvalues();

// 向該物件中插入鍵值對

values.put("id", 1);

values.put("name", "yangyz");

//其中,key代表列名,value代表該列要插入的值

//注:contentvalues內部實現就是hashmap,但是兩者還是有差別的

//contenvalues key只能是string型別,value只能儲存基本型別資料,不能儲存物件

// 呼叫insert()方法將資料插入到資料庫當中

sqlitedatabase.insert("user", null, values);

// 第乙個引數:要操作的表名稱

// 第二個引數:sql不允許乙個空列,如果contentvalues是空的,那麼這一列被明確的指明為null值

// 第三個引數:contentvalues物件

db.execsql("insert into user (id,name) values (1,'張三')") 也可以

修改資料(公升級資料庫)

涉及的方法有onupgrade()、getwritabledatabase()、update()

// 建立乙個databasehelper物件

// 建立sqliteopenhelper子類物件的時候,必須傳入乙個version引數

//該引數就是當前資料庫版本, 只要這個版本高於之前的版本, 就會觸發這個onupgrade()方法,如下面**

注意,一定要傳入最新的資料庫版本號

// 傳入版本號為2,大於舊版本(1),所以會呼叫onupgrade()公升級資料庫

databasehelper dbhelper = new databasehelper(sqliteactivity.this,

"test_carson", 2);

// 呼叫getwritabledatabase()得到乙個可寫的sqlitedatabase物件

sqlitedatabase sqlitedatabase = dbhelper.getwritabledatabase();

// 建立乙個contentvalues物件

contentvalues values = new contentvalues();

values.put("name", "zhangsan");

// 呼叫update方法修改資料庫

sqlitedatabase.update("user", values, "id=?", new string );

// 第乙個引數string:表名

// 第二個引數contentvalues:contentvalues物件(需要修改的)

// 第三個引數string:where表示式,where選擇語句, 選擇那些行進行資料的更新, 如果該引數為 null, 就會修改所有行;?號是佔位符

// 第四個引數string:where選擇語句的引數, 逐個替換 whereclause 中的佔位符;

刪除資料

步驟:建立並開啟資料庫(可讀/寫)、刪除資料

涉及方法:getwritabledatabase()、delete()

delete()也可以使用excelsql()代替

//2. 刪除資料

//呼叫delete方法進行刪除操作

sqlitedatabase.delete("user", "id=?", new string);

//第乙個引數string:需要操作的表名

//第二個引數string:where選擇語句, 選擇哪些行要被刪除, 如果為null, 就刪除所有行;

//第三個引數string: where語句的引數, 逐個替換where語句中的 "?" 佔位符;

查詢資料

步驟:建立並開啟資料庫(可讀)、查詢資料

涉及方法:getreadabledatabase()、query() 或 rawquery(),介紹如下:

//第一種最為簡單

// 呼叫sqlitedatabase物件的query方法進行查詢

// 返回乙個cursor物件:由資料庫查詢返回的結果集物件

cursor cursor = sqlitedatabase.query("user", new string , "id=?", new string , null, null, null);

// 第乙個引數string:表名

// 第二個引數string:要查詢的列名

// 第三個引數string:查詢條件

// 第四個引數string:查詢條件的引數

// 第五個引數string:對查詢的結果進行分組

// 第六個引數string:對分組的結果進行限制

// 第七個引數string:對查詢的結果進行排序

// 將游標移動到下一行,從而判斷該結果集是否還有下一條資料

//如果有則返回true,沒有則返回false

while (cursor.movetonext())

//也可將cursor中的資料轉為 arraylist> 型別資料

private arraylist> cursor2list(cursor cursor)

return list;

}

Flask Sqlalchemy 增刪該查操作

sqlalchemy 增刪改查操作,通過session來進行操作。1 coding utf 82 author liangjun.34 from sqlalchemy import create engine,column,integer,string 5from sqlalchemy.ext.de...

sql 的增刪該查 初級入門

sql 對大小寫不敏感 sql 分為兩個部分 資料操作語言 dml 和 資料定義語言 ddl 查詢和更新指令構成了 sql 的 dml 部分 查詢 select 從資料庫表中獲取資料 更新 update 更新資料庫表中的資料 修改 刪除 delete 從資料庫表中刪除資料 插入 insert int...

基於Ajax的單錶增刪該查

背景 模態框模式像後端提交資料,區別於form表單提交資料頁面預設重新整理 後端處理請求函式 return httpresponse 班級名不能為空 def del class request ret del id request.post.get id if del id print data t...