Sqlite 安卓的数据库使用
2016-06-27 21:54
323 查看
Sqlite 安卓的数据库使用
进入安卓数据库可以使用传统的方法
打开命令窗口 cmd
输入 abd shell
出现 # 各种手机可能不同
输入 ls 这是遍历该窗口界面的文件
输入 #cd data/data/项目名(包名)/databases/ 进入应用数据库所在目录
输入 ls 遍历该窗口界面的文件
输入 #sqlite3 *contacts.db 这是进入联系人列表
输入 .table 查看该所有的表
输入 .schema查看建表语句!
.quit 或者 .exit 返回上一级
数据库的基本操作
增 insert into student(id,name,age)values(1001,jack,23);
删 delete from student where name=jack;
改 update student set name = john where id = 1001;
查 select*from student where id=1001;
对于查找要特别注意,如果是命令行操作,当然是没有问题
但是很多时候我们是需要用代码去完成的,这时我们需要一个接受
对象 Cursor
String finddata = ("select * from student where id="+idquery);
Cursor cursor = sqLiteDatabase.rawQuery(finddata,null);
当然androidstudio还有更方便的可视化查看数据库以及操作数据库
选择 Tools 的菜单,选择最后的Android 选择 Android Device Monitor
这时有一个窗口,左边是连接的设备 online 右边是各种选项 File Explore
选项菜单里,可以查找你想查找的文件,点击下方的导出选项,然后使用
下载的sqlitebrowser程序
可以直接拉入导出的文件,也可以点击Open Database选项,找到导出的文件位置,
选中即可,下面有四选项
1,Creat Table 这界面可以创建新的表
2,Browse Data 选中后,在下面的Table选项中,点击弹出table选项,选择想要选择的表
3,Edit Pragmas 是对表的各种属性赋值
4,Execute SQL 是可以用sql语句进行编辑表
创建一个类继承SQLiteOpenHelper
public class DataBaseHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME = "android1601.db";
private final static int DATABASE_VERSION = 1;
/**
* 初始化数据库
* 数据库名称
* 数据库版本号
* @param context
*/
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
Logs.e("DataBaseHelper 构造方法");
}
/**
* 在数据库第一次创建时执行
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
String tablesql = "create table user(id Integer,name varchar(20),password varchar(6) ,PRIMARY KEY(id))";
db.execSQL(tablesql);
Logs.e("onCreate 方法");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Logs.e("onUpgrade 方法 oldVersion"+oldVersion + " ,newVersion "+newVersion);
}
}
public class SqliteActivity extends AppCompatActivity implements View.OnClickListener{
private Button mAddDataBtn,mQueryBtn;
private DataBaseHelper mDataBaseHelper;
private SQLiteDatabase sqLiteDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sqlite_layout);
mAddDataBtn = (Button) findViewById(R.id.sqlite_add_data_btn);
mQueryBtn = (Button) findViewById(R.id.sqlite_query_btn);
mAddDataBtn.setOnClickListener(this);
mQueryBtn.setOnClickListener(this);
mDataBaseHelper = new DataBaseHelper(this);//实例化该类
sqLiteDatabase = mDataBaseHelper.getReadableDatabase();//创建或者打开数据库,回调DataBaseHelper类中oncreate()方法
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.sqlite_add_data_btn:
String sqladd = "insert into user values(2,\"李思\",\"abc\")";
sqLiteDatabase.execSQL(sqladd);
break;
case R.id.sqlite_query_btn:
String querySQL = "select * from user";
Cursor cursor = sqLiteDatabase.rawQuery(querySQL,null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
String password = cursor.getString(cursor.getColumnIndex("password"));
Logs.e("name :"+name+" password :"+password);
}
break;
}
}
}
进入安卓数据库可以使用传统的方法
打开命令窗口 cmd
输入 abd shell
出现 # 各种手机可能不同
输入 ls 这是遍历该窗口界面的文件
输入 #cd data/data/项目名(包名)/databases/ 进入应用数据库所在目录
输入 ls 遍历该窗口界面的文件
输入 #sqlite3 *contacts.db 这是进入联系人列表
输入 .table 查看该所有的表
输入 .schema查看建表语句!
.quit 或者 .exit 返回上一级
数据库的基本操作
增 insert into student(id,name,age)values(1001,jack,23);
删 delete from student where name=jack;
改 update student set name = john where id = 1001;
查 select*from student where id=1001;
对于查找要特别注意,如果是命令行操作,当然是没有问题
但是很多时候我们是需要用代码去完成的,这时我们需要一个接受
对象 Cursor
String finddata = ("select * from student where id="+idquery);
Cursor cursor = sqLiteDatabase.rawQuery(finddata,null);
当然androidstudio还有更方便的可视化查看数据库以及操作数据库
选择 Tools 的菜单,选择最后的Android 选择 Android Device Monitor
这时有一个窗口,左边是连接的设备 online 右边是各种选项 File Explore
选项菜单里,可以查找你想查找的文件,点击下方的导出选项,然后使用
下载的sqlitebrowser程序
可以直接拉入导出的文件,也可以点击Open Database选项,找到导出的文件位置,
选中即可,下面有四选项
1,Creat Table 这界面可以创建新的表
2,Browse Data 选中后,在下面的Table选项中,点击弹出table选项,选择想要选择的表
3,Edit Pragmas 是对表的各种属性赋值
4,Execute SQL 是可以用sql语句进行编辑表
创建一个类继承SQLiteOpenHelper
public class DataBaseHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME = "android1601.db";
private final static int DATABASE_VERSION = 1;
/**
* 初始化数据库
* 数据库名称
* 数据库版本号
* @param context
*/
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
Logs.e("DataBaseHelper 构造方法");
}
/**
* 在数据库第一次创建时执行
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
String tablesql = "create table user(id Integer,name varchar(20),password varchar(6) ,PRIMARY KEY(id))";
db.execSQL(tablesql);
Logs.e("onCreate 方法");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Logs.e("onUpgrade 方法 oldVersion"+oldVersion + " ,newVersion "+newVersion);
}
}
public class SqliteActivity extends AppCompatActivity implements View.OnClickListener{
private Button mAddDataBtn,mQueryBtn;
private DataBaseHelper mDataBaseHelper;
private SQLiteDatabase sqLiteDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sqlite_layout);
mAddDataBtn = (Button) findViewById(R.id.sqlite_add_data_btn);
mQueryBtn = (Button) findViewById(R.id.sqlite_query_btn);
mAddDataBtn.setOnClickListener(this);
mQueryBtn.setOnClickListener(this);
mDataBaseHelper = new DataBaseHelper(this);//实例化该类
sqLiteDatabase = mDataBaseHelper.getReadableDatabase();//创建或者打开数据库,回调DataBaseHelper类中oncreate()方法
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.sqlite_add_data_btn:
String sqladd = "insert into user values(2,\"李思\",\"abc\")";
sqLiteDatabase.execSQL(sqladd);
break;
case R.id.sqlite_query_btn:
String querySQL = "select * from user";
Cursor cursor = sqLiteDatabase.rawQuery(querySQL,null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
String password = cursor.getString(cursor.getColumnIndex("password"));
Logs.e("name :"+name+" password :"+password);
}
break;
}
}
}
相关文章推荐
- Mysql的ab复制
- mysql 与elasticsearch实时同步常用插件及优缺点对比
- To_Date函数用法
- MySQL-物理备份-Percona XtraBackup 备份原理
- liunux cenos 6.5 彻底卸载MySQL和安装MySQL
- go-mysql-elasticsearch实现mysql 与elasticsearch实时同步深入详解
- postgresql----COPY之表与文件之间的拷贝
- 另一个 OracleParameterCollection 中已包含 OracleParameter
- 另一个 OracleParameterCollection 中已包含 OracleParameter
- sql查询--join与子查询对比
- JSP连接数据库实现分页显示
- java 编程excel文件导入数据库
- Oracle中合理利用临时表解决in语句的优化过程
- Oracle中合理利用临时表解决in语句的优化过程
- Mysql 日志详解
- postgresql----UNION&&INTERSECT&&EXCEPT
- [APICloud]云端数据库操作
- 通过Yum更新MongoDB 2.6 to 3.0
- redis 持久化
- 数据库连接池