通过应用程序访问数据库

本文介绍如何通过Java、Python或C的应用程序访问轻量数据库。

参数说明

示例代码中的参数说明如下。

参数

说明

Host

轻量数据库服务实例的内网地址或外网地址。

  • 若您的客户端部署在轻量应用服务器实例上,且轻量应用服务器实例与要访问的轻量数据库服务实例的地域相同,请使用内网地址。例如ECS轻量应用服务器实例和轻量数据库服务实例都是华东1,使用内网地址连接能提供安全高效的访问。

  • 其他情况只能使用外网地址。

关于如何查看轻量数据库服务实例的内外网地址及端口信息,请参见查看详细信息

Port

端口为3306。

myDatabase

目标数据库名称。

myUsername

要访问轻量数据库服务实例的账号名称,默认为administrator。

myPassword

账号对应的密码。如果忘记密码,请参见重置数据库密码修改轻量数据库服务密码。

示例代码

Java、Python和C示例代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class DatabaseConnection
{
    public static void main(String args[]) {
        String connectionUrl= "jdbc:mysql://<Host>:<Port>/<myDatabase>";    

        ResultSet resultSet;

        try (Connection connection=DriverManager.getConnection(connectionUrl,"<myUsername>","<myPassword>");  
             Statement statement = connection.createStatement()) {

            String selectSql = "SELECT * FROM `courses`";            //输入希望执行的SQL。
            resultSet = statement.executeQuery(selectSql);

            while (resultSet.next()) {
                System.out.println(resultSet.getString("name"));
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
import pymysql

connection = pymysql.connect(host='<Host>',     
                       port=<Port>,
                       user='<myUsername>',
                       passwd='<myPassword>',
                       db='<myDatabase>')

try:
    with connection.cursor() as cursor:
        sql = "SELECT * FROM `courses`"        #输入希望执行的SQL。
        cursor.execute(sql)
        for result in cursor:
             print(result)
finally:
    connection.close()
#include <stdio.h>
#include <mysql.h>
#include <string.h>

void main(void)
{
    MYSQL *t_mysql;

    MYSQL_RES       *res = NULL;
    MYSQL_ROW       row;
    char            *query_str = NULL;
    int             rc, i, fields;
    int             rows;

    char select[] = "select * from courses";    // 输入希望执行的SQL。
    t_mysql = mysql_init(NULL);

    if(NULL == t_mysql){
        printf("init failed\n");
    }

    if(NULL == mysql_real_connect(t_mysql, <Host>, <myUsername>, <myPassword>, <myDatabase>,
            <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 -1;
    }

    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);

}