当前位置:首页 » 安卓系统 » android数据库建表

android数据库建表

发布时间: 2023-02-19 20:49:39

⑴ android bmob数据库好友表怎么建

public class DBOpenHelper extends sqliteOpenHelper {
private static final String DATABASENAME = "test.db"; //数据库名称
private static final int DATABASEVERSION = 1;//数据库版本,大于0

public DBOpenHelper(Context context) {
super(context, DATABASENAME, null, DATABASEVERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person

db.execSQL("CREATE TABLE peson2(personid integer primary key autoincrement, name varchar(20), amount integer)");//创建表 person2
}
}
这个是Android默认的数据库操作类,可以可以获得数据库操作对象,第一次使用时会调用onCreate方法,创建表格。第二次进行将不会被重复调用。

⑵ android 数据库建好后,怎么建表

SQLite 创建表
下面是教程来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。
语法
CREATE TABLE 语句的基本语法如下:
CREATE TABLE database_name.table_name(
column1 datatype PRIMARY KEY(one or more columns),
column2 datatype,
column3 datatype,
.....
columnN datatype,
);

CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识。您也可以选择指定带有table_name 的 database_name。
实例
下面是一个实例,它创建了一个 COMPANY 表,ID 作为主键,NOT NULL 的约束表示在表中创建纪录时这些字段不能为 NULL:
sqlite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

让我们再创建一个表,我们将在随后章节的练习中使用:
sqlite> CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);

您可以使用 SQLIte 命令中的 .tables 命令来验证表是否已成功创建,该命令用于列出附加数据库中的所有表。
sqlite>.tables
COMPANY DEPARTMENT

在这里,可以看到我们刚创建的两张表 COMPANY、 DEPARTMENT。
您可以使用 SQLite .schema 命令得到表的完整信息,如下所示:
sqlite>.schema COMPANY
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);

⑶ android数据库建表不成功 database里的数据库里没有我建的表 求解决呀

你创建第一个gettogetherword对象时,会建一个表,再创建第二个的时候不管你的表删没删都不会再创建了,除非你删除数据库,那样才会建新表。可能是你删了表吧,第一次应该会建的。

你先删除数据库,然后debug跟踪一下看看有没有执行建表语句。

我有一个疑问就是你在哪里看到的数据库,是一个名字为note的文件吗?我这里有表在里面啊,如果看到数据库应该是有表的,如果建表语句有问题会报错的。我觉得你应该没有打开数据库,你在创建gettogetherword对象语句后紧跟一句SQLiteDatabase myDB=DBHelper.getWritableDatabase();试试。

⑷ android 怎么往数据库里面添加数据

一、引入
数据库创建的问题解决了,接下来就该使用数据库实现应用程序功能的时候了。基
本的操作包括创建、读取、更新、删除,即我们通常说的 CRUD(Create, Read, Update, Delete)。
在实现这些操作的时候,我们会使用到两个比较重要的类 SQLiteDatabase 类和 Cursor 类。

二、创建表
1,execSQL(String sql):执行一条 sql 语句,且执行操作不能为 SELECT
因为它的返回值为 void,所以推荐使用 insert、update 方法等
2.,execSQL (String sql,Object[] bindArgs)
sql:执行一条 sql 语句
bindArgs:为 sql 语句中的?赋值

三、添加数据
1、execSQL(String sql)
2、使用对象的 insert 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
db.insert(TABLE_NAME, null, values);
参数:
table:数据库中的表名
nullColumnHack:指定默认插入字段,为 null 时能插入数据
values:表示插入字段所对应的值,使用 put 方法。

四、删除数据
1、execSQL(String sql)
2、使用对象的 delete 方法
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(id)};
//db.delete(TABLE_NAME, "_id="+id, null);
db.delete(TABLE_NAME, whereClaues, whereArgs);
参数
table:数据库的表名
whereClause:where 子句,比如:_id=?
whereArgs:where 子句中?的值

五、修改数据
1、execSQL(String sql)
2、使用对象的 delete 方法
ContentValues values = new ContentValues();
values.put(USERNAME, user.getUsername());
values.put(PASSWORD, user.getPassword());
String whereClaues="_id=?";
String [] whereArgs={String.valueOf(user.getId())};
db.update(TABLE_NAME, values, whereClaues, whereArgs);
参数
table:数据库的表名
values:代表要修改的值,修改方法还是 put(key,values)
whereClause:条件子句,比如 id=?,name=?
whereArgs:为 whereClause 中的?赋值,比如:new String[]{"1","张三"}

图:

参考代码:

程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作

