Para entender por qué se usan lenguajes de alto nivel aprender primero a entender todos los problemas que trae programar en un lenguaje de bajo nivel.
Hay que aprender lenguaje ensamblador para saber por qué existe C, hay que aprender C para entender por qué existe C++, rust, python, php, etc. y cuales son los problemas que estos lenguajes intentan solucionar.
https://www.youtube.com/watch?v=jACHG6tZakw
https://www.ucl.ac.uk/isd/services/websites-apps/databases/mysql/calling-mysql-c
https://github.com/bloominstituteoftechnology/C-Web-Server
mysql.c
:// sudo apt install -y libmariadb-dev-compat libmariadb-dev
// Compile: gcc -o mysql-test mysql.c $(mysql_config --libs)
#include <stdio.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = "localhost";
char *user = "admin";
char *password = "myawesomepass";
char *database = "db1";
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
return(0);
}
/* send SQL query */
if (mysql_query(conn, "SELECT * FROM wp_users WHERE id = 1")) {
fprintf(stderr, "%s\n", mysql_error(conn));
return(0);
}
res = mysql_use_result(conn);
/* output fields 1 and 2 of each row */
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s %s\n", row[1], row[2]);
/* Release memory used to store results and close connection */
mysql_free_result(res);
mysql_close(conn);
}