通過應用程序連接MySQL實例
更新時間 2023-12-19 09:17:32
最近更新時間: 2023-12-19 09:17:32
分享文章
本文將介紹如何通過Java、Python或C的應用程序訪問MySQL數據庫。
參數說明
示例程序代碼中的參數說明如下:
| 參數 | 說明 |
|---|---|
| host | MySQL實例的內網地址或外網地址。 1、內網地址:當應用部署在彈性云主機上,且該彈性云主機與MySQL實例處于同一區域,同一VPC時,建議單獨使用內網IP連接彈性云主機與MySQL實例。 2、外網地址:其他情況均使用外網地址。 |
| port | 根據您使用的連接地址選擇對應的端口。 |
| yourDatabase | 所連接的數據庫名稱。 |
| yourUserName | 所訪問MySQL實例的賬號名稱。 |
| yourPassword | 所訪問MySQL實例的賬號對應的密碼 |
示例程序代碼
說明以下示例程序代碼以數據庫中的User表為例,實際運行中請按照您的需求填寫。
- Java代碼示例:
以Maven為例,需要在pom.xml文件中導入DriverManager依賴,例如:
</dependency>
? ? ? ? ? ?<groupId>com.mysql</groupId>
? ? ? ? ? ?<artifactId>mysql-connector-j</artifactId>
? ? ? ? ? ?<version>8.1.0</version>
</dependency>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
?
public class DbConnection
{
? ?public static void main(String args[]) {
? ? ? ?String connectionUrl= "jdbc:mysql://host:port/yourDatabase";
? ? ? ?
? ? ? ?ResultSet resultSet;
? ? ? ?try (Connection connection=DriverManager.getConnection(connectionUrl,"yourUsername","yourPassword"); ?
? ? ? ? ? ? Statement statement = connection.createStatement()) {
?
? ? ? ? ? ?//輸入您想要執行的SQL
? ? ? ? ? ?String selectSql = "SELECT * FROM `User`"; ? ? ? ? ? ?。
? ? ? ? ? ?resultSet = statement.executeQuery(selectSql);
?
? ? ? ? ? ?//打印出查詢結果中想要的列
? ? ? ? ? ?while (resultSet.next()) {
? ? ? ? ? ? ? ?System.out.println(resultSet.getString("UserName"));
? ? ? ? ? }
? ? ? }
? ? ? ?catch (SQLException e) {
? ? ? ? ? ?e.printStackTrace();
? ? ? }
? }
}
- Python3代碼示例:
說明
Python3安裝命令:pip3 install PyMySQL
Python2安裝命令:pip install pymysql==0.9.3
import pymysql
?
db_config = {
? ?'host': 'host',
? ?'user': 'user',
? ?'port': ?port,
? ?'password': 'yourPassword',
? ?'database': 'yourDatabase'
}
connection = pymysql.connect(db_config)
?
try:
? ?with connection.cursor() as cursor:
? ? ? ?# 輸入您想要執行的SQL
? ? ? ?sql = "SELECT * FROM `User`"
? ? ? ?cursor.execute(sql)
? ? ? ?for result in cursor:
? ? ? ? ? ? print(result)
finally:
? ?connection.close()
- C代碼示例:
說明運行環境需先安裝mysql.h頭文件,以CentOS為例,安裝命令如下:
sudo yum install mysql-devel
#include <stdio.h>
#include <mysql.h>
#include <string.h>
?
int main(void)
{
? ?MYSQL *t_mysql;
?
? ?MYSQL_RES ? ? ? *res = NULL;
? ?MYSQL_ROW ? ? ? row;
? ?int ? ? ? ? ? ? rc, i, fields;
? ?int ? ? ? ? ? ? rows;
?
? ?char select[] = "select * from User"; ? ?// 輸入希望執行的SQL。
? ?t_mysql = mysql_init(NULL);
?
? ?if(NULL == t_mysql){
? ? ? ?printf("init failed\n");
? }
?
? ?if(NULL == mysql_real_connect(t_mysql, "host", "yourUsername", "yourPassword", "yourDatabase",
? ? ? ? ? ?port>, NULL, 0)){
? ? ? ?printf("connect failed\n");
? }
?
? ?if(mysql_real_query(t_mysql, select, strlen(select)) != 0){
? ? ? ?printf("select failed\n");
? }
?
? ?res = mysql_store_result(t_mysql);
? ?if (NULL == res) {
? ? ? ? printf("mysql_restore_result(): %s\n", mysql_error(t_mysql));
? ? ? ? return 0;
? }
?
? ?fields = mysql_num_fields(res);
? ?while ((row = mysql_fetch_row(res))) {
? ? ? ?for (i = 0; i < fields; i++) {
? ? ? ? ? ?printf("%s\t", row[i]);
? ? ? }
? ? ? ?printf("\n");
? }
? ?mysql_close(t_mysql);
?
}