Android 数据库开发
SQLite是一个开源,符合标准,轻量级单层关系型数据库 SQLite是许多消费类电子设备,比如MP3播放器,iPhone, iPod的首选数据库系统 SQLite的每一行的每一列可以有不同的数据类型,因此在插入或提取时没有严格的类型检查 ContentValue对象用于插入数据到数据表,每个ContentValue对象代表一数据行。Andoid中的Queries的返回Cursor
·
- SQLite是一个开源,符合标准,轻量级单层关系型数据库
- SQLite是许多消费类电子设备,比如MP3播放器,iPhone, iPod的首选数据库系统
- SQLite的每一行的每一列可以有不同的数据类型,因此在插入或提取时没有严格的类型检查
- ContentValue对象用于插入数据到数据表,每个ContentValue对象代表一数据行。Andoid中的Queries的返回Cursor对象,它是底层数据的一个子集。startmanagingCursor方法将cursor的生命周期集成到父Activity的生命周期,当使用完Cursor调用stopManagingCursor来解除集成关系。
- SQLite数据库设计Tip
- Bitmaps 或 audio文件通常不存储在数据库中,而是存储文件的储存路径(URI)字符串
- 强烈建议每个表有一个自增主键列作为唯一索引,特别是此表需要共享给Content Provider时,此字段是必须的。
- 可调用openOrCreateDatabase创建新数据库,然后调用execSQL运行SQL语句创建数据库表和关系。
private static final String DATABASE_NAME = “myDatabase.db”;
private static final String DATABASE_TABLE = “mainTable”;
private static final String DATABASE_CREATE = “create table “ + DATABASE_TABLE +
“ ( _id integer primary key autoincrement,” + “column_one text not null);”;
SQLiteDatabase myDatabase;
private void createDatabase() {
myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
myDatabase.execSQL(DATABASE_CREATE);} - 插入数据,创建一个新行(ContentValues)-> 给新行分配数据(Put 方法)->输入新行到表(Insert方法)
// Create a new row of values to insert.
ContentValues newValues = new ContentValues();
// Assign values for each row.
newValues.put(COLUMN_NAME, newValue);
[ ... Repeat for each column ... ]
// Insert the row into your table
myDatabase.insert(DATABASE_TABLE, null, newValues); - 修改数据,创建一个新行(ContentValues)-> 给新行分配数据(Put 方法)-> 修改行(Update方法, where语句指定修改哪行)
// Define the updated row
content. ContentValues updatedValues = new ContentValues();
// Assign values for each row.
updatedValues.put(COLUMN_NAME, newValue);
[ ... Repeat for each column ... ]
String where = KEY_ID + “=” + rowId;
// Update the row with the specified index with the new values.
myDatabase.update(DATABASE_TABLE, updatedValues, where, null); - 删除数据, 直接调用delete方法,用where子句指定要删除的行
myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId, null); - SQLite命令行管理工具
- 打开Command Prompt 进入C:/Program Files/Android/android-sdk/platform-tools目录, 运行adb shell
- #cd data/data/<项目名>/databases, ls 命令可列表目录,文件名。
- Sqlite3 <数据库文件名>打开或创建一个数据库
- Ctrl+D 退出sqlite3
- SQL语句必须以分号; 结束。如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字,直到;才执行
- 所有创建、删除和索引数据库时的信息自动更新到sqlite_master表。TEMPORARY表结构被存储在另外一个名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是临时表自身
更多推荐
已为社区贡献1条内容
所有评论(0)