安卓开发之sql语句增删改查

package com.lidaochen.phonecall;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class MyOpenHelper extends SQLiteOpenHelper {

    /**
     *
     * @param context  上下文
     * name:数据库的名字
     * factory 目的创建cursor对象
     *
     * version 数据库的版本   从1开始
     */
    public MyOpenHelper(Context context)
    {
        super(context, "liDaochen.db", null, 4);
    }

    /**
     * Called when the database is created for the first time.
     * 当数据库第一次创建的时候调用
     * 那么这个方法特别适合做表结构的初始化  创建表就是写sql语句
     */
    @Override
    public void onCreate(SQLiteDatabase db)
    {
        // id 一般以_id
        db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),phone varchar(20))");
    }

    /**
     * Called when the database needs to be upgraded
     * 当数据库版本升级的时候调用
     *
     * 这个方法适合做   表结构的更新
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVwesion)
    {
        db.execSQL("alter table info add phone varchar(20)");
    }
}
package com.lidaochen.phonecall;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity{
    private MyOpenHelper myOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myOpenHelper = new MyOpenHelper(getApplicationContext());

    }

    // 打开或者创建数据库 如果是第一次就创建
    // SQLiteDatabase db = myOpenHelper.getWritableDatabase();
    // 打开或者创建数据库 如果是第一次就创建 如果磁盘满了就返回只读的
    // SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase()

    // 点击按钮增加一条记录
    public void add(View v)
    {
        // 获取数据库对象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 执行增加一条sql语句
        db.execSQL("insert into info(name,phone) values(?,?)", new Object[]{"张三", "13888888"});
        // 数据库用完需要关闭
        db.close();
    }
    // 删除
    public void delete(View v)
    {
        // 获取数据库对象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 执行删除一条sql语句
        db.execSQL("delete from info where name=?", new Object[]{"张三"});
        // 数据库用完需要关闭
        db.close();
    }
    // 更新
    public void update(View v)
    {
        // 获取数据库对象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 执行删除一条sql语句
        db.execSQL("update info set phone=? where name=? ", new Object[]{"138888888", "张三"});
        // 数据库用完需要关闭
        db.close();
    }
    // 查找
    public void find(View v)
    {
        // 获取数据库对象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        Cursor cursor = db.rawQuery("select * from info", null);
        if (cursor != null && cursor.getCount() > 0)
        {
            while (cursor.moveToNext())
            {
                // columnIndex代表列的索引
                String name = cursor.getString(1);
                String phone = cursor.getString(2);
                System.out.println(name + ": " + phone);
            }
        }
    }
}

 

上一篇:创建Sqlite数据库


下一篇:andriod studio连接SQLite