(超详细)android中SqLite数据库的使用(一文包懂包会)

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类型数据

实操中的一点笔记,希望可以帮到大家,有错误的地方希望可以指出,谢谢。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Twinkle_sone/article/details/106655090