(超详细)android中SqLite数据库的使用(一文包懂包会)
16lz
2022-05-06
android中使用SqLite数据库(一文包懂包会)
本文以eclipse中的操作为例。
一、控制台操作SQLite数据库
eclipse中查看数据库
DDMS->File Explorer->data->data->com.example.项目名->databases
控制台新建数据库
一开始是看不到databases这个文件夹的,这个需要自己创建,创建步骤如下:
1、win+R打开CMD控制台
2、在sdk的platform-tools中启动adb shell并进入直接的项目文件目录下(注意:要先启动虚拟机)
3、新键文件夹databases
mkdir databases
4、进入文件夹
cd databases
5、新建数据库users.db
sqlite3 users.db
6、新建表
create table user("name" TEXT,"score" INTEGER);
7、插入数据
insert into user(name,score) values ("SADON_jung",100);
8、查看数据
select * from user;
9、删除数据
delete from user where score = 100;
10、更新数据
update user set score = 99 where name = "SADON_jung";
二、eclipse中操作数据库
1、获取SQLiteDatabases
// 获取SQLiteDatabase以操作SQL语句//getFilesDir()获取当前目录路径 DB = SQLiteDatabase.openOrCreateDatabase(getFilesDir() + "/users.db",null);
做到这一步你会发现,连接到的数据库并不是上面自己在控制台中新建的数据库,而是创建在了一个新的文件夹files中,但是这个影响不大,以后注意就可以了。
2、建表
public void create() {String createSql = "create table user('name' TEXT,'score' INTEGER)";DB.execSQL(createSql);}
3、插入数据
public void insert(String user,int score) { String insertSql = "insert into user (name,score) values (\'"+ user +"\'," + score +")"; DB.execSQL(insertSql);}
4、删除数据
public void delete(String name,int score){String deleteSql = "delete from user where name = \'"+name+"\'AND score = "+score;DB.execSQL(deleteSql); }
5、更新数据
public void updata(String user,int score) { String updataSql = "update user set score = " + score +" where user =\'"+ user +"\')";DB.execSQL(updataSql);}
6、查找语句
//查找数据可以使用Cursor类来存放查找到的数据public Cursor select() { String selectSql = "select * from user"; Cursor cursor = DB.rawQuery(selectSql, null);// 我们需要查处所有项故不需要查询条件 return cursor;}
三、Cursor类的使用
cursor.isClosed();//如果为TRUE表示该游标已关闭cursor.close();//关闭游标,且释放资源cursor.getColumnCount();//返回所有列的总数cursor.getColumnNames();//返回一个字符串数组的列名,即将列名全部返回到一个字符串数组中cursor.getCount();//返回Cursor中的行数cursor.moveToFirst();//移动光标到第一行cursor.moveToLast();//移动光标到最后一行cursor.moveToNext();//移动光标到下一行cursor.moveToPrevious();//移动光标到上一行cursor.getColumnName(columnIndex);//从给定的索引返回列名cursor.moveToPosition(position);//移动光标到给定位置cursor.getString(0);//获取当前行的第一列String类型数据cursor.getInt(1);//获取当前行的第二列int类型数据
实操中的一点笔记,希望可以帮到大家,有错误的地方希望可以指出,谢谢。
更多相关文章
- Android与服务器端数据交互(http协议整合struts2+android)
- .Net程序员玩转Android开发---(12)ListView显示数据
- 命令数据库在Android中查看和管理sqlite数据库
- Android入门篇四:使用剪切板在Activity之间传递对象数据
- Study on Android【二】--ContentProvider数据模型概述
- Android(安卓)Content Provider
- Android(安卓)SQLite
- 截取android正在播放音乐的audio音频流(后台获取android音频流)
- mybatisplus的坑 insert标签insert into select无参数问题的解决