1.创建数据库和表
参数1.数据存储的文件位置
参数2.文件创建工厂类,这里不需要,写为空
db=SQLiteDatabase.openOrCreateDatabase
("/data/data/com.coderqi.android2_lesson_04_database/database.db", null);
2.这里进行创建表操作
2.1.拼接SQL语句
String sql = "CREATE TABLE IF NOT EXISTS
student ('sid' INTEGER PRIMARY KEY, 'name'
TEXT, 'sex' TEXT, 'age' INTEGER);";
2.2.向数据库对象发送SQL指令
db.execSQL(sql);
3.添加数据
String sql = "INSERT INTO student (name,sex,age)
VALUES ('王五','男',21);";
db.execSQL(sql);
4.删除数据库
String sql = "DELETE FROM student WHERE sid = 1";
db.execSQL(sql);
5.修改数据
String sql = “UPDATE student SET NAME = '张三'
where sid = 1”;
db.execSQL(sql);
6.查询数据
6.1.获取数据库使用的游标
Cursor cursor =
db.query("student",null,null,null,null,null)
6.2 移动到第一行,如果返回为false,那么证明没有数据
if (cursor.moveToFirst()){
6.3循环显示数据
do {
获取ID
Integer sid =
cursor.getInt(cursor.getColumnIndex("sid"));
获取名字
String name =
cursor.getString(cursor.getColumnIndex("name"));
获取性别
String sex =
cursor.getString(cursor.getColumnIndex("sex"));
Integer age =
cursor.getInt(cursor.getColumnIndex("age"));
}while(cursor.moveToNext());
}
以下是代码部分
public class MainActivity extends AppCompatActivity {
private Button createBtn, insertBtn, deleteBtn, updateBtn, selectBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createBtn = (Button) findViewById(R.id.main_createBtn);
insertBtn = (Button) findViewById(R.id.main_insertBtn);
deleteBtn = (Button) findViewById(R.id.main_deleteBtn);
updateBtn = (Button) findViewById(R.id.main_updateBtn);
selectBtn = (Button) findViewById(R.id.main_selectBtn);
createBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//创建Helper对象
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 1);
//获取一个可读的数据库对象
SQLiteDatabase db = helper.getReadableDatabase();
}
});
//插入数据
insertBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
//得到一个可写入的数据库
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues con = new ContentValues();
con.put("sid", 1);
con.put("name", "张三");
con.put("sex", "男");
con.put("age", 18);
db.insert("student_da10", null, con);
//关闭数据库
db.close();
}
});
//更新数据
updateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
}
});
//删除数据
deleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
//删除条件
String deleteStr = "id = ?";
//删除条件参数
String[] whereArgs = {String.valueOf(3)};
db.delete("student_da10", deleteStr, whereArgs);
}
});
//查询数据
selectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query("student_da10", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
Integer id = cursor.getInt(cursor.getColumnIndex("sid"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
Integer age = cursor.getInt(cursor.getColumnIndex("age"));
} while (cursor.moveToNext());
}
}
});
}
}
private Button createBtn, insertBtn, deleteBtn, updateBtn, selectBtn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
createBtn = (Button) findViewById(R.id.main_createBtn);
insertBtn = (Button) findViewById(R.id.main_insertBtn);
deleteBtn = (Button) findViewById(R.id.main_deleteBtn);
updateBtn = (Button) findViewById(R.id.main_updateBtn);
selectBtn = (Button) findViewById(R.id.main_selectBtn);
createBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//创建Helper对象
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 1);
//获取一个可读的数据库对象
SQLiteDatabase db = helper.getReadableDatabase();
}
});
//插入数据
insertBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
//得到一个可写入的数据库
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues con = new ContentValues();
con.put("sid", 1);
con.put("name", "张三");
con.put("sex", "男");
con.put("age", 18);
db.insert("student_da10", null, con);
//关闭数据库
db.close();
}
});
//更新数据
updateBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
}
});
//删除数据
deleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
//删除条件
String deleteStr = "id = ?";
//删除条件参数
String[] whereArgs = {String.valueOf(3)};
db.delete("student_da10", deleteStr, whereArgs);
}
});
//查询数据
selectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MyDataHeoper helper = new MyDataHeoper(MainActivity.this, "student_da10", null, 2);
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.query("student_da10", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
Integer id = cursor.getInt(cursor.getColumnIndex("sid"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
Integer age = cursor.getInt(cursor.getColumnIndex("age"));
} while (cursor.moveToNext());
}
}
});
}
}