
方法/步骤
首先下载 Navicat for SQLite,下载后解压缩。
运行navicatexe 这个主程序,在左上角点击连接
在d出窗口中输入连接名,选择类型,然后在下面选择数据库文件,或者数据库保存位置。
这样就在指定位置创建了一个Sqlite数据库文件了
SQLite最大的特点在于其数据类型为无数据类型(typelessness)。这意味着可以保存任何类型的数据到所想要保存的任何表的任何列中,无论这列声明的数据类型是什么。虽然在生成表结构的时候,要声明每个域的数据类型,但SQLite并不做任何检查。开发人员要靠自己的程序来控制输入与读出数据的类型。这里有一个例外,就是当主键为整型值时,如果要插入一个非整型值时会产生异常。
虽然,SQLite允许忽略数据类型,但是,仍然建议在Create Table语句中指定数据类型,因为数据类型有利于增强程序的可读性。另外,虽然在插入或读出数据的时候是不区分类型的,但在比较的时候,不同数据类型是有区别的。
1,
"show
tables"
in
sqlite命令行模式schema
抓出数据库中所有的表tables
抓出数据库中所有的表和索引都可以使用LIKE来匹配程序中使用sqlite中的sqlite_master表来查询sqlite_master表结构CREATE
TABLE
sqlite_master
(
type
TEXT,
name
TEXT,
tbl_name
TEXT,
rootpage
INTEGER,
sql
TEXT);查询table,type
段是'table',name段是table的名字,
so:select
name
from
sqlite_master
where
type='table'
order
by
name;查询indices,type段是'index',
name
是index的名字,tbl_name是index所拥有的table的名字2"describe
table"两种方法-cursorexecute("PRAGMA
table_info(tablename)")print
cursorfetchall()--from
sqlite3
import
dbapi2
as
sqlitecurexecute("SELECT
FROM
SomeTable")col_name_list
=
[tuple[0]
for
tuple
in
curdescription]
在eclipse中需要自定义创建表工具类:
比如;
1、写一个DBHelper继承自SQLiteOpenHelper
public class DBHelper extends SQLiteOpenHelper{
//数据库的版本
private final static int DB_VERSION = 1;
//数据库名
private final static String DB_NAME = "ladengdb";
private Context mContext;
//我们直接用super调用父类的构造方法,这样我们在实例化DBHelper的时候只需要传入一个上下文参数就可以了
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
thismContext = 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(Movieclass)返回的是sql建表语句
//dbexecSQL(sql) 执行这条建表语句
dbexecSQL(createTable(Movieclass));
}
/
如果没传表明的话,默认使用类名作为表明
@param clazz 实体类
@return
/
private <T> String createTable(Class<T> clazz){
return createTable(clazz, clazzgetSimpleName());
}
/
真正的建表方法
@param clazz 实体类
@param tableName 表明
@return sql建表语句
/
private <T> String createTable(Class<T> clazz , String tableName){
//实例化一个容器,用来拼接sql语句
StringBuffer sBuffer = new StringBuffer();
//sql语句,第一个字段为_ID 主键自增,这是通用的,所以直接写死
sBufferappend("create table if not exists "+ tableName + " "+
"(_ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,");
//得到实体类中所有的公有属性
Field[] fields = clazzgetFields();
//遍历所有的公有属性
for(Field field : fields){
//如果属性不为_id的话,说明是新的字段
if (!fieldgetName()equals("_id")) {
//得到属性的基本数据类型
String type = fieldgetType()getSimpleName();
//如果是String类型的属性,就把字段类型设置为TEXT
if (typeequals("String")) {
sBufferappend(fieldgetName()+" TEXT,");
//如果是int类型的属性,就把字段类型设置为INTEGER
}else if (typeequals("int")) {
sBufferappend(fieldgetName()+" INTEGER,");
}
}
}
//将最后的逗号删除
sBufferdeleteCharAt(sBufferlength()-1);
//替换成); 表明sql语句结束
sBufferappend(");");
//返回这条sql语句
return sBuffertoString();
}
}
2、Movie实体类,实体类中的属性就是表中的字段
public class Movie {
public String title;
public int rating;
public String year;
public String genre;
public String country;
public int price;
}
3、在MainActivityjava中添加如下代码
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
//实例化我们的DBHelper
DBHelper dbHelper = new DBHelper(this);
//调用了这个方法后,DBHelper中的onCreate才会执行
dbHelpergetReadableDatabase();
}
}
4、创建结果:
可用sql语句。
SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。
语法:
INSERT INTO 语句有两种基本语法,如下所示:INSERT INTO TABLE_NAME (column1, column2, column3,columnN)] VALUES (value1, value2, value3,valueN);
选择开始菜单中→程序→Management sql Server 2008→sql Server Management Studio命令,打开sql Server Management Studio窗口,并使用Windows或 sql Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
test1db是整个数据库文件,而不是一个表,它可以包括多个表 import os osunlink("test1db") 用上面的代码删除test1db文件 如要删除单个表people: conexecute('drop table people')
以上就是关于如何使用sqlite创建数据库全部的内容,包括:如何使用sqlite创建数据库、SQLite里面建立数据库表的时候,没有指定字段类型,则默认是什么类型、在程序里怎么取得sqlite数据库里所有的表名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)