今天学习了Android数据库—SQLite.学习了两种操作方式,SQL语句,以及Android Api提供的语句。于是再次总结一下。
sql语句,
table_name 是要创建的表的名称,表的顺序按照integer(整数)类型属性(字段)进行自动递增
text是字符串(文本)类型,real是浮点数类型,
注意!!!设置字段不要忘了括号
String createSql = "create table table_name (id integer primary key autoincrement, field2 text ,field3 real)";
db.execSQL(createSql);
//目前我还不知道如何API方式创建(别打了,在学>﹏<)
String sql = "drop table table_name";
db.execSQL(sql);
sql语句
table_name 是目标表的名称,
new_column_name 是新增列(字段的名称) text指定其为文本类型
String sql = "alter table table_name add new_column_name text";
db.execSQL(sql);
以下示例都是以id字段为标准进行增删改查
sql语句
基本格式
insert into 数据表名称 (字段1,字段2,字段3) values (字段1的类型,字段的类型,字段3的类型)***
注意!!! text 字段的值,必须加 ‘’ 号,如下field2 注意!!!
String sql = "insert into table_name (id, field2,field3) values (1,'field2',1.0)";
db.execSQL(sql);
API语句
先创建应该ContentValues对象,然后将字段分别通过
public void put(String key, String value)方法放入ContentValues对象中。最后调用db.insert(table_name,null,values),插入数据表中;
ContentValues values = new ContentValues();
values.put("filed_key","field_value");
//...put进来数据
long result = db.insert(table_name,null,values);
db.close();
String sql = "delete from table__name where id=0";
//String sql = "delete from table__name where id>4";
db.execSQL(sql);
也可以这样,动态传递参数值,与上面是等价的。
String sql = "delete from table__name where id=?";
db.execSQL(sql,new String[]{"" + 0});
API语句
int result = db.delete(table_name, "id=?",new String[]{"" + 0});
db.close();
return result;
sql语句
update 数据表名称 set id=3 where id=2
将id=2的行的数据更新,设置其id为3
String sql = "update table_name set id=3 where id=2";
db.execSQL(sql);
也可以
String sql = "update table_name set id=? where " + "id<?;
db.execSQL(sql,new String[]{"1" , "2"});
API语句
ContentValues values = new ContentValues();
values.put("filed_key","field_value");
//...put进来数据
int result = db.update("table_name", values,"id=?", new String[]{ "1" } );
String sql = "select * from table_name where id = ?";
Cursor cursor = db.rawQuery(sql,new String[]{"1"});
if (cursor.moveToNext()) {
user = cursorToUser(cursor);
}
Api
api源码如下
public Cursor query(String table, String[] columns, String selection,
String[] selectionArgs, String groupBy, String having,
String orderBy)
目前Android小萌新还在学习,有新收获再来更新。
还望大神能指出错误ヾ(≧▽≦*)o
官方文档传送门
大神更加详细的博客