分类
大小:14.0M更新:2018-10-17
类别:数据库类系统:WinAll,Win7
SqliteStudio是一款 Sqlite数据库可视化工具,是使用Sqlite数据库开发应用的必备软件,软件无需安装,下载后解压即可使用,很小巧但很了用,绿色中文版本。比起其它SQLite管理工具,我喜欢用这个。很方便易用,不用安装的单个可执行文件,支持中文。
SQLiteStudio 是一个跨平台的 SQLite 数据库的管理工具,采用 Tcl 语言开发。
功能完善的sqlite2和sqlite3工具,视图编码支持utf8。
支持导出数据格式:csv、html、plain、sql、xml,
可同时打开多个数据库文件
支持查看和编辑二进制字段
使用“sqlitestudio”打开(也可以使用其它sqlite可视化工具,个人习惯使用该工具,多语言小巧无需安装)
1、打开sqlitestudio ”数据库“-”添加数据库“
2、选择导出的那个数据库文件直接打开即可。
3、在sqlitestudio 可以创建和修改表也可以执行SQL语句基本可以满足常用需求
在sqlitestudio 导出表数据直接右键”导出表“ 默认格式CSV文件
4、导入表数据:
右键表名“import data to table”
1. 准备SQLite database文件
假设你已经创建了一个sqlite数据库,我们需要对其进行一些修改。
(译者注:这里原文是推荐了一个SQLite数据库管理软件,这个我觉得可以随自己的喜好,最Windows下面有多款可视化的SQlite数据库管理软件,可以方便的读取,编辑数据库,例如我用的是sqlitestudio
打开数据库,添加一个新的table “android_metadata",插入一行数据,具体的SQL如下:
[sql] view plaincopyprint?在CODE上查看代码片派生到我的代码片
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US')
INSERT INTO "android_metadata" VALUES ('en_US')
(译者注:上面两行是表明需要进行的操作,具体可以直接在sqlitesstudio中完成)
然后你需要对你数据表格的primary id 列重命名为 “_id”,这样Adroid会知道怎么对id列进行绑定,你可以很容易的在SQlite数据库管理软件中进行列编辑。
这两步之后,你的sqlite数据库文件就准备好了。
(译者注:这里我保留了id列,即没有对其进行重命名,测试证明也是没有问题的)
2. 在你的Android程序中复制,打开以及访问数据库
现在把你上一步准备好的数据库文件放在“assets”文件夹下面,然后通过继承 SQLiteOpenHelper类来创建一个Database Helper类,
你的DataBaseHelper类大致可以如下:
public class DataBaseHelper extends SQLiteOpenHelper{
//The Android's default system path of your application database.
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/";
private static String DB_NAME = "myDBName";
private SQLiteDatabase myDataBase;
private final Context myContext;
/**
* Constructor
* Takes and keeps a reference of the passed context in order to access to the application assets and resources.
* @param context
*/
public DataBaseHelper(Context context) {
super(context, DB_NAME, null, 1);
this.myContext = context;
}
/**
* Creates a empty database on the system and rewrites it with your own database.
* */
public void createDataBase() throws IOException{
boolean dbExist = checkDataBase();
if(dbExist){
//do nothing - database already exist
}else{
//By calling this method and empty database will be created into the default system path
//of your application so we are gonna be able to overwrite that database with our database.
this.getReadableDatabase();
try {
copyDataBase();
} catch (IOException e) {
throw new Error("Error copying database");
}
}
}
/**
* Check if the database already exist to avoid re-copying the file each time you open the application.
* @return true if it exists, false if it doesn't
*/
private boolean checkDataBase(){
SQLiteDatabase checkDB = null;
try{
String myPath = DB_PATH + DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
//database does't exist yet.
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
/**
* Copies your database from your local assets-folder to the just created empty database in the
* system folder, from where it can be accessed and handled.
* This is done by transfering bytestream.
* */
private void copyDataBase() throws IOException{
//Open your local db as the input stream
InputStream myInput = myContext.getAssets().open(DB_NAME);
// Path to the just created empty db
String outFileName = DB_PATH + DB_NAME;
//Open the empty db as the output stream
OutputStream myOutput = new FileOutputStream(outFileName);
//transfer bytes from the inputfile to the outputfile
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
//Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
public void openDataBase() throws SQLException{
//Open the database
String myPath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}
@Override
public synchronized void close() {
if(myDataBase != null)
myDataBase.close();
super.close();
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
// Add your public helper methods to access and get content from the database.
// You could return cursors by doing "return myDataBase.query(....)" so it'd be easy
// to you to create adapters for your views.
}
就这样。
现在你可以创建一个新的DataBaseHelper实例,然后调用createDataBase(),然后再调用openDataBase()方法,记住修改DB_PATH字符串中“YOUR_PACKAGE”为你真正的package名称(也就是说com.examplename.myapp)
以下是示范代码:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
...
DataBaseHelper myDbHelper = new DataBaseHelper();
myDbHelper = new DataBaseHelper(this);
try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
myDbHelper.openDataBase();
}catch(SQLException sqle){
throw sqle;
}
...
数据库管理工具(QLite Expert Pro)数据库类Mv5.3.5.474便携版
查看数据库管理(Flowerfire Sawmill Enterprise)数据库类Mv8.8.1.1免费版
查看数据库文档工具(Dataedo)数据库类Mv7.3.0免费版
查看数据库比较同步工具(SQL Compare)数据库类M10.4.8.87 完整版
查看RazorSQL(64-bit)数据库类M6.3.23 特别版
查看SSW SQL Total Compare数据库类Mv5.14 官方版
查看纯真IP地址数据库数据库类Mv2.2.0最新版
查看ssh框架常用jar包数据库类M
查看Microsoft SQL Server JDBC驱动数据库类Mv4.2官方版
查看数据库同步(SyncNavigator)数据库类Mv8.6.2 中文版
查看Sqlite数据库管理(SQLite Developer)数据库类Mv4.0.0.528 中文破解版
查看SQLite3数据库类M3.17.0 绿色版
查看Oracle 11g Release 2(甲骨文数据库 11g 第2版)数据库类Mfor windows x86
查看数据库文件转换工具(DBConvert for JSON and SQL)数据库类Mv1.0免费版
查看Anaconda数据库类Mv5.1 官方最新版
查看数据库管理工具Webyog SQLYog Ultimate数据库类M12.5.1 x64 绿色版
查看DMSoft DBConvert for Access and MySQL(数据转换工具)数据库类Mv8.3.8 PC版
查看秋天Sql命令字符转换工具数据库类.21Mv1.0免费版
查看TablePlus windows版数据库类Mv1.0.0.0 官方最新版
查看dotConnect Universal Standard通用存取不同数据库数据库类MV3.60.1003官方免费版
查看Access转MySQL工具(Bullzip MS Access To MySQL)数据库类Mv5.5.0.282官方版
查看BDE Installation数据库类M15.0.0.0 官方最新版
查看sql data generator数据库类M1.2 特别版
查看Alluxio分布式存储系统数据库类Mv1.4.0
查看点击查看更多