创建数据库 默认编码utf8
Create database book charset=utf8;
创建图书表
Create table tb_book(
ID varchar(10) primary key comment'编号',
bookname varchar(50) not null comment'图书名',
author varchar(50) not null comment'作者',
bookconcern varchar(50) not null comment'出版社')charset=utf8;
mysql> desc tb_book;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| ID | varchar(10) | NO | PRI | NULL | |
| bookname | varchar(50) | NO | | NULL | |
| author | varchar(50) | NO | | NULL | |
| bookconcern | varchar(50) | NO | | NULL | |
+-------------+-------------+------+-----+---------+-------+
4 rows in set (0.63 sec)
解决编码:
设置数据库的编码
show variables like 'character%';
set character_set_filesystem=utf8;
C语言连接数据库后先设置编码再查询
mysql_query(&mysql, "set names utf8");
编译
gcc -o book book.c -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient
增删改查 book.c
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "mysql.h"
/*定义数据库相关操作变量*/
MYSQL mysql; //
MYSQL_RES *result; //定义结果集变量
MYSQL_ROW row; //定义行变量
char ch[2];
void ShowAll(); /*显示所有的图书信息*/
void AddBook(); /*添加图书信息*/
void ModifyBook(); /*修改图书信息*/
void DeleteBook(); /*删除图书信息*/
void QueryBook(); /*查询图书信息*/
/*显示菜单*/
void showmenu()
{
printf("\n\n\n\n\n");
printf("\t╔═══════════════════════════╗\n");
printf("\t║Welcome To Lemon Books System║\n");
printf("\t╠═══════════════════════════╣\n");
printf("\t║\t 1 - 显示所有图书信息 ║\n");
printf("\t║\t 2 - 添加图书信息 ║\n");
printf("\t║\t 3 - 修改图书信息 ║\n");
printf("\t║\t 4 - 删除图书信息 ║\n");
printf("\t║\t 5 - 查询图书信息 ║\n");
printf("\t║\t 6 - 退出 ║\n");
printf("\t╚═══════════════════════════╝\n");
printf("\n ENTER YOUR CHOICE(1-6):");
}
void inquire() /*询问用户是否显示主菜单*/
{
printf("\t 显示主菜单?(y/n):");
scanf("%s",ch);
if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要显示查找到的信息*/
{
showmenu(); /*显示菜单*/
}
else
{
exit(0);
}
}
/*显示主菜单,连接数据库*/
int main()
{
int n ; //定义变量 存储用户输入的编号
mysql_init(&mysql); //初始化mysql结构
showmenu(); /*显示菜单*/
scanf("%d",&n);/*输入选择功能的编号*/
while(n)
{
switch(n)
{
case 1:
ShowAll(); /*调用显示所有图书数据的过程*/
break;
case 2:
AddBook(); /*添加图书信息*/
break;
case 3:
ModifyBook(); /*修改图书信息*/
break;
case 4:
DeleteBook(); /*删除图书信息*/
break;
case 5:
QueryBook(); /*查询图书信息*/
break