db.execSQL("CREATE TABLE table1 (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);"); // 创建第二个数据表 db.execSQL("CREATE TABLE table2 (id INTEGER PRIMARY KEY AUTOINCREMENT, address TEXT, phone TEXT);");是什么意思
时间: 2023-05-25 07:06:23 浏览: 67
这段代码使用SQL语句在数据库中创建了两个数据表:table1和table2。table1包含id、name、age三个字段,其中id为主键且自动递增;table2包含id、address、phone三个字段,其中id为主键且自动递增。创建好的数据表将会在数据库中保存。
相关问题
Android studio分别使用手动建库和代码建库的方式创建名为test.db的数据库,并建立据表,给出代码以及注释
手动建库方式:
1. 在Android项目的app文件夹下新建assets文件夹
2. 在assets文件夹下新建一个空的test.db文件
3. 下载SQLite Expert Personal,创建一个名为test.db的数据库文件,并在其中创建一个名为test_table的表,表中包含id、name、age三个字段(注意id字段需要设置为主键,且自增长)
4. 将SQLite Expert Personal中的test.db文件复制到app/src/main/assets/目录下
5. 在需要使用数据库的Activity中使用以下代码:
```
// 打开test.db文件,创建或打开数据库
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(getFilesDir().getAbsolutePath()+"/test.db", null);
// 使用SQL语句创建test_table表
String createTableSql = "CREATE TABLE IF NOT EXISTS test_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age INTEGER)";
db.execSQL(createTableSql);
```
代码建库方式:
1. 在需要使用数据库的Activity中使用以下代码:
```
// 创建或打开test.db数据库
SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
// 使用SQL语句创建test_table表
String createTableSql = "CREATE TABLE IF NOT EXISTS test_table (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), age INTEGER)";
db.execSQL(createTableSql);
```
注:代码建库方式会在/data/data/包名/databases/目录下创建test.db文件,若需要在assets文件夹中预置数据库文件,则需将assets中的test.db文件复制到/data/data/包名/databases/目录下。
简单叙述数据库调用的执行流程,并使用代码描述(10分) 1、数据库(test.db)创建过程; 2、Person表创建过程,字段包括:id(整型,自增,主键),name(64个字符),age(整型),gender(布尔型),height(浮点型); 3、插入一条记录并查询记录代码。
数据库调用的执行流程通常包括以下几个步骤:
1. 创建或打开数据库:通过SQLiteOpenHelper或SQLiteDatabase类创建或打开数据库。
2. 创建数据表:通过SQLiteDatabase类的execSQL()方法执行CREATE TABLE语句创建数据表。
3. 插入数据:通过SQLiteDatabase类的insert()方法插入数据。
4. 查询数据:通过SQLiteDatabase类的query()方法查询数据。
下面是一个简单的示例代码,演示了如何创建数据库和表,以及插入和查询数据:
```java
// 创建或打开数据库
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(context.getDatabasePath("test.db"), null);
// 创建Person表
String createTable = "CREATE TABLE IF NOT EXISTS Person ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER,"
+ "gender INTEGER,"
+ "height REAL"
+ ")";
db.execSQL(createTable);
// 插入一条记录
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 20);
values.put("gender", 1);
values.put("height", 1.80);
db.insert("Person", null, values);
// 查询记录
Cursor cursor = db.query("Person", null, null, null, null, null, null);
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
int gender = cursor.getInt(cursor.getColumnIndex("gender"));
float height = cursor.getFloat(cursor.getColumnIndex("height"));
Log.d(TAG, "id: " + id + ", name: " + name + ", age: " + age + ", gender: " + gender + ", height: " + height);
}
// 关闭数据库
cursor.close();
db.close();
```
上述代码中,首先通过SQLiteDatabase.openOrCreateDatabase()方法创建或打开数据库,并通过execSQL()方法执行CREATE TABLE语句创建Person表。然后通过ContentValues对象插入一条记录,最后通过query()方法查询记录,并通过Cursor对象遍历结果集获取数据。最后,关闭数据库和Cursor对象释放资源。