学习笔记12

教材知识点总结

MySQL是一个流行的开源关系型数据库管理系统(RDBMS),常用于各种Web应用程序的后端数据存储。它提供了高性能、可靠性和易用性,并且在Unix/Linux系统编程中被广泛使用。下面是对MySQL及其在Unix/Linux系统编程中的一些关键知识点的详细总结:

MySQL简介

  • MySQL是一个开源的关系型数据库管理系统,以其高性能、可靠性和易用性而闻名。
  • 支持SQL(Structured Query Language)。
  • 允许多个用户同时访问数据库。

安装MySQL(Ubuntu Linux、Slackware Linux)

  • 在Ubuntu Linux上,可以使用apt命令来安装MySQL:sudo apt-get install mysql-server
  • 在Slackware Linux上,可以使用包管理器或源码手动安装MySQL。

使用MySQL

  • 连接到MySQL服务器:mysql -u username -p
  • 显示数据库:SHOW DATABASES;
  • 新建数据库:CREATE DATABASE dbname;
  • 删除数据库:DROP DATABASE dbname;
  • 选择数据库:USE dbname;
  • 创建表:CREATE TABLE tablename (column1 datatype, column2 datatype, ...);
  • 删除表:DROP TABLE tablename;
  • MySQL中的数据类型包括整数、浮点数、字符串、日期等。
  • 插入行:INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);
  • 删除行:DELETE FROM tablename WHERE condition;
  • 更新表:UPDATE tablename SET column1 = value1, column2 = value2 WHERE condition;
  • 修改表:ALTER TABLE tablename ADD COLUMN column datatype;
  • 关联表:使用JOIN操作实现表之间的关联。
  • MySQL数据库关系图描述表之间的关系结构。

MySQL脚本

  • MySQL脚本是一系列MySQL命令的集合,可以批量执行操作。

C语言MySQL编程

  • 使用C语言构建MySQL客户端程序,需要使用MySQL提供的C API。
  • 连接到MySQL服务器:使用mysql_init()mysql_real_connect()等函数。
  • 构建MySQL数据库:使用C语言执行SQL命令来创建数据库、表等。
  • 检索MySQL查询结果:使用mysql_query()执行SELECT语句,并使用mysql_store_result()获取结果集。

PHP MySQL编程

  • 使用PHP连接到MySQL服务器:使用mysqli_connect()或PDO来建立连接。
  • 创建数据库表:执行CREATE TABLE语句。
  • 将记录插入表中:使用INSERT INTO tablename VALUES (...);INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);
  • 在PHP中检索MySQL查询结果:使用mysqli_query()执行查询,并使用mysqli_fetch_assoc()mysqli_fetch_array()等函数获取结果。
  • 进行更新操作:使用UPDATE tablename SET column1 = value1 WHERE condition;
  • 删除行:使用DELETE FROM tablename WHERE condition;

苏格拉底挑战

image
image
image
image
image
image
image
image
image
image
image

实践

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

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    conn = mysql_init(NULL);
    if (conn == NULL) {
        fprintf(stderr, "mysql_init failed\n");
        return 1;
    }

    if (mysql_real_connect(conn, "localhost", "username", "password", "database_name", 0, NULL, 0) == NULL) {
        fprintf(stderr, "mysql_real_connect failed: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }

    if (mysql_query(conn, "SELECT * FROM your_table")) {
        fprintf(stderr, "mysql_query failed: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }

    res = mysql_store_result(conn);
    if (res == NULL) {
        fprintf(stderr, "mysql_store_result failed: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }

    while ((row = mysql_fetch_row(res)) != NULL) {
        printf("%s %s\n", row[0], row[1]); // Print the columns, adjust as per your table structure
    }

    mysql_free_result(res);
    mysql_close(conn);

    return 0;
}
posted @ 2023-11-30 14:53  20211304王琛凯  阅读(4)  评论(0编辑  收藏  举报