目录
文章目录
一、前言
二、它们的区别
1、主要的区别
2、驱动连接方面的区别
on / MySQL连接驱动
two / SQL Server连接驱动
三、展示 MySQL 和 SQL server 连接方式
1、MySQL驱动连接
on / MySQL5版本
two / MySQL8版本
2、SQL Server驱动连接
总结
文章目录
一、前言
MySQL和SQL Server在驱动连接方面有一些不同以及MySQL和SQL Server主要的区别有哪些。这篇文章就讲一下它们之间到底有哪些区别以及附上它们的几种驱动连接方法。
二、它们的区别
1、主要的区别
它们之间的主要的区别,我已经整理出来,请看下面:
- 语言和平台的支持:MySQL使用C和”C++”语言编写的,支持多种系统操作,如Windows、Linux、Mac OS等等;而SQL Server则不同,它是使用Transact-SQL(T-SQL)语言,主要支持Windows操作系统。
- 性能和稳定性:MySQL具有较高的性能和稳定性,支持高并发性,能够处理大量数据;而SQL Server在处理大量数据时可能会遇到性能问题。
- 数据库容量:MySQL的数据库容量较小,适合中小型应用程序;而SQL Server的数据库容量较大,适合大型企业级应用程序。
- 存储引擎:MySQL支持多种存储引擎,如InnoDB、MyISAM等;而SQL Server使用自家的Microsoft SQL Server引擎。
- 语法和兼容性:MySQL与Microsoft SQL Server的语法有所不同,且它们不直接兼容。但是,可以使用ODBC或JDBC等中间件来连接这两种数据库。
- 安全性:MySQL和SQL Server都提供了较高的安全性,包括用户权限、视图、触发器和数据加密等功能。
- 社区支持:MySQL拥有一个庞大的社区支持,包括官方和第三方开发者、文档和论坛等;而SQL Server主要受到Microsoft官方支持,虽然也有第三方文档和论坛,但规模相对较小。
总之,我个人觉得各有各的优势和适用的场景,我们开发者需要根据实际需求选择合适的数据库
对了,我在这顺便解释一下什么是Transact-SQL(T-SQL)语言:
Transact-SQL(简称T-SQL)是SQL Server中使用的SQL语言。它是结构化查询语言(SQL)的改进版本,支持更多的新功能和语法。T-SQL是一种面向对象的编程语言,可以用于创建数据库、表、视图、存储过程、触发器和约束等,并与数据库进行交互。
T-SQL与标准SQL相比,主要区别在于支持Windows操作系统的特定功能。例如,T-SQL中的CREATE USER命令允许创建Windows用户,而标准SQL则不支持。此外,T-SQL是一种编译型语言,它在运行时将代码编译为本机代码,以提高性能和安全性。
T-SQL的主要功能包括:
- 数据定义:创建、修改和管理数据库的对象,如表、视图、存储过程和约束等。
- 数据操作:插入、更新和删除数据,支持事务和并发处理。
- 数据查询:支持聚合、分组、排序和限制查询结果等高级查询功能。
- 对象创建和管理:创建和管理存储过程、触发器和函数等对象。
- 系统管理:监控和管理数据库和表的空间、文件和文件组等。
- 安全性:创建和管理用户、角色和权限,支持加密和数据安全性。
T-SQL的语法和命令与其他SQL语言(如MySQL和Oracle)略有不同,因此需要了解不同语言的语法和命令。
上面这些呢,(⊙o⊙)…是我在网上了解后,收集的一些资料,整理后的笔记,分享给大家!
2、驱动连接方面的区别
on / MySQL连接驱动
- JDBC(Java Database Connectivity)驱动:MySQL提供了官方的JDBC驱动,称为MySQL Connector/J。可以从MySQL官方网站下载并配置该驱动,以在Java应用程序中连接和操作作MySQL数据库。
- ODBC(Open Database Connectivity)驱动:MySQL还提供了ODBC驱动,称为MySQL Connector/ODBC。该驱动允许在支持ODBC标准的应用程序中连接和操作MySQL数据库。
- 其他语言驱动:MySQL也提供了其他编程语言的驱动,如Python的MySQL Connector/Python和.NET的MySQL Connector/NET。
two / SQL Server连接驱动
- JDBC驱动:Microsoft提供了官方的JDBC驱动,称为Microsoft JDBC Driver for SQL Server。可以从Microsoft官方网站下载并配置该驱动,以在Java应用程序中连接和操作作SQL Server数据库。
- ODBC驱动:SQL Server也提供了ODBC驱动,称为Microsoft ODBC Driver for SQL Server。该驱动允许在支持ODBC标准的应用程序中连接和操作SQL Server数据库。
- ADO.NET驱动:针对.NET开发,可以使用Microsoft提供的ADO.NET驱动,称为Microsoft.Data.SqlClient。这是连接和操作SQL Server数据库的首选驱动。
总之,无论是连接MySQL 还是SQL Server,选择合适的驱动取决于你所使用得编程语言和开发环境。在使用这些驱动时,需要的条件有:‘正确字符串、主机名(或者IP地址)、端口号、数据库名称、以及你的登录数据(账号、密码)等信息建立与数据库的连接’
三、展示 MySQL 和 SQL server 连接方式
注意:要先有数据库,还有配置一下环境、这个就不多说了,都懂!不懂的在我们CSDN找教程哈!
还有还有,就是配置相关的驱动Jar包,比如MySQL要配置相关的驱动Jar包、SQL Server也要配置相关的Jar包;这里就不讲那些怎么配置、怎么下载jar包什么的!我们直奔主题。
1、MySQL驱动连接
首先,这里先展示MySQL的驱动连接吧!我展示两种版本的连接方式吧!
留意
包名不同:在8.0版本之前,比如5.0版本,连接数据库时,驱动包名是com.mysql.jdbc.Driver而在8.0之后改变成com.mysql.cj.jdbc.Driver,多了 .CJ 所以在使用不同版本的jar包时应该注意不同的包名。
连接协议(URL):根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果不设置显式选项,则必须建立默认的SSL连接。需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任存储。所以在建立连接时应该是:jdbc:mysql://localhost:3306/数据库名?useSSL=flase
设置时区:java数据保存到数据库时,与数据库时间不一致。可能原因是java数据库连接使用UTC时区(世界标准时间),即serverTimezone=UTC:所以在建立连接时应该是jdbc:mysql://localhost:3306/数据库名?useSSL=flase&serverTimezone=UTC
on / MySQL5版本
不啰嗦,看代码、复制去测试一下,如果看不太懂,我上面有解释,看清楚解释,很快就能理解的哈!
public class ConnUtils {/*** * 获取mysql 驱动包名 */private static String DRIVER = "com.mysql.jdbc.Driver";/*** * 获取连接协议URL */private static String URL = "jdbc:mysql://localhost:3306/city?useUnicode=true&characterEncoding=utf-8";/*** * mysql获取账号 */private static String USER = "root";/*** * 获取密码 */private static String PASSWORD = "123";/*** * 在JVM加载类的时候,执行一次连接驱动 */static {try {Class.forName(DRIVER);System.out.println("success");} catch (ClassNotFoundException e) {System.out.println("error");throw new RuntimeException(e);}}/*** * 连接协议 * @return */public static Connection getConnection() {try {System.out.println("success");return DriverManager.getConnection(URL, USER, PASSWORD);} catch (SQLException e) {System.out.println("error");throw new RuntimeException(e);}}/*** * 测试一下 * @param args */public static void main(String[] args) {System.out.println(ConnUtils.getConnection());}}
two / MySQL8版本
public class ConnUtils{/*** * 链接mysql驱动 */private static final String DRIVER = "com.mysql.cj.jdbc.Driver";/*** * 链接URL */private static final String URL = "jdbc:mysql://localhost:3306/emloyeetable?useUnicode=true;useSSL=true;characterEncoding=utf8;serverTimezone=Asia/Shanghai";/*** * 账号 */private static String USER = "root" ;/*** * 密码 */private static String PASSWORD = "123" ;/** * 在JVM加载类的时候,执行一次静态块连接驱动 */static {try {Class.forName(DRIVER) ;System.out.println("success");} catch (ClassNotFoundException e) {System.out.println("error");throw new RuntimeException(e);}}/*** *获取链接 * @return */public static Connection getConnection(){ conn = null ;try {conn = DriverManager.getConnection(URL,USER,PASSWORD) ;} catch (SQLException e) {System.out.println("获取链接对象失败");throw new RuntimeException(e);}return conn ;} ;public static void main(String[] args) {System.out.println(UTIL.getConnection());}}
两种驱动连接方式还是有一些区别的,一定要注意哈!
2、SQL Server驱动连接
注意:要先有数据库,还有配置一下环境、根据自己的jdk版本选择不同的 .jar文件,这个就不多说了,都懂!不懂的在我们CSDN找教程哈!
还有还有,就是配置相关的驱动Jar包,比如MySQL要配置相关的驱动Jar包、SQL Server也要配置相关的Jar包;这里就不讲那些怎么配置、怎么下载jar包什么的!我们直奔主题。
不啰嗦了,看代码,然后自己复制去测试一下吧!
留意
包名:连接数据库时,驱动包名是“com.microsoft.sqlserver.jdbc.SQLServerDriver”
连接协议:连接数据库时,连接协议(URL)是“jdbc:sqlserver://localhost:1433;databaseName=你的数据库名;user=账号;password=密码”
public class ConnUtils{//获取链接数据库private static String dbUrl = "jdbc:sqlserver://localhost:1433;databaseName=XINYIBOOKADMIN;user=sa;password=123";//获取设置驱动private static String dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//链接驱动static {try {Class.forName(dbDriver);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}};//链接数据库public Connection getconnection() {try {conn=DriverManager.getConnection(dbUrl);System.out.println("成功链接数据库");return conn ;} catch (SQLException e) {e.printStackTrace();}return null;}public static void main(String[] args) {ConnUtil conUtil = new connUtil() ;System.out.println(dbtUtil.getconnection());}}
总结
还是那句话,MySQL和SQL Server都有各自的优势和适用场景,开发者需要根据实际需求来选择合适的数据库。