sqlite 创建数据库(如何使用sqlite创建数据库)
本篇文章给大家谈谈sqlite 创建数据库,以及如何使用sqlite创建数据库对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
如何使用sqlite创建数据库
1.首先你需要去下载一个 Navicat for SQLite,怎么下载这里我不多说,你可以去百度搜索。最好下载绿色版。搜索“Navicat for SQLite绿色版”。
2.下载后,右击软件包进行解压缩。
3.下载后双击文件夹,打开文件目录,找到 navicat.exe这个主程序,右击在弹出菜单依次点击【发送到(N)】--->【桌面快捷方式】。
4.这时你的电脑桌面就多了一个 navicat.exe的快捷方式图标,以后需要打开,直接点击这个快捷方式就可以了。
5.双击桌面快捷方式,打开软件,在软件左上角点击【连接】按钮,点击后弹出新建连接对话框。
6.在弹出窗口中输入【连接名】,选择【类型】-然后在下面选择数据库文件,或者数据库保存位置。
7.这样就在你的指定位置创建了一个Sqlite数据库文件了,有了这个数据库文件你可以做任何数据库的操作了。
android stduio用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方法更新语句的时候
如何在Eclipse环境下,使用SQLite数据库中建立多个表
在eclipse中需要自定义创建表工具类:
比如;
1、写一个DBHelper继承自SQLiteOpenHelper
public class DBHelper extends SQLiteOpenHelper{
//数据库的版本
private final static int DB_VERSION= 1;
//数据库名
private final static String DB_NAME="ladeng.db";
private Context mContext;
//我们直接用super调用父类的构造方法,这样我们在实例化DBHelper的时候只需要传入一个上下文参数就可以了
public DBHelper(Context context){
super(context, DB_NAME, null, DB_VERSION);
this.mContext= context;
}
//数据库不存在的时候,调用这个方法
@Override
public void onCreate(SQLiteDatabase db){
createTables(db,0,0);
}
//版本号发生变化的时候,调用这个方法
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
//1.删除原来的表
//2.调用onCreate重新创建数据库
}
/**
*建表语句,只需要一行就能建一个表
*/
private void createTables(SQLiteDatabase db, int oldVersion, int newVersion){
//createTable(Movie.class)返回的是sql建表语句
//db.execSQL(sql)执行这条建表语句
db.execSQL(createTable(Movie.class));
}
/**
*如果没传表明的话,默认使用类名作为表明
*@param clazz实体类
*@return
*/
private<T> String createTable(Class<T> clazz){
return createTable(clazz, clazz.getSimpleName());
}
/**
*真正的建表方法
*@param clazz实体类
*@param tableName表明
*@return sql建表语句
*/
private<T> String createTable(Class<T> clazz, String tableName){
//实例化一个容器,用来拼接sql语句
StringBuffer sBuffer= new StringBuffer();
//sql语句,第一个字段为_ID主键自增,这是通用的,所以直接写死
sBuffer.append("create table if not exists"+ tableName+""+
"(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,");
//得到实体类中所有的公有属性
Field[] fields= clazz.getFields();
//遍历所有的公有属性
for(Field field: fields){
//如果属性不为_id的话,说明是新的字段
if(!field.getName().equals("_id")){
//得到属性的基本数据类型
String type= field.getType().getSimpleName();
//如果是String类型的属性,就把字段类型设置为TEXT
if(type.equals("String")){
sBuffer.append(field.getName()+" TEXT,");
//如果是int类型的属性,就把字段类型设置为INTEGER
}else if(type.equals("int")){
sBuffer.append(field.getName()+" INTEGER,");
}
}
}
//将最后的逗号删除
sBuffer.deleteCharAt(sBuffer.length()-1);
//替换成);表明sql语句结束
sBuffer.append(");");
//返回这条sql语句
return sBuffer.toString();
}
}
2、Movie实体类,实体类中的属性就是表中的字段
public class Movie{
public String title;
public int rating;
public String year;
public String genre;
public String country;
public int price;
}
3、在MainActivity.java中添加如下代码
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化我们的DBHelper
DBHelper dbHelper= new DBHelper(this);
//调用了这个方法后,DBHelper中的onCreate才会执行
dbHelper.getReadableDatabase();
}
}
4、创建结果:
sqlite 创建数据库和如何使用sqlite创建数据库的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!