本文档指导您如何通过应用程序访问数据库。

前提条件

已访问数据库实验室,并创建PolarDB for MySQL或RDS for MySQL实例。

背景信息

数据库实验室是DMS打造的一站式数据库体验馆,为免费体验不同类型的阿里云数据库产品提供统一的入口。在数据库实验室,您可以免费体验不同的云数据库产品,详情请参见数据库实验室入门介绍

步骤一:获取数据库连接信息

  1. 登录数据库实验室
  2. 在控制台首页左侧的实例列表中,右键单击目标数据库实例。
  3. 从弹出的列表中,选择开通应用程序访问,即可查看对应数据库的连接信息。
    kaitongyingyong
    连接信息如下图所示。连接信息示例

步骤二:通过应用程序访问数据库

获取数据库连接信息后,您就可以在应用程序中通过代码访问数据库。本文档向您提供了3种语言示例:Java、Python和C语言。
说明 需替换的参数及说明:
  • Host:连接地址
  • Port:端口
  • myDatabase:数据库名称
  • myUsername:账号
  • myPassword:密码
  • Java程序访问:
    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()) {
    
                // 以查询courses表为例
                String selectSql = "SELECT * FROM `courses`"; 
                resultSet = statement.executeQuery(selectSql);
    
                while (resultSet.next()) {
                    // 输出courses表中的name字段
                    System.out.println(resultSet.getString("name"));
                }
            }
            catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
  • Python程序访问:
    import pymysql
    
    connection = pymysql.connect(host='Host',     
                           port=Port,
                           user='myUsername',
                           passwd='myPassword',
                           db='myDatabase')
    
    try:
        with connection.cursor() as cursor:
            # 以查询courses表为例
            sql = "SELECT * FROM `courses`"        
            cursor.execute(sql)
            for result in cursor:
                 # 输出查询结果
                 print(result)
    finally:
        connection.close()
  • C语言:
    #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;
    
        // 以查询courses表为例
        char select[] = "select * from courses";
        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))) {
            // 输出查询结果:courses表中的每一个列
            for (i = 0; i < fields; i++) {
                printf("%s\t", row[i]);
            }
            printf("\n");
        }
        mysql_close(t_mysql);
    
    }