C语言连接MySQL数据库(课程设计总结)_MySQL
刚结束课程设计,也预示着假期马上就要到来了。本次课程设计并不算难,无非就是让做一个XXX系统,实现用户的注册、登录、菜单管理、超级用户等等一些功能,到现在为止已经做过好几个了,所以基本流程都熟悉了!我觉的最值得总结的地方就是:C语言与数据库连接,这块内容!因为之前都是用文件实现的。
★平台
这次课程设计主要用到:
● VC ++ 6.0
● mysql-5.0.18-win32
● Navicat for MySQL(MySQL 图形化的工具)
★配置
在写代码之前首先要让编译器知道MySQL数据库的一些API,这就需要在VC上配置数据库的一些路径。从网上找了一份比较不错的参考资料。
★数据库的API函数
● mysql_init()
原型: MYSQL *mysql_init(MYSQL *mysql)
作用:主要用来初始化MYSQL对象
● mysql_real_connect( )
原型:MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
作用:用来连接一个MySQL数据库服务器,MySQL的结构体地址是&mysql,host主机名或地址是“localhost”,用户名是“root”,密码是“root”,数据库是“test”,端口是“3306”。
●mysql_store_result()
原型:MYSQL_RES *mysql_store_result(MYSQL *mysql)
作用:检索数据,获取数据库中的结果集
● mysql_num_rows()
原型:mysql_num_rows(MYSQL_RES *result)
作用:取得结果集中的记录数。一般情况下 mysql_num_rows()是在 mysql_store_result()之后使用的, mysql_num_rows()的参数正是 mysql_store_result()的返回值。
●mysql_fetch_row()
原型: MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)
作用:取得结果集中的一条记录,而且每执行一次,就会取下一行的记录。同理,它的参数与 mysql_num_rows()相同
★C数组传递给SQL语句
在写到注册功能时遇到一个问题,研究了好久。问题是这样的:在C语言中,我所输入的用户信息(包括ID号、姓名、密码)都保存在数组里面,而在数据库的函数里面只有像这种形式的:
mytable是数据库中的表名,括号里面的是表中的字段,在values后的是要插入的数据,但是用户的注册信息是保存在字符数组里面的,我怎样将字符数组里面的数据变成符合SQL语句的数据呢?
找了很多的资料,终于让我找到了一个函数: sprintf()
● 它的用法:
首先要申请一个字符数组,假设为sql_insert[50],它的作用是以后向此数组中写入数据,即将用户注册的信息先写到这个数组里面。
然后:
这样就可以将用户注册信息插入到数据库中。其中sql_insert就是上面所说的数组,后面就是SQL语句。
查询信息的例子:

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



L'article discute de l'utilisation de l'instruction ALTER TABLE de MySQL pour modifier les tables, notamment en ajoutant / abandon les colonnes, en renommant des tables / colonnes et en modifiant les types de données de colonne.

L'article discute de la configuration du cryptage SSL / TLS pour MySQL, y compris la génération et la vérification de certificat. Le problème principal est d'utiliser les implications de sécurité des certificats auto-signés. [Compte de caractère: 159]

L'article traite des stratégies pour gérer de grands ensembles de données dans MySQL, y compris le partitionnement, la rupture, l'indexation et l'optimisation des requêtes.

L'article traite des outils de GUI MySQL populaires comme MySQL Workbench et PhpMyAdmin, en comparant leurs fonctionnalités et leur pertinence pour les débutants et les utilisateurs avancés. [159 caractères]

L'article discute de la suppression des tables dans MySQL en utilisant l'instruction TABLE DROP, mettant l'accent sur les précautions et les risques. Il souligne que l'action est irréversible sans sauvegardes, détaillant les méthodes de récupération et les risques potentiels de l'environnement de production.

L'article discute de la création d'index sur les colonnes JSON dans diverses bases de données comme PostgreSQL, MySQL et MongoDB pour améliorer les performances de la requête. Il explique la syntaxe et les avantages de l'indexation des chemins JSON spécifiques et répertorie les systèmes de base de données pris en charge.

L'article discute de l'utilisation de clés étrangères pour représenter les relations dans les bases de données, en se concentrant sur les meilleures pratiques, l'intégrité des données et les pièges communs à éviter.

L'article discute de la sécurisation MySQL contre l'injection SQL et les attaques brutales à l'aide de déclarations préparées, de validation des entrées et de politiques de mot de passe solides (159 caractères)
