sqlite数据库语句和mysql的语句_【玩转SQLite系列】(三)通过sql语句操作SQLite数据库...

【玩转SQLite系列】(三)通过sql语句操作SQLite数据库

在上一篇 【玩转SQLite系列】(二)SQLite创建和打开数据库的三种方式 说了一下用如何去打开和创建SQLite数据库,不了解的可以去看一下。

由于Android系统的诸多权限问题,我才用的是真机进行调试,所以操作SQLite数据库变得很麻烦,需要进行root;所以,我们来采用(SQLiteDatabase.openOrCreateDatabase)来创建和打开数据库,这样的话,可以指定创建的数据库文件的路径。我们可以用一些可视化工具(Navicat_for_SQLite)变得更好操作。这篇文章介绍一下通过纯sql语句对数据库的以下操作:

1.创建表

2.删除表

3.新增数据

4.修改数据

5.删除数据

6.查询数据

0818b9ca8b590ca3270a3433284dd417.png

0.创建或打开一个数据库

在SD卡的sqlite文件夹下创建和打开一个info.db数据库

File dataBaseFile = new File(Environment.getExternalStorageDirectory() + "/sqlite", Contacts.DATABASE_NAME);

if (!dataBaseFile.getParentFile().exists()) {

dataBaseFile.mkdirs();

}

sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(dataBaseFile, null);

通过adb pull命令将手机中建立的数据库文件/sdcard/sqlite/info.db导出到电脑D:\Andriod\Navicat_for_SQLite

adb pull /sdcard/sqlite/info.db D:\Andriod\Navicat_for_SQLite

0818b9ca8b590ca3270a3433284dd417.png

1.创建表

/** * 1.创建数据表user * 表名 user * *数据表user表结构字段 * 主键:id * 名字:name * 年龄:age: * *@param v */

public void create(View v) {

String sql = "CREATE TABLE " +

"IF NOT EXISTS " +

"user(" +

"id Integer PRIMARY KEY AUTOINCREMENT," +

"name varchar," +

"age Integer)";

sqLiteDatabase.execSQL(sql);

}

我们通过Navicat_for_SQLite工具打开我们导出的数据库文件,可以看到uesr表已经成功创建

0818b9ca8b590ca3270a3433284dd417.png

2.删除表格

/** * 2.删除数据表user * *@param v */

public void drop(View v) {

String sql = "DROP TABLE " +

"IF EXISTS " +

"user";

sqLiteDatabase.execSQL(sql);

}

3.插入(新增)数据

/** * 3.给user表中新增一条数据 * *@param v */

public void insert(View v) {

String sql = "INSERT INTO" +

" user(name,age) " +

" VALUES('张三',25)";

sqLiteDatabase.execSQL(sql);

}

我们插入两次数据来查看一下结果

0818b9ca8b590ca3270a3433284dd417.png

成功插入了两条数据

4.修改数据

/** * 4.修改user表中id为2的名字改成“李四” * *@param v */

public void update(View v) {

String sql = "UPDATE" +

" user SET" +

" name='李四' " +

" WHERE id=2";

sqLiteDatabase.execSQL(sql);

}

我们来查看一下修改的结果

0818b9ca8b590ca3270a3433284dd417.png

成功将id为2的姓名修改成了李四

5.删除数据

/** * 5.删除user表中id为2的记录 * *@param v */

public void delete(View v) {

String sql = "DELETE FROM user WHERE id=2";

sqLiteDatabase.execSQL(sql);

}

我们来查看一下删除的结果

0818b9ca8b590ca3270a3433284dd417.png

成功将id为2的数据删除

6.查询数据

/** * 6.查询数据 * *@param v */

@TargetApi(Build.VERSION_CODES.JELLY_BEAN)

public void query(View v) {

String sql = "SELECT * FROM user";

/***这里得到的是一个游标*/

Cursor cursor = sqLiteDatabase.rawQuery(sql, null, null);

if (cursor == null) {

return;

}

/***循环游标得到数据*/

while (cursor.moveToNext()) {

Log.d(Contacts.TAG, "id=" + cursor.getInt(0) + ",name=" + cursor.getString(1) + ",age=" + cursor.getInt(2));

}

/***记得操作完将游标关闭*/

cursor.close();

}

我们通过Log来查看结果

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值