Knowledge Base

How to connect to MySQL using Perl

This article describes two methods for connecting to a MySQL database using Perl:

  • DBI (Database Interface) module
  • Legacy mysql module
The MySQL databases and users must already exist before you can use these methods. For information about how to manage MySQL databases using cPanel, please see this article.

Connecting to MySQL using the DBI (Database Interface) module

Using the DBI module is the preferred way to connect to MySQL in Perl. The original Perl mysql module is deprecated.

To connect to MySQL using the DBI module, follow these steps:

  1. Use the following Perl code to connect to MySQL and select a database. Replace USERNAME with your username, PASSWORD with your password, and DBNAME with the database name:
    use DBI;
    $myConnection = DBI->connect("DBI:mysql:DBNAME:localhost", "USERNAME", "PASSWORD");
    
  2. After the code connects to MySQL and selects the database, you can run SQL queries and perform other operations. For example, the following Perl code runs a SQL query that extracts the last names from the employees table, and stores the result in the $result variable:

    $query = $myConnection->prepare("SELECT lastname FROM employees ");
    $result = $query->execute();
    

Connecting to MySQL using the legacy mysql module

The original Perl mysql module is deprecated, and should only be used when absolutely necessary for backward compatibility. If possible, use the DBI module instead.

To connect to MySQL using the legacy mysql module, follow these steps:

  1. Use the following Perl code to connect to MySQL and select a database. Replace USERNAME with your username, PASSWORD with your password, and DBNAME with the database name:
    use Mysql;
    $myConnection = Mysql->connect('localhost','DBNAME','USERNAME','PASSWORD');
    
  2. After the code connects to MySQL and selects the database, you can run SQL queries and perform other operations. For example, the following Perl code runs a SQL query that extracts the last names from the employees table, and stores the result in the $result variable:

    $result = $myConnection->query('SELECT lastname FROM employees');
    

More Information

To view the online documentation for the DBI module, please visit http://dbi.perl.org/docs.