在android中创建数据库
时间: 2023-05-28 12:01:47 浏览: 89
在Android中创建数据库可以使用SQLite。下面是创建一个SQLite数据库的步骤:
1. 创建一个继承自SQLiteOpenHelper的类
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "MyDatabase.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "Users";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_EMAIL = "email";
public MyDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格
String createTableQuery = "CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT, " +
COLUMN_EMAIL + " TEXT" +
")";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 删除表格并重新创建
String deleteTableQuery = "DROP TABLE IF EXISTS " + TABLE_NAME;
db.execSQL(deleteTableQuery);
onCreate(db);
}
}
```
2. 在需要创建数据库的地方实例化该类
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
```
3. 获取可写入的数据库对象
```java
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
4. 插入数据
```java
ContentValues contentValues = new ContentValues();
contentValues.put(MyDatabaseHelper.COLUMN_NAME, "John");
contentValues.put(MyDatabaseHelper.COLUMN_EMAIL, "john@example.com");
long rowId = db.insert(MyDatabaseHelper.TABLE_NAME, null, contentValues);
```
5. 查询数据
```java
String[] projection = {
MyDatabaseHelper.COLUMN_ID,
MyDatabaseHelper.COLUMN_NAME,
MyDatabaseHelper.COLUMN_EMAIL
};
String selection = MyDatabaseHelper.COLUMN_NAME + " = ?";
String[] selectionArgs = {"John"};
Cursor cursor = db.query(
MyDatabaseHelper.TABLE_NAME,
projection,
selection,
selectionArgs,
null,
null,
null
);
while (cursor.moveToNext()) {
long id = cursor.getLong(cursor.getColumnIndexOrThrow(MyDatabaseHelper.COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(MyDatabaseHelper.COLUMN_NAME));
String email = cursor.getString(cursor.getColumnIndexOrThrow(MyDatabaseHelper.COLUMN_EMAIL));
// Do something with the data
}
cursor.close();
```
6. 关闭数据库连接
```java
db.close();
```
以上是使用SQLite创建数据库的基本步骤。在实际使用中可能还需要进行一些其他的操作,如更新数据、删除数据等。