同学,MySQL数据库,一般指的MySQL服务端。但是MySQL自己呢也有一个客户端。就是我们使用 mysql 在shell窗口中连接数据库时,其实这就是以一个客户端的身份去连接到MySQL的服务端的。
本章,就介绍下常用连接数据库的方式:
- MySQL client 连接
- Java - JDBC 原生的连接
- Python连接
- go连接
MySQL client 连接数据库
这种连接方式,在上一章MySQL数据库的安装中我们已经使用过了。这里呢我们再详细的介绍一下。
首先,我们使用 mysql --help 命令,查看mysql 命令可以拼接的参数. 回车之后,我们可以看到很多的参数
本篇文章主要列举下,连接用到的参数:
- -h : host ,表示需要连接的主机地址。 默认是localhost
- -P : port , 表示要建立连接的主机端口。默认是 3306
- -u : user , 表示建立连接使用的用户名。 默认是 root
- -p : password , 表示建立连接使用的密码。
建立连接时,完整的命令是: mysql -h 127.0.0.1 -P 3306 -u root -p 表示使用 root 用户,连接127.0.0.1的3306端口。
回车之后,输入密码 ,回车,即可登陆成功。

在明白了这几个选项之后,我们可以使用 mysql -p 来登录本机的MySQL服务端。

建立连接之后,怎么退出呢? 有三种方式可以退出。
- 输入
exit命令 - 输入
quit命令 - 使用
control + D
使用JDBC连接MySQL数据库
首先我们使用MySQL-client连接上数据库,用下面的命令去创建一个数据库和完成建表操作
mysql> drop database test01_jdbc;
Query OK, 0 rows affected (0.08 sec)
mysql> create database test01_jdbc;
Query OK, 1 row affected (0.06 sec)
mysql> use test01_jdbc;
Database changed
mysql> create table test1(id int primary key auto_increment, value int );
Query OK, 0 rows affected (0.29 sec)
接下来,你可以直接复制下面的代码,到你的编辑器里进行执行。源码我放到github里了。地址在公众号里哦
public class JDBCDemo {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
// 1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 换成你的数据库地址
String url = "jdbc:mysql://10.127.138.75:3306/test01_jdbc";
String username = "root";
String password = "123456";
/// 获取连接
connection = DriverManager.getConnection(url, username, password);
String sql = "show tables";
// 创建 Statement
preparedStatement = connection.prepareStatement(sql);
// 执行结果,获取resultSet
resultSet = preparedStatement.executeQuery();
// 处理结果
while (resultSet.next()) {
System.out.println(resultSet.getString(1));
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
if(null!=resultSet) {
try {
resultSet.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(null!=preparedStatement) {
try {
preparedStatement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if(null!=connection) {
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
}
执行结果:
test1
这里呢,就简单的理解下,Java连接MySQL服务端的过程。实际的开发中也不会遇到这种写法,但是都是使用这种原理进行了封装和优化,比如数据库的连接池的使用。这里就理解下,使用Java实现了数据库的客户端连接。
其他语言连接数据库的方式,我放到github仓库里。有需要的自取哈。在公众号里回复【连接数据库】就可以获取啦~
最后,希望和你成为朋友,一起交流~
