目录
一、sql语句
1、CREATE TABLE - 创建表
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
)
数据类型 | 描述 |
---|---|
NULL | 空值 |
INTEGER | 整数 |
BIGINT | 大整数 |
REAL | 浮点数 |
TEXT | 字符串 |
BLOB | 大数据 |
BOOLEAN | 布尔值 |
2、DROP TABLE - 删除表
//如果表books存在,则删除
DROP TABLE IF EXISTS books
3、ALTER TABLE - 变更表
//在表最后追加列
ALTER TABLE 表名 ADD 列名称 数据类型
//更改表名
ALTER TABLE 表名 RENAME TO 新表名
4、INSERT INTO - 向表中插入新数据
//将表2中的数据插入到表1中
INSERT INTO 表1名 SELECT * FROM 表2名
//将表2中的指定列插入到表1中
INSERT INTO 表1名 SELECT 列名称1,列名称2,… FROM 表2名
二、使用步骤
1、编写一个类,继承SQLiteOpenHelper
2、得到SQLiteDatabase对象(数据库创建成功)
3、做相应的增删改查操作
三、创建数据库
Android提供了一个SQLiteOpenHelper帮助类,借助这个类可以非常简单地对数据库进行创建和升级。
SQLiteOpenHelper中还有两个非常重要的实例方法:
getReadableDatabase()和getWritableDatabase()。
这两个方法都可以创建或打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。
不同的是,当数据库不可写入的时候,getReadableDatabase()方法返回的对象将以只读的方式去打开数据库,而getWritableDatabase()方法则将出现异常。
public class MyDatabaseHelper extends SQLiteOpenHelper {
//数据库文件名
static final String DATABASE_NAME = "book.db";
//数据库表名
static final String TABLE_NAME = "books";
//数据库版本号
private static final int DATABASE_VERSION = 1;
public static final String CREATE_BOOK = "CREATE TABLE " + TABLE_NAME
+ "(id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "author TEXT,"
+ "price REAL,"
+ "name TEXT)";
public MyDatabaseHelper(@Nullable Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
private void createTable(SQLiteDatabase db) {
//创建表
db.execSQL(CREATE_BOOK);
}
@Override
public void onCreate(SQLiteDatabase db) {
createTable(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
增加一个按钮,用来创建数据库
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/bt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:text="创建表"/>
</LinearLayout>
数据库创建成功
public class MainActivity extends AppCompatActivity {
private Button bt1;