SQLite

SQLite

  • 为什么要用SQLite
  • 什么是SQLite
  • 如何创建数据库和数据表
  • 如何添加数据
  • 如何删除数据
  • 如何修改数据
  • 如何查询数据

为什么要用SQLite

  1. SharedPreferencens是以XML形式存储数据的,只适合存储基本数据类型的数据。
  2. 文件存储的内容在提取(解析)数据,相对复杂。
  3. 当文件量大,结构复杂时,容易出错,效率低下,Android中提供了SQLite数据存储,帮助我们解决这些问题。

什么是SQLite

  1. SQLite数据库存储是Android系统提供的数据存储方式之一。
  2. SQLite是转为嵌入式设备设计的一款轻量级数据库。
  3. SQLite占用资源非常低,在嵌入式设备中只需要几百K的内存。
  4. SQLite支持标准SQL语法,遵循数据库的ACID事务。
  5. SQLite不需要安装,不需要用户密码就可以使用。

如何创建数据库和数据表

  1. 新建类继承SQLiteOpenHelper
  2. 实现构造方法
  3. 重写onCreate
  4. 重写onUpgrade
  5. 实例化SQLiteOpenHelper的子类对象。
  6. 调用getReadableDatabase方法或者getWritableDatabase方法。
private String sql="create table student(" +  
            "id integer primary key autoincrement," +  
            "name text," +  
            "age text" +  
            ")";  
    public MyDBhelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {  
        super(context, name, factory, version);  
    }  

    @Override  
    public void onCreate(SQLiteDatabase sqLiteDatabase) {  
            sqLiteDatabase.execSQL(sql);//此方法只会在第一次创建时执行,只会执行一次。
    }  

    @Override  
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {  

    }  

如何添加数据

private void addStudent() {  
        MyDBhelper dBhelper=new MyDBhelper(this,"student_db",null,1);  
        SQLiteDatabase sqLiteDatabase=dBhelper.getWritableDatabase();  
        ContentValues contentValues=new ContentValues();  
        contentValues.put("name",student_name.getText().toString());  
        contentValues.put("age",student_age.getText().toString());  
        sqLiteDatabase.insert("student",null,contentValues);  
    }  

如何删除数据

private void delStudent() {  
        dBhelper=new MyDBhelper(this,"student_db",null,1);  
        sqLiteDatabase=dBhelper.getWritableDatabase();  
        String name=student_name.getText().toString();  
        String age=student_age.getText().toString();  
        sqLiteDatabase.delete("student","name=?",new String[]{name});  
    }  

如何修改数据

private void modifyStudent() {  
        dBhelper = new MyDBhelper(this, "student_db", null, 1);  
        sqLiteDatabase = dBhelper.getWritableDatabase();  
        ContentValues contentValues = new ContentValues();  
        String name = student_name.getText().toString();  
        String age = student_age.getText().toString();  
        contentValues.put("name", "bbb");  
        sqLiteDatabase.update("student", contentValues, "name=?", new String[]{name});  
    }  

如何查询数据

public void listStudent() {  
        studentList.clear();  
        Cursor cursor = sqLiteDatabase.query("student", null, null, null, null, null, null);  
        cursor.moveToFirst();  
        do {  
            String name = cursor.getString(cursor.getColumnIndex("name"));  
            int age = cursor.getInt(cursor.getColumnIndex("age"));  
            int id = cursor.getInt(cursor.getColumnIndex("id"));  
            Log.e(TAG, "listStudent: " + id + "-" + name + "-" + age);  
            studentList.add(new Student(id, name, age));  
        } while (cursor.moveToNext());  
        Student_Adapater adapater = new Student_Adapater(studentList, this);  
        student_listview.setAdapter(adapater);  
    }  
阅读更多
想对作者说点什么? 我来说一句

DB sqlite

2011年09月14日 1.66MB 下载

SQLite权威指南

2010年06月12日 1.11MB 下载

sqlite语法sqlite语法sqlite语法

2010年10月16日 290KB 下载

sqlite资料03

2011年04月01日 3KB 下载

sqlite 触发器

2011年04月25日 73KB 下载

SQLite参考手册

2017年09月14日 139KB 下载

sqlite可视化工具

2009年10月27日 1.64MB 下载

navicat for sqlite

2017年12月13日 16.42MB 下载

sqlite资料.part1sqlite资料

2011年04月01日 4KB 下载

SQLite小蝴蝶安装包

2017年11月15日 41.39MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