Android学习日记-------SQLite数据库操作,SQL语句,Android Api语句

今天学习了Android数据库—SQLite.学习了两种操作方式,SQL语句,以及Android Api提供的语句。于是再次总结一下。

**1.创建数据表**

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方式创建(别打了,在学>﹏<)

**2.删除数据表**

String sql = "drop table table_name";
db.execSQL(sql);

**3.在数据表中插入字段**

sql语句
table_name 是目标表的名称,
new_column_name 是新增列(字段的名称) text指定其为文本类型

String sql = "alter table table_name add new_column_name text"; 
db.execSQL(sql);  

以下示例都是以id字段为标准进行增删改查

**4.增加(插入)数据**

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();

**5.删除数据**


sql语句
delete from 数据表名称 where field = values
从一个数据表中删除 某个字段符合特定条件的一行数据(也可以是大于某个特定值)

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;

**6.更新数据**

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" }  );

**7.查找数据**


sql语句
使用rawQuery()查找后需要让curcor移动到目标位置上,否则会报curcor越界异常

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

官方文档传送门
大神更加详细的博客

你可能感兴趣的:(Android)