文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

关于Mysql和SQL Server的驱动连接

2023-09-08 17:56

关注

目录

文章目录

一、前言

二、它们的区别

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、主要的区别

它们之间的主要的区别,我已经整理出来,请看下面:

  1. 语言和平台的支持:MySQL使用C和"C++"语言编写的,支持多种系统操作,如Windows、Linux、Mac OS等等;而SQL Server则不同,它是使用Transact-SQL(T-SQL)语言,主要支持Windows操作系统。
  2. 性能和稳定性:MySQL具有较高的性能和稳定性,支持高并发性,能够处理大量数据;而SQL Server在处理大量数据时可能会遇到性能问题。
  3. 数据库容量:MySQL的数据库容量较小,适合中小型应用程序;而SQL Server的数据库容量较大,适合大型企业级应用程序。
  4. 存储引擎:MySQL支持多种存储引擎,如InnoDB、MyISAM等;而SQL Server使用自家的Microsoft SQL Server引擎。
  5. 语法和兼容性:MySQL与Microsoft SQL Server的语法有所不同,且它们不直接兼容。但是,可以使用ODBC或JDBC等中间件来连接这两种数据库。
  6.  安全性:MySQL和SQL Server都提供了较高的安全性,包括用户权限、视图、触发器和数据加密等功能。
  7. 社区支持: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连接驱动

two / 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 {        private static String DRIVER = "com.mysql.jdbc.Driver";        private static String URL = "jdbc:mysql://localhost:3306/city?useUnicode=true&characterEncoding=utf-8";        private static String USER = "root";        private static String PASSWORD = "123";        static {        try {            Class.forName(DRIVER);            System.out.println("success");        } catch (ClassNotFoundException e) {            System.out.println("error");            throw new RuntimeException(e);        }    }        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);        }    }        public static void main(String[] args) {        System.out.println(ConnUtils.getConnection());    }}

two / MySQL8版本

public class ConnUtils{        private static final String DRIVER = "com.mysql.cj.jdbc.Driver";        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" ;        static {        try {            Class.forName(DRIVER) ;            System.out.println("success");        } catch (ClassNotFoundException e) {            System.out.println("error");            throw new RuntimeException(e);        }    }        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都有各自的优势和适用场景,开发者需要根据实际需求来选择合适的数据库。

来源地址:https://blog.csdn.net/m0_67840539/article/details/131331907

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