SQLite中的建表

说明

面向的是完全没数据库基础的自己

创建表(create a table)

先来看看SQL中的建表语句:

1
2
3
4
5
6
create table TableName (
id integer ,
author text,
price real,
pages integer,
name text)

括号里面里面每组是代表一个数据的一项,左端是键名(id,author等),右边的是基本数据类型,text是文本字符串,integer是带符号的整数,real是浮点数。
括号外面已经很明显了,表示创建名为TableName的表。

而把建表语句转换成字符串后就是这样(其实是简单的字符串拼接):

1
2
3
4
5
6
final String CREATE_TABLE = "create table TableName ("+
"id integer ,"+
"author text,"+
"price real,"+
"pages integer,"+
"name text)";

下面的代码展示了如何利用button监听来创建表:

1
2
3
4
button2.setOnClickListener(v ->{
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.execSQL(CREATE_TABLE);
});

这样当你点了按钮之后数据库就会多出来一个名为TableName的表。但是如果你第二次点击时应用会闪退,,,因为这个表已经存在,再次点击会发生冲突,解决方法很简单,把create table TableName改成create table if not exists TableName即可。这就是一个完整的建表过程。