java,public class MyDatabaseHelper extends SQLiteOpenHelper {, private static final String DATABASE_NAME = "mydatabase.db";, private static final int DATABASE_VERSION = 1;,, public MyDatabaseHelper(Context context) {, super(context, DATABASE_NAME, null, DATABASE_VERSION);, },, @Override, public void onCreate(SQLiteDatabase db) {, String CREATE_TABLE = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT)";, db.execSQL(CREATE_TABLE);, },, @Override, public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {, db.execSQL("DROP TABLE IF EXISTS mytable");, onCreate(db);, },},
`,,这段代码定义了一个名为
MyDatabaseHelper的类,它继承自
SQLiteOpenHelper。在
onCreate`方法中,我们编写了创建表的SQL语句。Android创建数据库语句
在Android开发中,SQLite是一个轻量级的嵌入式关系型数据库,它被广泛用于存储和管理应用程序的数据,本文将详细介绍如何在Android项目中创建和使用SQLite数据库,包括创建数据库、表、插入数据、查询数据、更新数据和删除数据等操作。
SQLiteOpenHelper类
SQLiteOpenHelper类是Android提供的一个帮助类,用于管理数据库的创建和版本管理,通过继承这个类,可以方便地实现数据库的创建、升级和降级等操作。
public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 在这里创建数据库表 String sqlCreateTable = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)"; db.execSQL(sqlCreateTable); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 在这里处理数据库升级逻辑 String sqlDropTable = "DROP TABLE IF EXISTS user"; db.execSQL(sqlDropTable); onCreate(db); } }
创建数据库实例
在Activity或Fragment中使用SQLiteOpenHelper子类来获取SQLiteDatabase实例:
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this); SQLiteDatabase db = dbHelper.getWritableDatabase();
插入数据
使用insert
方法将数据插入到表中:
ContentValues values = new ContentValues(); values.put("name", "Alice"); values.put("age", 25); long rowId = db.insert("user", null, values);
查询数据
使用query
方法查询数据:
String[] columns = new String[]{"id", "name", "age"}; String selection = "age > ?"; String[] selectionArgs = new String[]{"20"}; Cursor cursor = db.query("user", columns, selection, selectionArgs, null, null, null); while (cursor.moveToNext()) { long id = cursor.getLong(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); // 处理查询结果 } cursor.close();
更新数据
使用update
方法更新数据:
ContentValues values = new ContentValues(); values.put("name", "Bob"); String whereClause = "id = ?"; String[] whereArgs = new String[]{"1"}; int rowsUpdated = db.update("user", values, whereClause, whereArgs);
删除数据
使用delete
方法删除数据:
String whereClause = "id = ?"; String[] whereArgs = new String[]{"1"}; int rowsDeleted = db.delete("user", whereClause, whereArgs);
示例表格
以下是一个示例表格,展示了如何在Android中创建和使用SQLite数据库:
操作 | SQL语句 | 描述 |
创建数据库 | CREATE DATABASE IF NOT EXISTS mydatabase.db; | 创建一个名为mydatabase.db的数据库 |
创建表 | CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER); | 创建一个名为user的表,包含id、name和age三个字段 |
插入数据 | INSERT INTO user (name, age) VALUES ('Alice', 25); | 向user表中插入一条记录 |
查询数据 | SELECT id, name, age FROM user WHERE age > ?; | 查询user表中年龄大于指定值的所有记录 |
更新数据 | UPDATE user SET name = ? WHERE id = ?; | 根据id更新user表中的name字段 |
删除数据 | DELETE FROM user WHERE id = ?; | 根据id删除user表中的记录 |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1268400.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复