ubuntu通过c语言访问mysql_ubuntu环境中操作MySQL,使用C语言API调用MySQL

本文记录了在Ubuntu上安装MySQL和使用C语言API进行数据库操作的过程,包括创建用户、授权、数据库和表,以及展示了一个简单的C语言示例程序,用于连接数据库并查询数据。
摘要由CSDN通过智能技术生成

前言:最近准备做毕业设计,初次接触到MySQL,做一个学习记录

安装MySQL:傻瓜式安装

sudo apt-get install mysql-server

apt-get install libmysqlclient-dev这个记得要装,不然编程的时候找不到mysql.h文件

操作MySQL

1.打开终端,准备登录

mysql -h 127.0.0.1 -u root -p//root为用户名  127.0.0.1为主机名,即允许用什么IP登录,这些都是在创建用户的时候就写好的

2..创建新的用户

create user '用户名'@'登录IP' identified by '密码'例如:create user 'zouwm'@'127.0.0.1' identified by '123456'

3.用户授权

grant 权利 on databasename.tablename to 用户     例如:grant all on *.* to zouwm *.*代表所有数据库的所有表

4.创建数据库

create database 数据库例如:create database test

5.创建表

首先指定数据库use 数据库例如:use test

创建表

create table S_RESIDENCE(

USER_ID VARCHAR(20) NOT NULL,

PHONE VARCHAR(20),

NAME VARCHAR(30),

VILLAGE_NAME VARCHAR(100),

VILLAGE_ID VARCHAR(20) NOT NULL,

RESIDENCE_ADDR VARCHAR(200),

STATE CHAR(1),

PRIMARY KEY(USER_ID)

);

C语言操作MySQL

Mysql API数据结构

MYSQL

连接数据库前,必须先创建MYSQL变量,此变量在很多Mysql API函数会用到。它包含了一些连接信息等数据。

MYSQL_RES

MYSQL_RES结构体中包含了查询结果集,也就是从数据库中查询到的数据。可以使用mysql_store_result或mysql_use_result函数获得。

MYSQL_ROW

MYSQL ROW的定义如下:

typedef char **MYSQL_ROW;

可见,它实际上是char **类型,指向一个字符串数组。可以通过mysql_fetch_row函数获得。

MYSQL_FIELD

MYSQL_FIELD中包含了字段名、字段类型和大小等信息。可以重复调用mysql_fetch_field函数获得所有字段的信息。

注意:Linux下的MySQL的表明是区分大小写的

#include

#include

#include

#include

#define MAX_COLUMN_LEN 32

int main(int argc , char *argv[])

{

MYSQL db;

MYSQL_RES *res;

MYSQL_ROW row;

//初始化数据库

mysql_init(&db);

//连接数据库

if(mysql_real_connect(&db,"127.0.0.1","zouwm","z123","intelligence",3306,NULL,0))

{

printf("connect!!!\n");

}

//查询

if (mysql_real_query(&db, "select * from S_RESIDENCE", (unsigned long)strlen("select * from S_RESIDENCE")))

{

printf("mysql_real_query failed\n");

return 0;

}

// 存储结果集

res = mysql_store_result(&db);

if (NULL == res)

{

printf("mysql_store_result failed\n");

return 0;

}

// 重复读取行,并输出第一个字段的值,直到row为NULL

while (row = mysql_fetch_row(res))

{

printf("%s\n",row[0]);

}

// 释放结果集

mysql_free_result(res);

// 关闭Mysql连接

mysql_close(&db);

return 0;

}编译连接选项gcc -I/usr/include/mysql test.c -o demo -L/usr/lib/mysql -lmysqlclient

我认为sql主要还是懂sql语句,至于这些API只要会套用就够啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值