sqlit的基本操作

sqlite操作

首先是创建SQLiteOpenHelper的实现类;
需要重写onCreate()

@Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
        db.execSQL(CREATE_CATEGORY);
        Toast.makeText(context, "数据库创建成功", Toast.LENGTH_LONG).show();


    }

和onUpgrade()

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        db.execSQL("drop table if exists Book");
        db.execSQL("drop table if exists Category");//增加的表
        onCreate(db);
    }

两个方法;
onUpgrade()这个方法在数据库更新的时候会自动调用;

public static String CREATE_BOOK="create table Book ( id integer primary key autoincrement , auther text,price real , pages integer , name text  )"; 

上述代码是创建一个数据库中的 Book 表;
添加一个构造方法:

public MyDataBaseHelper(Context context, String name,
            CursorFactory factory, int version) {
        super(context, name, factory, version);
        this .context=context;
        // TODO Auto-generated constructor stub
    }

在MainActivity.class中创建SqliteOpenHelper的实现类;

myDataBaseHelper=new MyDataBaseHelper(this, "BookStore.db", null,3);

参数1代表的是上下文对象
参数2代表的是要创建的数据表的名字
参数3代表的是CursorFactory 一般都写为null
参数4代表的是数据的版本;

增:

SqliteOpenHelper的实现类调用getWritableDatabase()方法得到一个SqliteDataBase对象;

SQLiteDatabase db=myDataBaseHelper.getWritableDatabase();

用db调用insert()方法;

ContentValues values=new ContentValues();
            values.put("name", "安卓基础");
            values.put("auther", "老罗");
            values.put("price", 57);
            values.put("pages", 670);
            db.insert("Book", null, values);
db.insert("Book", null, values);


用db调用delete()方法;

db.delete("Book",null ,null);//全部删除了Book表中的数据


把作者为老罗的书的价格改成了70;

ContentValues values2=new ContentValues();
            values2.put("price",70);
            db.update("Book", values2, "auther=?", new String[]{"老罗"});

private List<Book> books=new ArrayList<Book>();

...


Cursor cursor=db.query("Book", null, null, null, null, null, null);
            if (cursor.moveToFirst()) {
                books.clear();
                do {
                    Book book=new Book();
                    String name=cursor.getString(cursor.getColumnIndex("name"));
                    book.setName(name);

                    String auther=cursor.getString(cursor.getColumnIndex("auther"));
                    book.setAuther(auther);
                    double price=cursor.getDouble(cursor.getColumnIndex("price"));
                    book.setPrice(price);
                    int pages=cursor.getInt(cursor.getColumnIndex("pages"));
                    book.setPages(pages);
                    books.add(book);

                } while (cursor.moveToNext()) ;

            }

把Book表中的数据全部读出来;并添加到了一个list集合中;
写了一个Book实体类

public class Book {
    private String name;
    private String auther;
    private int pages;
    private double price;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAuther() {
        return auther;
    }
    public void setAuther(String auther) {
        this.auther = auther;
    }
    public int getPages() {
        return pages;
    }
    public void setPages(int pages) {
        this.pages = pages;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }
    @Override
    public String toString() {
        return "Book [name=" + name + ", auther=" + auther + ", pages=" + pages
                + ", price=" + price + "]";
    }

}
SQLite是一种轻量级的嵌入式数据库管理系统,它是一个开源的、零配置的、无服务器的数据库引擎。下面是SQLite基本操作介绍: 1. 创建数据库:使用SQLite命令行或者SQLite图形化工具,可以创建一个新的数据库文件,例如:`sqlite3 test.db`。 2. 创建表:在数据库中创建表格来存储数据,使用`CREATE TABLE`语句,例如:`CREATE TABLE students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);`。 3. 插入数据:使用`INSERT INTO`语句向表中插入数据,例如:`INSERT INTO students (name, age) VALUES ('Alice', 20);`。 4. 查询数据:使用`SELECT`语句从表中查询数据,例如:`SELECT * FROM students;`。 5. 更新数据:使用`UPDATE`语句更新表中的数据,例如:`UPDATE students SET age = 21 WHERE name = 'Alice';`。 6. 删除数据:使用`DELETE FROM`语句删除表中的数据,例如:`DELETE FROM students WHERE name = 'Alice';`。 7. 查询条件:可以使用`WHERE`子句来添加查询条件,例如:`SELECT * FROM students WHERE age > 18;`。 8. 排序数据:使用`ORDER BY`子句对查询结果进行排序,例如:`SELECT * FROM students ORDER BY age DESC;`。 9. 连接表:使用`JOIN`语句连接多个表进行查询,例如:`SELECT * FROM students JOIN scores ON students.id = scores.student_id;`。 10. 创建索引:使用`CREATE INDEX`语句创建索引来提高查询性能,例如:`CREATE INDEX idx_name ON students (name);`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值