private MyDatebaseHelper dbHelper; @Override protectedvoidonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_fragment); dbHelper = new MyDatebaseHelper(this, "Student.db", null, 1); ··· // 点击按钮更新数据,将 "id" 为 "002" 的数据的 "name" 改为 "Mary" onClick(View v){ SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query("Student null, // Columns - null selects all columns "id = ?", new String[]{"002"}, null, // groupBy null, // having null // orderBy ); cursor.moveToFirst(); String id = getString(getColumnIndex("id")); String name = getString(getColumnIndex("name")); String gender = getString(getColumnIndex("gender")); Log.d("MainActivity", "Student's id is " + id); Log.d("MainActivity", "Student's name is " + name); Log.d("MainActivity", "Student's gender is " + gender); cursor.close(); } ···
那么简单的API操作讲了,还是讲一下如何用原生SQLite语句来操作吧
使用原生SQLite语句操作数据库
创建表
1 2
create table 表名(字段名称 数据类型 约束, 字段名称 数据类型 约束 ... ... ) create table person(_id Integer primary key, name varchar(10), age Integer not null)
删除表
1 2
drop table 表名 drop table person
插入表
1 2 3
insert into 表名[字段, 字段] values{值1, 值2 ... ...} insert into person{_id, age} values(1, 20) // value在插入时必须与前面的字段相对应 insert into person values(2, "zs", 30) // 若没指定字段,则默认从第一个字段开始
修改数据
1 2
update 表名 set 字段 = 新值 where 修改的条件 update person set name="ls",age=20 where _id=1
删除数据
1 2
delete from 表名 where 删除条件 delete from person where _id=2
查询语句
1 2 3 4 5 6 7 8 9 10 11
select 字段名 from 表名 where 查询条件 group by 分组字段 having 筛选条件 order by 排序字段 select * from person // 查询表中所有数据 select _id,name from person // 查询person表中的id,name字段 select * from person where _id=1 // 查询person表,id为1的情况 select * from person where _id<>1 // 查询person表,id不为1的情况 select * from person where _id=1 and age>18 // 查询person表,id为1和age大于18的情况 select * from person where name like "%小%" // 模糊查询name这个字段中,中间包含“小”(前后可以有任意长的字符)的情况 select * from person where name like "_小%" // 模糊查询name这个字段中,一个字符之后是“小”(后面可以有任意长的字符)的情况 select * from person where name is null // 查询名字为空的情况 select * from person where age between 10 and 20 // 年龄在10到20之间的情况 select * from person where age>18 orderby _id // 年龄大于18并根据id进行排序的情况