SQLite手机本地轻量级数据库
数据库分为:
1.关系型数据库(mysql主外键属于关系型)
2.对象型数据库(oracle)
3.嵌入式数据库
案例:
安卓控件(5个Button)访问Activity访问DBHelper返回Activity(处理后返回结果到控制台)
SqlActivity类:
public class SqlActivity extends Activity {
private Button buttonz;
private Button buttons;
private Button buttong;
private Button buttonc;
private DBHelper dbHelper;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.sql1);
//绑定控件
buttonz=findViewById(R.id.buttonz);
buttonz.setOnClickListener(new MyInsertListener());
buttons=findViewById(R.id.buttons);
buttons.setOnClickListener(new MyDeleteListener());
buttong=findViewById(R.id.buttong);
buttong.setOnClickListener(new MyUpdateListener());
buttonc=findViewById(R.id.buttonc);
buttonc.setOnClickListener(new MyQueryListener());
//创建数据库
dbHelper= new DBHelper(SqlActivity.this,"yuehui.db",null,1);
System.out.println("创建了数据库");
}
//增加数据
class MyInsertListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//获取数据库信息
SQLiteDatabase db = dbHelper.getWritableDatabase();
//操作数据库
db.execSQL("insert into qingyou(name,age) values(?,?)",new Object[]{"jw",18});
System.out.println("增加了数据");
//关闭资源
db.close();
}
}
//删除数据
class MyDeleteListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//获取数据库信息
SQLiteDatabase db = dbHelper.getReadableDatabase();
//操作数据库
db.execSQL("delete from qingyou where id=?",new Object[]{2});
System.out.println("删除了数据");
//关闭资源
db.close();
}
}
//修改数据
class MyUpdateListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//获取数据库信息
SQLiteDatabase db = dbHelper.getWritableDatabase();
//操作数据库
db.execSQL("update qingyou set name=? where id=?",new Object[]{"jiangwei",2});
System.out.println("修改了数据");
//关闭资源
db.close();;
}
}
//查询数据
class MyQueryListener implements View.OnClickListener{
@Override
public void onClick(View v) {
//获取数据库信息
SQLiteDatabase db = dbHelper.getReadableDatabase();
//操作数据库
Cursor cursor =db.rawQuery("select * from qingyou",null);
//循环遍历获取数据
while(cursor.moveToNext()){
int id =cursor.getInt(cursor.getColumnIndex("id"));
String name=cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
//输出信息
System.out.println(id+"\t"+name+"\t"+age);
}
//关闭资源
cursor.close();;
db.close();
}
}
}
DBHelper类:
public class DBHelper extends SQLiteOpenHelper{
//构造方法
public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建表,如表已存在则不创建
db.execSQL("create table qingyou(id integer primary key autoincrement,name String,age integer)");
System.out.println("创建了表");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}