赞
踩
onCreate 用于处理一些创建表的 操作
5.创建数据库
创建MyDatabaseHelper 类继承SQLiteOpenHelper
public class MyDatabaseHelper extends SQLiteOpenHelper { // 建表语句 public static final String CREATE_BOOK = "create table book ( " + "id integer primary key autoincrement, " + "author text," + "price real," + "pages integer," + "name text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_BOOK); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建数据库 dbHelper = new MyDatabaseHelper(this,"tableName.db",null,1); dbHelper.getWritableDatabase(); } }
6.升级数据
public class MyDatabaseHelper extends SQLiteOpenHelper { // 建表语句 public static final String CREATE_BOOK = "create table book ( " + "id integer primary key autoincrement, " + "author text," + "price real," + "pages integer," + "name text)"; // 多加一张表 public static final String CREATE_PERSON = "create table person( " + "id integer primary key autoincrement," + "name text," + "age integer," + "sex text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_BOOK); db.execSQL(CREATE_PERSON); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 先调用 如果发现数据库中存在book 和person表,则先删除2张表后再调用onCreate方法重新创建2表 db.execSQL("drop table if exists Book"); db.execSQL("drop table if exists Person"); onCreate(db); } }
public class MainActivity extends AppCompatActivity { private MyDatabaseHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 升级数据库 dbHelper = new MyDatabaseHelper(this,"tableName.db",null,2); dbHelper.getWritableDatabase(); } }
7.insert 数据
先获取SQLiteDataBase对象
再使用ContentValues 对数据进行封装
- // insert数据
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- ContentValues values =new ContentValues();
- // 添加数据
- values.put("name","haha");
- values.put("age",12);
- db.insert("表名",null,values);
8.update数据
- // update数据
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- ContentValues values =new ContentValues();
- // 添加数据
- values.put("name","haha");
- db.update("表名",values,"id = ?",new String[]{"1"});
9.delete数据
- // delete数据
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- // 删除数据
- db.delete("表名","id = ?",new String[] {"1"});
10.select
- // 查询数据
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- // 表名,指定查询的咧名,where的约束条件,为where站位符提供值,指定group by的咧,对结果进一步约束,指定查询结果的排序
- Cursor cursor = db.query("表名", null, null, null, null, null, null);
- // 便利Cursor 取出数据
- if (cursor.moveToFirst()) {
- do {
- String name = cursor.getString(cursor.getColumnIndex("name"));
- } while (cursor.moveToNext());
- }
11. 使用sql语句操作数据库
- // 查询数据
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- // 使用sql操作数据库
- db.execSQL("sql语句");
- // 只有select的时候使用rawQuery
- db.rawQuery("select * from Book",null);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。