1.自己写个类继承SQLiteOpenHelper,重写以下3个方法

publicvoidonCreate(SQLiteDatabasedb)

{//创建数据库时的操作,如建表}

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)

{

//版本更新的操作

}

2.通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。

3.对得到的SQLiteDatabase对象进行增,改,删,查等操作。

代码

packagecx.myNote;

importandroid.content.ContentValues;

importandroid.content.Context;

importandroid.content.Intent;

importandroid.database.Cursor;

importandroid.database.sqlite.SQLiteDatabase;

importandroid.database.sqlite.SQLiteOpenHelper;

//DBOptionsforlogin

publicclassDBOptions{

privatestaticfinalStringDB_NAME="notes.db";

privatestaticfinalStringDB_CREATE="createtablelogininf(nametext,pwdtext)";

{

publicDBHelper(Contextcontext){

super(context,DB_NAME,null,1);

}

@Override

publicvoidonCreate(SQLiteDatabasedb){

//TODOAuto-generatedmethodstub

//建表

db.execSQL(DB_CREATE);

}

@Override

publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){

//TODOAuto-generatedmethodstub

db.execSQL("droptableifexistslogininf");

onCreate(db);

}

}

privateContextcontext;

privateSQLiteDatabasedb;

privateDBHelperdbHelper;

publicDBOptions(Contextcontext)

{

this.context=context;

dbHelper=newDBHelper(context);

db=dbHelper.getReadableDatabase();

}

//自己写的方法,对数据库进行操作

publicStringgetName()

{

Cursorcursor=db.rawQuery("selectnamefromlogininf",null);

cursor.moveToFirst();

returncursor.getString(0);

}

publicintchangePWD(StringoldP,Stringpwd)

{

ContentValuesvalues=newContentValues();

values.put("pwd",pwd);

returndb.update("logininf",values,"pwd="+oldP,null);

}

}


insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据

