---
name: "mysql_select_db"
section: "3"
platform: "linux"
package: "mariadb"
version: "13.0.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mysql_select_db"
---

# mysql\_select\_db(3)

### Name

mysql\_select\_db - selects a database as default

### Synopsis

-

  ```
  #include <mysql.h>
  int mysql_select_db(MYSQL * mysql,
                      const char * db);
  ```

### Description

Selects a database as default. Returns zero on success, non-zero on failure

### Parameters

- •

  `mysql` is a connection identifier, which was previously allocated by **[mysql\_init(3)](/mysql_init/3.md)** and connected by **[mysql\_real\_connect(3)](/mysql_real_connect/3.md)**.

- •

  `db` - the default database name

### Notes

- •

  To retrieve the name of the default database either execute the SQL command `SELECT DATABASE()` or retrieve the value via **[mariadb\_get\_infov(3)](/mariadb_get_infov/3.md)** API function.

- •

  The default database can also be set by the db parameter in **[mysql\_real\_connect(3)](/mysql_real_connect/3.md)**.

### Examples

### SQL

-

  ```
  # switch to default database test
  USE test;
  # check default database
  SELECT DATABASE();
  +------------+
  | database() |
  +------------+
  | test       |
  +------------+
  ```

### MariadDB Connector/C

-

  ```
  static int set_default_db(MYSQL *mysql)
  {
    int rc;
    char *default_db;
    /* change default database to test */
    rc= mysql_select_db(mysql, "test");
    if (rc)
      return rc;  /* Error */
    /* get the default database */
    rc= mariadb_get_infov(mysql, MARIADB_CONNECTION_SCHEMA, &default_db);
    if (rc)
      return rc; /* Error */
    if (strcmp("test", default_db) != NULL)
    {
      printf("Wrong default database\n");
      return 1;
    }
    printf("Default database: %s", default_db);
    return 0;
  }
  ```

### See also

**[mysql\_real\_connect(3)](/mysql_real_connect/3.md)**
