本文介绍android中的数据库的增删改查

复习sql语法:

* 增

insert into info (name,phone) values ('wuyudong','111')

* 删

delete from person where name = 'wuyudong'

* 改

update person set number='119' where name='wuyudong'

* 查

select * from person

select * from person where name='wuyudong'

数据库文件是在 /data/data/包名/databases/xxx.db


下面使用代码完成相关的操作

首先定义一个Person类

package com.wuyudong.db.domain;public class Person {private int id;private String name;private String number;public Person() {}public Person(int id, String name, String number) {this.id = id;this.name = name;this.number = number;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}}

接着实现相关操作的代码:

package com.wuyudong.db.dao;import java.util.ArrayList;
import java.util.List;import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;import com.wuyudong.db.PersonSQLiteOpenHelper;
import com.wuyudong.db.domain.Person;public class PersonDao {private PersonSQLiteOpenHelper helper;public PersonDao(Context context) {helper = new PersonSQLiteOpenHelper(context);}/*** 添加一条记录到数据库* * @param name*            姓名* @param number*            电话*/public void add(String name, String number) {SQLiteDatabase db = helper.getWritableDatabase();db.execSQL("insert into person (name,number) values (?,?)",new Object[] { name, number });db.close();}/*** 查询记录是否存在* * @param name*            姓名 return true存在, false不存在*/public boolean find(String name) {SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from person where name=?",new String[] { name });boolean result = cursor.moveToNext();cursor.close();db.close();return result;}/*** * @param name*            要修改的人的姓名* @param newnumber*            新的号码*/public void update(String name, String newnumber) {SQLiteDatabase db = helper.getReadableDatabase();db.execSQL("update person set number=? where name=?", new Object[]{newnumber,name});db.close();}/*** 删除一条记录* @param name */public void delete(String name) {SQLiteDatabase db = helper.getReadableDatabase();db.execSQL("delete from person where name=?", new Object[]{name});db.close();}/*** 返回全部的数据库信息* @return*/public List<Person> findAll() {List<Person> persons = new ArrayList<Person>();SQLiteDatabase db = helper.getReadableDatabase();Cursor cursor = db.rawQuery("select * from person", null);while(cursor.moveToNext()){int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnIndex("name"));String number = cursor.getString(cursor.getColumnIndex("number"));Person person = new Person(id, name, number);persons.add(person);}cursor.close();db.close();return persons;}}

完整的测试代码如下:

package com.wuyudong.db.test;import java.util.List;import com.wuyudong.db.PersonSQLiteOpenHelper;
import com.wuyudong.db.dao.PersonDao;
import com.wuyudong.db.domain.Person;import android.database.sqlite.SQLiteDatabase;
import android.test.AndroidTestCase;public class TestPersonDB extends AndroidTestCase {public void testCreateDB() throws Exception {PersonSQLiteOpenHelper helper = new PersonSQLiteOpenHelper(getContext());SQLiteDatabase db = helper.getWritableDatabase();}public void testAdd() throws Exception {PersonDao dao = new PersonDao(getContext());dao.add("wuyudong", "666");}public void testFind() throws Exception {PersonDao dao = new PersonDao(getContext());boolean result = dao.find("zhangsan");assertEquals(true, result);}public void testUpdate() throws Exception {PersonDao dao = new PersonDao(getContext());dao.update("zhangsan", "655");}public void testDelete() throws Exception {PersonDao dao = new PersonDao(getContext());dao.delete("zhangsan");}public void testFindall() throws Exception {PersonDao dao = new PersonDao(getContext());List<Person> persons = dao.findAll();for (Person person : persons) {System.out.println(person.toString());}}
}

转载于:https://www.cnblogs.com/wuyudong/p/5563848.html

Android SQL语句实现数据库的增删改查相关推荐

  1. TSQL语句-对数据库的增删改查

    创建,修改,删除 数据库

  2. visual studio2019连接SQL Server数据库,增删改查详细教程(C#代码)

    visual studio2019连接SQL Server数据库,增删改查详细教程(C#代码) 工具: 1.Visual Studio 2019 2.SQL Server数据库(我使用的2008) 操 ...

  3. php修改数据库字段内容,php对数据库的增删改查操作

    在我看来数据库是个既复杂又高深莫测的东西,但百分之八十左右的程序员都不需要去精通他,对于我们前端开发来说,只要会数据库的增删改查语句就差不多了.首先我们来说说sql的增删改查语句. 一.增删改查 插入 ...

  4. 通过Loadruner对mysql数据库进行增删改查

    通过Loadruner对mysql数据库进行增删改查 操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一 ...

  5. C#语言连接Mysql数据库实现增删改查

    C#语言连接Mysql数据库实现增删改查 实现效果如图 在此之前先下载一个mysql.dll 库 如下 链接:https://pan.baidu.com/s/17Nv_1W3KbXfWgdOvWf_S ...

  6. python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...

    # -*- coding: utf-8 -*- import pymysql import xlrd # import codecs #连接数据库 conn = pymysql.connect(hos ...

  7. Mybatis学习笔记(二) 之实现数据库的增删改查

    开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis3.2.0.jar包.这些软件工具均可以到各自的官方网站上下载 ...

  8. ❤️使用Mybatis对数据库进行增删改查!!!

    ❤️使用Mybatis对数据库进行增删改查!!! ❤️namespace的用法 namespace中的包名要和接口一致: ❤️select用法 id:就是对应的namespace的方法名 result ...

  9. 动态网站作业4-JSP中实现数据库的增删改查的操作

    动态网站作业4-JSP中实现数据库的增删改查的操作 用Statement向数据库中添加元素 1.创建JavaBean–UserBean package com.media.bean;public cl ...

最新文章

  1. 启动MySQL:net start mysql出现问题+本地Mysql忘记密码的修改方法
  2. 无事“自动驾驶”,有事“辅助驾驶”?
  3. mongo c#驱动介绍操作
  4. mysql 中文乱码 或 问号
  5. 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
  6. linux代码诊断有没有link,Linux下判断网线是否插入的代码
  7. windows2003——工作组和域控制器
  8. beforeunload中阻止提示关闭_React 系统中,在离开编辑页面前做提示
  9. 图书isbn批量生成一维条码
  10. Http Status 500
  11. Android 9.0 http无法访问网络问题
  12. php数组题目以及答案,PHP数组面试考题
  13. Android自定义控件:NestedScrolling实现仿魅族flyme6应用市场应用详情弹出式layout
  14. u云支付 php05,优云易支付-免签约支付平台-彩虹易支付,1分钟快速接入支付功能...
  15. Ubuntu 18.04 锁屏 快捷键 无效
  16. dw常用标签_dreamweaver中常用到的标签及含义
  17. 营销老炮儿征战史:重视终端
  18. 手把手教会OpenGL之纹理贴图、包含纹理载入、纹理过滤、边界处理、纹理参数设置(入门级别案例,棋盘)
  19. 全景拍摄—相机设置教程
  20. python笔记(tornado初识)

热门文章

  1. Framework学习(一)深入Android 系统架构
  2. 查询端口号是否被占用指令
  3. 【java】浅析JDK中ServiceLoader的源码
  4. 【算法】剑指 Offer 42. 连续子数组的最大和 【重刷】
  5. 【算法】剑指 Offer 59 - II. 队列的最大值
  6. 【Elasticsearch】请在64位平台上使用Lucene的MMapDirectory
  7. 【ElasticSearch】Es 源码之 Discovery DiscoveryModule 源码解读
  8. 【Flink】Flink 报错 Hash join exceeded Too many duplicate keys
  9. 【Spring】Spring hibernate JSR-303 Validator 自定义参数校验器
  10. 90-50-010-源码-hbase的rowkey设计