数据库
操作
四大类型
1数据
查询(DQL) 语言 基本构成 SELECT FROM WHERE 这些语句构成
2数据
操纵(DML ) 语言 基本构成 INSERT UPDATE DELETE
3数据
定义(DDL) 语言 基本构成 CREATE TABLE VIEW 表的创建 ,属性定义
4数据
控制 (DCL) 语言 主要时对数据库 进行检测 管理(授权,回滚(
SQL>ROLLBACK;),提交数据(
COMMIT [WORK]));
提交方式:1 显式提交:
用COMMIT命令直接完成的提交为显式提交。其格式为:SQL>COMMIT;
2 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,
QUIT,REVOKE,RENAME。
3 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。
SQL>SET AUTOCOMMIT ON;
补充 数据库类型:
(2)
非关系型数据库主要有:
NoSql、Cloudant、MongoDb、redis、HBase等等。
非关系型数据库的优势:
1、性能高:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。
2、可扩展性好:同样也是因为
道
基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
关系型数据库的优势:
1、可以复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。
2、事务支持良好:使得对于安全性能很高的数据访问要求得以实现。
Android 如何导入外部数据库
public class
DBManager {
private final int
BUFFER_SIZE
=
400000
;
// public static final String DB_NAME = "countries.db";
public static final
String
DB_NAME
=
"cpcz.db"
;
public static final
String
PACKAGE_NAME
=
"com.blue.cameraxdemo"
;
public static final
String
DB_PATH
=
"/data"
+ Environment.
getDataDirectory
().getAbsolutePath() +
"/"
+
PACKAGE_NAME
;
private
SQLiteDatabase
database
;
private
Context
context
;
public
DBManager(Context context) {
this
.
context
= context;
}
public void
openDatabase() {
this
.
database
=
this
.openDatabase(
DB_PATH
+
"/"
+
DB_NAME
);
}
private
SQLiteDatabase openDatabase(String dbfile) {
try
{
if
(!(
new
File(dbfile).exists())) {
InputStream is =
this
.
context
.getResources().openRawResource(
R.raw.
cpcz
);
FileOutputStream fos =
new
FileOutputStream(dbfile);
byte
[] buffer =
new byte
[
BUFFER_SIZE
];
int
count =
0
;
while
((count = is.read(buffer)) >
0
) {
fos.write(buffer,
0
, count);
}
fos.close();
is.close();
}
SQLiteDatabase db = SQLiteDatabase.
openOrCreateDatabase
(dbfile,
null
);
Cursor cursor=db.query(
"kincai_address_province"
,
null
,
null
,
null
,
null
,
null
,
null
);
int
i=
0
;
while
(cursor.moveToNext()){
Log.
v
(
"TAG"
,
"列表名: "
+ Arrays.
toString
(cursor.getColumnNames())+cursor.getString(cursor.getColumnIndex(
"province_name"
)));
i++;
}
return
db;
}
catch
(FileNotFoundException e) {
Log.
e
(
"Database"
,
"File not found"
);
e.printStackTrace();
}
catch
(IOException e) {
Log.
e
(
"Database"
,
"IO exception"
);
e.printStackTrace();
}
return null
;
}
//do something else here
public void
closeDatabase() {
this
.
database
.close();
}
}