美文网首页
数据库存储

数据库存储

作者: 慢慢来111 | 来源:发表于2016-11-26 10:22 被阅读8次

数据库

  • 第一步
    创建一个新工程,创建一个class这个class继承于SQLiteOpenHelper这个类,并实现两个方法和一个构造方法

  • 第二步:调用SQLiteOpenHelper这个类的构造方法,先创建一个对象,然后调用创建数据库的方法 参数1:许你一个上下文 参数2:数据库名称 参数3:null 参数四:不能小于1;
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();//如果数据库不存在,先创建数据库 ,获取一个可读可写数据库对象

  • 第三步:创建数据库表
    @Override
    public void onCreate(SQLiteDatabase arg0) {
    //创建数据库表
    arg0.execSQL("create table person(_id integer primary key autoincrement, name char(10),salary char(20),phone integer(20) )");
    }

  • 第四步:创建表之后就可以进行表的增删改查了
    public void insert(){
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    db.execSQL("insert into person(name,salary,phone)values(?,?,?)", new Object[]{"小志志卡","13000",138438});
    db.close();
    }
    public void delete(){
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    db.execSQL("delete from person where name = ?", new Object[]{"小志"});
    db.close();
    }

    public void updata(){
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    db.execSQL("update person set phone = ? where name = ?", new Object[]{123,"小志志卡"});
    db.close();
    }

  • 上面的方法容易出错,可以用封装好的api来进行增删改查
    public void deleteApi(){
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    int i = db.delete("person", "name = ?", new String[]{"游天龙"});
    db.close();
    }

    public void updateApi(){
    ContentValues values = new ContentValues();
    values.put("salary", 1300);
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    db.update("person", values, "name = ?", new String[]{"游天龙"});
    db.close();
    }

    public void selectApi(){
    ContentValues values = new ContentValues();
    values.put("salary", 1300);
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();
    Cursor cursor = db.query("person", null, null, null, null, null, null, null);
    while (cursor.moveToNext()) {
    String name = cursor.getString(cursor.getColumnIndex("name"));
    String phone = cursor.getString(cursor.getColumnIndex("phone"));
    String salary = cursor.getString(cursor.getColumnIndex("salary"));
    }
    db.close();
    }

  • 事务:要成功一起成功,要失败都失败
    public void transaction(){
    MyOpenHelper oh = new MyOpenHelper(getContext(), "people.db", null, 1);
    SQLiteDatabase db = oh.getWritableDatabase();

    db.beginTransaction();
    ContentValues values = new ContentValues();
    values.put("salary", 12000);
    db.update("person", values, "name = ?", new String[]{"小志卡"});
    
    values.clear();
    values.put("salary", 14000);
    db.update("person", values, "name = ?", new String[]{"小志志卡"});
    db.setTransactionSuccessful();
    db.endTransaction();
    db.close();
}

相关文章

  • 2017 11-15 redis应用

    一.redis介绍 (1)概念:属于非关系型存储数据库——基于kv(键值存储)的开源的内存存储,数据库结构存储。经...

  • iOS数据存储之文件沙盒

    资源连接: iOS数据库存储之SQL语句; iOS数据库存储之SQLite3; iOS数据存储之NSCoding;...

  • 数据库笔记

    数据库 数据库⭐MySQL 默认存储引擎InnoDB(事务性存储引擎)一、事务 数据库事务? 数据库事务有什么作用...

  • MySQL数据库常用存储引擎

    Mysql数据库常用存储引擎 数据库存储引擎:是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建...

  • Linux云计算学习笔记day47

    -数据库-存储迁移 -数据库-存储迁移 https://www.processon.com/view/link/5...

  • MongoDB

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。 MongoDB存储模式 数据库存储集合,集...

  • 16-Mysql面试题(84题)

    1、数据库存储引擎 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更 ...

  • 数据库中数据的储存结构和方式是什么?

    数据库是存储和管理数据的仓库,但数据库并不能直接存储数据,数据是存储在表中的,在存储数据的过程中一定会用到数据库服...

  • day07

    Android的存储方式 使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据...

  • 简述mysql存储引擎及读写锁实现并发访问控制

    一、Mysql的存储引擎 存储引擎是数据库的核心组件,其工作于数据库底层。不同的存储引擎提供不同的存储机制、索引技...

网友评论

      本文标题:数据库存储

      本文链接:https://www.haomeiwen.com/subject/syawpttx.html