⑸ 如何在android自带的sqlite3中创建一个数据库文件,请大虾门详细指导

Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。
SQLite:
(1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。
(3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cv.put(key,value);然后调用sqliteDatabase对象的
insert(tableName,null,cv)方法插入数据。
(4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。
(5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。
(6)关闭数据库sqliteDatabase.close();
(7)删除指定表调用SQL语句即可。
(8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如cur.moveToFirst();cur.moveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库操作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。

⑹ Android中在数据库建表总是提示失败是怎么回事

android数据库,只在第一次调用getWritableDatabase();或者getReadableDatabase();时候才会创建数据库,
@Override
public
void
onCreate(SQLiteDatabase
db)
{}
方法,如果创建报错的话,请检查sql语句是否正解,或者用sqltie编辑器在电脑上执行看看是否语法问题

⑺ androidstudio 怎么创建sqlite数据表

1.使用intelij idea创建一个andorid项目

2.创建如下工具类:
MyDBHelper.java
package com.amos.android_database;

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

/**
* Created by amosli on 14-6-10.
*/
public class MyDBHelper extends SQLiteOpenHelper{
/**
* 创建数据库的构造方法
* @param context 应用程序上下文
* name 数据库的名字
* factory 查询数据库的游标工厂一般情况下用sdk默认的
* version 数据库的版本一般大于0
*/
public MyDBHelper(Context context) {
super(context, "test.db", null, 4);
}
private String tag = "MyDBHelper.class";
/**
* 在数据库第一次创建时会执行
* @param db
*/
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(tag,"onCreate.....");
//创建一个数据库
db.execSQL("create table person (personid integer primary key autoincrement ,name varchar(30) )");

}

/**
* 更新数据的时候调用的方法
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d(tag,"onUpgrade*******");
//增加一列
db.execSQL("alter table person add phone varchar(13) null");

}
}

MyActivity.java
package com.amos.android_database;

import android.app.Activity;
import android.os.Bundle;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyDBHelper myDBHelper = new MyDBHelper(this);
myDBHelper.getReadableDatabase();
myDBHelper.close();

}
}

3.打开生成的test.db
1).下载安装SQLiteStudio(SQLite的可视化工具)
下载地址:http://www.sqlitestudio.pl/
安装:
chmod 777 sqlitestudio-2.1.5.bin

./sqlitestudio-2.1.5.bin

执行上面的linux命令,第一句是赋权限,第二句是打开工具
2)从avd中导出test.db

打开DDMS,从data/data/com.amos.andriod_database/databases下导出test.db
3).用sqlitestudio打开test.db
添加数据库

选择test.db

执行onCreate方法时创建的person表

执行onUpgrade方法更新语句的时候

⑻ android中的数据库怎么去写如何建表,希望有具体代码参考啊!

android 中的数据库操作 android 中的应用开发很难避免不去使用数据库, 聊聊 android 中的数据 库操作,我发给你 word 贴不下
一、android 内的数据库的基础知识介绍
1.用了什么数据库
android 中采用的数据库是 SQLite 这个轻量级的嵌入式开源数据库,它是用 c 语言构建的。相关简介可以从链接查看。
2.数据库基本知识观花
对于一些和我一样还没有真正系统学习数据库技术的同学来说,把 SQL92 标 准中的一些基本概念、基本语句快速的了解一下,是很有必要的,这样待会用 Android 的 database 相关方法去执行一些数据库语句时就不会茫然了。
①数据库的基本结构——表格
表格是数据库中储存资料的基本架构。表格被分为栏位 (column) 及列位 (row)。每 一列代表一笔资料,而每一栏代表一笔资料的一部份。举例来说,如果我们有一个记载顾客 资料的表格,那栏位就有可能包括姓、名、地址、城市、国家、生日..等等。每一个表格 . 拥有一个独一无二的名字(Table Name)以便能够让用户定位到它上面。一个典型的表格结 构如下:
Store_Information 表格
store_name Sales Date Los Angeles $1500 Jan-05-1999 San Diego $250 Jan-07-1999 Los Angeles $300 Jan-08-1999 Boston $700 Jan-08-1999 该表格的表格名字为 Store_Information, 一共有三个栏位, 分别为 store_name , Sales , Data , 已经录入了四笔数据所以有四个列位。
②关于数据类型
和其他的数据库不同的是,sqlite 是无类型的。也就是当你创建一个表格时,无需对 每一个栏位要存储的数据的类型进行声明,当你在给表格增加数据条目时,sqlite 会自动找 到存入的数据的类型。
SQLite 允许忽略数据类型,但是,仍然建议在 Create Table 语句中指定数据类型, 因为数据类型有利于增强程序的可读性。SQLite 支持常见的数据类型,如 VARCHAR、 NVARCHAR、TEXT、INTEGER、FLOAT、BOOLEAN、CLOB、BLOB、TIMESTAMP、 NUMERIC、VARYING、CHARACTER、NATl0NAI, VARYINGCHARACTER。这些数据类 型都是 SQL92 标准中规定的标准数据库数据类型,想要有更近一步了解,请参看下表。
SQL 数据库数据类型详解 数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是 0、1 或空值。这种数据类型用于存储只有两 种可能值的数据,如 Yes 或 No、True 或 Fa lse 、On 或 Off int 整型 int 数据类型可以存储从- 231(-2147483648)到 231 (2147483 647)之间的整数。存 储到数据库的几乎所有数值型的数据都可以用这种数据类型。 这种数据类型在数据库里占用 4 个字节 smallint 整型 smallint 数据类型可以存储从- 215(-32768)到 215(32767)之间的整数。这种 数据类型对存储一些常限定在特定范围内的数值型数据非常有用。 这种数据类型在数据库里 占用 2 字节空间 tinyint 整型 tinyint 数据类型能存储从 0 到 255 之间的整数。 它在你只打算存储有限数目 的数值时很有用。 这种数据类型在数据库中占用 1 个字节 numeric 精确数值型 numeric 数据类型与 decimal 型相同 decimal 精确数值型 decimal 数据类型能用来存储从-1038-1 到 1038-1 的固定精度和范围 的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储

⑼ Android编程中如何在一个SQLite数据库创建两个表

完全可以的.

SQLiteDatabase.insert(String
table, String
nullColumnHack, ContentValues
values)

db的插入,查询,删除函数的第一个参数就是table_name,就可以对指定的表进行操作

热点内容
少女前线防检测脚本 发布:2025-05-16 08:59:07 浏览:728
编译器对系统的依赖 发布:2025-05-16 08:37:29 浏览:711
javamap数组 发布:2025-05-16 08:37:28 浏览:451
移动光猫如何自行修改密码 发布:2025-05-16 08:20:15 浏览:124
作为基线存储 发布:2025-05-16 08:15:22 浏览:858
安卓怎么关闭手机应用推荐 发布:2025-05-16 08:03:38 浏览:929
sql内置函数 发布:2025-05-16 08:03:34 浏览:923
怎么看服务器内存型号 发布:2025-05-16 08:03:30 浏览:813
哪里修安卓手机最好 发布:2025-05-16 07:58:25 浏览:825
服务器和电脑是什么区别 发布:2025-05-16 07:58:24 浏览:720