作者/来源:小睿 发布时间:2019-12-17
数据库有着强大的管理功能和可操作性,SQLite、MySQL与Oracle是比较常用的主流数据库。在程序设计开发过程中,一般直接使用C#的窗体程序与数据库进行连接,那么从C#角度出发,三者数据库有什么特点?
一、同为数据库,定义不同
1)SQLite是什么?
SQLite是嵌入式关系数据库引擎,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。
2)MySQL是什么?
MySQL 是全球最受欢迎的开源数据库,支持经济高效地交付可靠、高性能和可扩展的基于 Web 的和嵌入式数据库应用。
3)Oracle是什么?
Oracle是关系数据库管理系统,系统可移植性好、使用方便、功能强,是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
二、使用用法不同
1、参数
1)SQLiteParameter p = new SQLiteParameter(":project_id", DbType.String);
p.Value = project_id;
2)MySqlParameter p = new MySqlParameter("?project_id", MySqlDbType.VarChar);
p.Value = project_id;
3)OracleParameter p = new OracleParameter(":project_id", OracleDbType.Varchar2);
p.Value = project_id;
2、参数类型
SQLite参数类型通过DbType设置,MySql参数类型通过MySqlDbType设置,Oracle参数类型通过OracleDbType配置爱
1)SQLite参数 :
SQLiteParameter[] p = {
new SQLiteParameter(":project_id", DbType.String),
new SQLiteParameter(":project_name", DbType.String),
new SQLiteParameter(":project_outer_name", DbType.String),
new SQLiteParameter(":project_status", DbType.String),
new SQLiteParameter(":project_type",DbType.String),
new SQLiteParameter(":hardware_platform",DbType.String),
new SQLiteParameter(":platform_model",DbType.String),
new SQLiteParameter(":leader_name",DbType.String)
}
p[0]=project_id;
...
2)MySql参数:
MySqlParameter[] p = {
//MySQL传参格式为:?参数
new MySqlParameter("?project_id", MySqlDbType.VarChar),
new MySqlParameter("?project_name", MySqlDbType.VarChar),
new MySqlParameter("?project_outer_name", MySqlDbType.VarChar),
new MySqlParameter("?project_status", MySqlDbType.VarChar),
new MySqlParameter("?project_type",MySqlDbType.VarChar),
new MySqlParameter("?hardware_platform",MySqlDbType.VarChar),
new MySqlParameter("?platform_model",MySqlDbType.VarChar),
new MySqlParameter("?leader_name",MySqlDbType.VarChar)
}
p[0]=project_id;
...
3)Oracle参数:
OracleParameter[] p = {
new OracleParameter("?project_id", OracleDbType.Varchar2,10),
new OracleParameter("?project_name", OracleDbType.Varchar2),
new OracleParameter("?project_outer_name", OracleDbType.Varchar2),
new OracleParameter("?project_status",OracleDbType.Varchar2),
new OracleParameter("?project_type",OracleDbType.Varchar2),
new OracleParameter("?hardware_platform",OracleDbType.Varchar2),
new OracleParameter("?platform_model",OracleDbType.Varchar2),
new OracleParameter("?leader_name",OracleDbType.Varchar2)
};
p[0]=project_id;
...
三、应用场景不同
1)SQLite
SQLite它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。这款数据库的运行处理速度比Mysql、PostgreSQL这两款都要快。
2)MySQL
MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
3)Oracle
Oracle作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。