C program to create a table in MySQL database dynamically in Linux

Here, we are going to write a C program to create a table in MySQL database dynamically in Linux.
By Nidhi Last updated : March 10, 2024

Prerequisites

The following packages need to be installed in the ubuntu machine for MySQL connectivity using the C program.

sudo apt install default-libmysqlclient-dev

Problem Solution

In this program, we will connect to the MyDb database and then create the "Employee" table dynamically using the "Create table" command.

Program/Source Code

The source code to create a specified table in MySQL database dynamically in Linux is given below. The given program is compiled and executed successfully on Ubuntu 20.04.

//C program to create a specified table in MySQL database dynamically in Linux.

#include <mysql.h>
#include <stdio.h>
#include <string.h>

int main()
{
    char server[16] = "localhost";
    char username[16] = "root";
    char password[16] = "root";
    char database[16] = "MyDb";

    MYSQL* conn = mysql_init(NULL);

    if (conn == NULL) {
        printf("MySQL initialization failed");
        return 1;
    }

    if (mysql_real_connect(conn, server, username, password, database, 0, NULL, 0) == NULL) {
        printf("Unable to connect with MySQL server\n");
        mysql_close(conn);
        return 1;
    }

    if (mysql_query(conn, "CREATE TABLE Employee(Eid INT PRIMARY KEY AUTO_INCREMENT, Ename VARCHAR(16), Salary INT)")) {
        printf("Unable to create database table in MyDb database\n");
        mysql_close(conn);
        return 1;
    }

    mysql_close(conn);

    printf("Employee table created successfully\n");

    return 0;
}

Output

$ gcc create_table.c -o create_table  `mysql_config --cflags --libs`
$ sudo ./create_table 
Employee table created successfully

In the above program, we included the mysql.h header file to use MySql connectivity related functions. Here, we created variables server, username, password, and database that are initialized values specific to the MySQL connectivity.

Here, we connected to the MyDb database in the MySql server using the mysql_real_connect() function and then create an "employee" table using the mysql_query() function with specified SQL command and then print the "Employee table created successfully" message on the console screen.

C MySQL Programs »

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.