Android中資料庫的使用
阿新 • • 發佈:2018-11-30
增刪改查排序等使用
其他相關查詢:http://www.w3school.com.cn/sql/index.asp
建立資料庫、建表:
/*
引數二:為資料庫名字
引數四:版本號
*/
so = new SQLiteOpenHelper(context, "test", null, 1) {
@Override
public void onCreate(SQLiteDatabase db) {
// 名字為test的資料庫不存在是走這個方法
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//版本號發生改變時走這個
}
};
db = so.getWritableDatabase();
//建表create table if not exists 表名(欄位 資料型別)
db.execSQL("create table if not exists manggai(id integer primary key autoincrement,name varchar,age integer)" );
2、增
public void insert(List<Sql_Column> list) {
db.beginTransaction();
try {
//插入語句
for (Sql_Column sql_Column : list) {
//insert into 表名(欄位(不寫,預設全部)) values(?,?)
db.execSQL("insert into manggai(name,age) values(?,?)", new Object[]{sql_Column.name, sql_Column.age});
}
db.setTransactionSuccessful();
} catch (Exception e) {
e.printStackTrace();
} finally {
db.endTransaction();
}
}
3、刪
//刪
public void delete(int age) {
//刪除,delete from 表名 where 條件
db.execSQL("delete from manggai where age=?", new Object[]{age});
}
4、改
//改
public void update(String name, int age) {
//修改:update 表名 set name=? where age=? name是要改的,age是修改條件
db.execSQL("update manggai set name=? where age=?", new Object[]{name, age});
}
5、查
//查
public ArrayList<Sql_Column> query() {
ArrayList<Sql_Column> list = new ArrayList<>();
//查詢所有資料
//select 欄位(*表示所有) from 表名 where 條件;
//select *from manggai order by 欄位 asc(升序)
//select *from manggai order by 欄位 desc(降序)
Cursor cursor = db.rawQuery("select *from manggai", null);
if (cursor == null) {
return null;
}
while (cursor.moveToNext()) {
Sql_Column sql_column = new Sql_Column();
sql_column.name = cursor.getString(cursor.getColumnIndex("name"));
sql_column.age = cursor.getInt(cursor.getColumnIndex("age"));
list.add(sql_column);
}
cursor.close();
return list;
}