目录
文章目录
一、前言
二、它们的区别
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主要的区别有哪些。这篇文章就讲一下它们之间到底有哪些区别以及附上它们的几种驱动连接方法。
它们之间的主要的区别,我已经整理出来,请看下面:
总之,我个人觉得各有各的优势和适用的场景,我们开发者需要根据实际需求选择合适的数据库
对了,我在这顺便解释一下什么是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⊙)…是我在网上了解后,收集的一些资料,整理后的笔记,分享给大家!
总之,无论是连接MySQL 还是SQL Server,选择合适的驱动取决于你所使用得编程语言和开发环境。在使用这些驱动时,需要的条件有:‘正确字符串、主机名(或者IP地址)、端口号、数据库名称、以及你的登录数据(账号、密码)等信息建立与数据库的连接’
注意:要先有数据库,还有配置一下环境、这个就不多说了,都懂!不懂的在我们CSDN找教程哈!
还有还有,就是配置相关的驱动Jar包,比如MySQL要配置相关的驱动Jar包、SQL Server也要配置相关的Jar包;这里就不讲那些怎么配置、怎么下载jar包什么的!我们直奔主题。
首先,这里先展示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
不啰嗦,看代码、复制去测试一下,如果看不太懂,我上面有解释,看清楚解释,很快就能理解的哈!
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());
}
}
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());
}
}
两种驱动连接方式还是有一些区别的,一定要注意哈!
注意:要先有数据库,还有配置一下环境、根据自己的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 block
e.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都有各自的优势和适用场景,开发者需要根据实际需求来选择合适的数据库。