sqlite

  1. sqlite开源免费数据库,嵌入式数据库,系统内置,直接可以调用系统提供的API,同时是轻量级的。
  2. 数据库其实就是特殊的文件
  3. 创建数据库步骤:
    .创建一个类继承 pernHelper,同时实现里面的构造方法和为实现的方法
    .创建该类的对象,调用getReadableDatabase()来创建数据库
package com.example.sqlite;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public  class MyHelper extends SQLiteOpenHelper {
//参数1上下文 
//参数2数据库的名称
//参数3工厂
//参数4版本号
    public MyHelper(Context context, String name, CursorFactory factory,int version) {
        super(context, name, factory, version);

    }
//数据库第一次创建的时候会调用该方法,通常用来初始化
    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql ="create table student (_id integer primary key,name text,age text )";
        db.execSQL(sql);
    }
//数据库版本升级的时候会调用该方法,注意数据库不能降级
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        //修改有个原则 只可以增加
        db.execSQL("alter table student add nick");//alter 修改
    }

}
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MyHelper myhelper = new MyHelper(this,"hema.db",null,1);//准备阶段
        myhelper.getReadableDatabase();//创建数据库,返回一个可读的数据库,如果储空间满了会返回可读的,没满会返回可写的数据库
        myhelper.getWritableDatabase();//创建数据库,返回一个可写的数据库,当存储空间满了会报错
    }  
}
  1. 增删改查(按照上面的例子)
    String sql=”insert into student values(null,”张三”,18,“三”)”;db.execSQL(sql)//添加
    String sql =“delete from student where _id=2”;db.execSQL(sql)//删除
    String sql =”update student set nick =‘四’where _id=1;db.execSQL(sql)//改
    //查
    Cursor cursor=db.rawQuery(“select* from student”,null);
    cursor.moveToNext();//移动到下一行
    int name =cursor.getColumnIndex(“name”)//获取列的索引
    String nameStr=cursor.getString(name);
  2. google api的增删改查
    //添加
    //参1表格
    //参2 如果插入数据少字段,允许容错
    //参3map集合
    ContentValues values = new ContentValues(); values .add(“name”,”李四”);
    long id =db.insert(“student”,”“,values );
    if(id!=-1){System.out.println(“添加成功”)}
    //删除
    //参1 表名
    //参2条件
    //参3字符串数据,替换条件里的占位符
    int id =db.delete(“student”,”_id=?”, new String[]{“2”});
    if(id>0){System.out.println(“删除成功”)};
    //修改
    //参1表名
    //参2ContentValues 用来对应表中的字段和值
    //参3条件
    //参4是字符串数据,替换条件里的占位符
    ContentValues values = new ContentValues();values .put(“nick”,”五”);
    int id=db.update(“student”,values,”_id=?”,new String[]{“2”});
    if(id>0){System.out.println(“更新成功”)};
    //查询
    //参1 表名
    //参2 查询的列
    //参3查询的条件
    //参4 字符串数据,替换条件里的占位符
    //参5 分组查询
    //参6having的条件
    //参7 排序
    //参8分页
    Cursor cursor =db.query(“student”,null,null,null,null,null,null,null);
    while(cursor .moveToNext()){
    int name =cursor.getColumnIndex(“name”)//获取列的索引
    String nameStr=cursor.getString(name);
    }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值