20211306 密码系统设计与实现课程学习笔记12
任务详情
自学教材第14章,提交学习笔记
- 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容
“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”
核心是要求GPT:“请你以苏格拉底的方式对我进行提问”
然后GPT就会给你提问,如果不知道问题的答案,可以反问AI:“你的理解(回答)是什么?”
如果你觉得差不多了,可以先问问GPT:“针对我XXX知识点,我理解了吗?”
GPT会给出它的判断,如果你也觉得自己想清楚了,可以最后问GPT:“我的回答结束了,请对我的回答进行评价总结”,让它帮你总结一下。
- 问题与解决思路,遇到问题最先使用chatgpt等AI工具解决,并提供过程截图
- 实践过程截图,代码链接
- 其他(知识的结构化,知识的完整性等,提交markdown文档,使用openeuler系统等)
一、第十四章学习总结
摘要
本章讨论了MySQL关系数据库系统;介绍了MySQL 并指出了它的重要性;展示了如何在Linux机器上安装和运行MySOL:演了如何使用MySOL在命令模式和批处理模式下使用SOL脚本创建和管理数据库;说明了如何将MySQL与C编程相结合。
MySQL简介
MySQL(MySQL2018)是个关系数据库系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SOL(结构化查询语言),包括MySQL。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SOL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP 2018)已成为大多数数据管理和在线商务网站的主干网。
安装MySQL
+ Ubuntu Linux
sudo apt-get install mysql-server
mysql-server包包括一个MySQL服务器和一个客户机。在安装MySQL时,它会询问根用户密码。用户可以使用与Ubuntu相同的登录密码。安装MySOL后,可通过运行脚本对其进行配置以获得更好的安全性:
mysql_secure_installation
要得到简单和标准的安全设置,可以按Y,然后按 ENTER,以接受所有问题的默认值。
使用MySQL
MySQL服务器可以设置为支持不同的用户。为简单起见,我们将只假定根用户。为了使用MySQL.用户必须运行一个MySOL客户机来连接到服务器。MySOL 支持来自远程IP主机的客户机连接。为了简单起见,我们将在同一台机器(即默认本地主机)上运行服务器和客户机。
-
连接到MySQL服务器
使用MySQL的第一步是运行MySQL客户机程序。从X-window终端输入MySQL客户机命令mysq1,它连接到同一台计算机上默认本地主机上的MySQL服务器
-
显示数据库
-
新建数据库
-
删除数据库
-
选择数据库
-
创建表
-
删除表
-
MySQL中的数据类型
数字、字符串、日期和时间
- 插入行
- 删除行
- 更新表
- 修改表
- 关联表
- 连接操作
- MySQL数据库关系图
- MySQL脚本
C语言MySQL编程
- 使用C语言构建MySQL客户机程序
- 使用C语言连接到MySQL服务器
- 使用C语言构建MySQL数据库
- 使用C语言检索MySQL查询结果
二、苏格拉底挑战GPT
三、代码实现
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
MYSQL *con; // MySQL 连接对象
MYSQL_RES *result; // 查询结果
MYSQL_ROW row; // 行数据
con = mysql_init(NULL); // 初始化连接对象
if (con == NULL) {
fprintf(stderr, "%s\n", mysql_error(con));
exit(1);
}
// 连接到 MySQL 服务器
if (mysql_real_connect(con, "localhost", "username", "password", "database", 0, NULL, 0) == NULL) {
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
// 执行查询语句
if (mysql_query(con, "SELECT * FROM tablename")) {
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
// 获取查询结果
result = mysql_use_result(con);
// 打印查询结果
while ((row = mysql_fetch_row(result)) != NULL) {
printf("%s %s\n", row[0], row[1]);
}
// 释放查询结果资源
mysql_free_result(result);
// 关闭连接
mysql_close(con);
return 0;
}
四、问题及解决
https://blog.csdn.net/qq_45037155/article/details/123361839
https://blog.csdn.net/qq_41264401/article/details/124746512