Android:SQLite的使用(一)
今天讲的是关于SQLite的使用:
包括:
1.创建数据库;
2.创建表;
3.插入数据;
4.修改数据;
5.删除数据;
6.查询数据;
直接附上代码(注释附在代码里):
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建数据库stu.db;
SQLiteDatabase db = openOrCreateDatabase("stu.db",MODE_PRIVATE,null);
//创建表;
db.execSQL("create table if not exists stutb(_id integer primary key autoincrement ,name text not null,sex text not null,age integer not null)");
//创建ContentValues对象,该对象是键值对存储,Key为表的字段,Values为值;
ContentValues values = new ContentValues();
//类似HashMap,键值对存储,使用put插入;
values.put("name","张三");
values.put("sex","男");
values.put("age",15);
//向表中插入数据,返回值类型是long插入的索引值,第一个参数是表的名字,
// 第二个我设为null,第三个就是ContentValues的对象;
long rowId = db.insert("stutb",null,values);
Log.i("info","rowId = "+rowId);
//清空ContentValues对象中的值,为下次使用做准备;
values.clear();
//以下插入多条数据;
values.put("name","李四");
values.put("sex","男");
values.put("age",19);
db.insert("stutb",null,values);
values.clear();
values.put("name","王五");
values.put("sex","男");
values.put("age",17);
db.insert("stutb",null,values);
values.clear();
values.put("name","赵六");
values.put("sex","男");
values.put("age",29);
db.insert("stutb",null,values);
values.clear();
values.put("name","林琳七");
values.put("sex","女");
values.put("age",19);
db.insert("stutb",null,values);
values.clear();
//修改,将所有id小于3的性别改成“女”;
values.put("sex","女");
db.update("stutb",values,"_id<?",new String[]{"3"});
//删除;将名字包含“王”的行删去,其中%为占位符;
db.delete("stutb","name like ?",new String[]{"%王%"});
//查询,返回值是Cursor的对象,即一个游标;
//第一个参数是表名字,第二个我设置为空,第三个和第四个查询条件,最后一个是按"_id"字段排序;
Cursor cursor = db.query("stutb",null,"_id>?",new String[]{"0"},null,null,"_id");
if (cursor!=null){
//获取cursor的索引值,即所有的字段;
String[] columnNames = cursor.getColumnNames();
while (cursor.moveToNext()){
//遍历获取到表的每个字段的值
for(String columnName:columnNames){
Log.i("info",cursor.getString(cursor.getColumnIndex(columnName)));
}
}
//关闭游标;
cursor.close();
}
//关闭数据库;
db.close();
}
以下是源码(百度网盘,Android studio编写):
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。