ubuntu环境中操作MySQL,使用C语言API调用MySQL
来源:互联网 发布:openwrt 阿里云ddns 编辑:程序博客网 时间:2024/05/22 14:24
前言:最近准备做毕业设计,初次接触到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)
);
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<stdio.h>#include<stdlib.h>#include<string.h>#include<mysql.h>#define MAX_COLUMN_LEN 32int 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只要会套用就够啦
0 0
- ubuntu环境中操作MySQL,使用C语言API调用MySQL
- ubuntu下配置mysql并使用其c语言API
- c/c++ 调用api操作mysql
- c/c++ 调用api操作mysql(续)
- 使用C语言操作MySQL数据库 Codeblocks开发环境配置
- 使用c语言操作mysql
- C 语言 MYSQL API
- MySQL C语言API
- 使用C API操作mysql数据库
- 使用C API操作mysql数据库
- Ubuntu 下用c语言操作MySQL数据库环境的搭建
- 利用mysql的c api,在vs2010中操作mysql
- 使用C语言操作MySQL数据库
- 使用C语言操作MySQL数据库
- 使用C语言操作Mysql数据库
- 使用C语言操作MySQL数据库
- C语言操作Mysql
- c语言操作mysql
- Linux 暑期培训课程总结
- eclipse开发配置及优化
- CSS定位position定位问题
- Android之Debug Certificate expired解决方案
- Codeforces Round #369 (Div. 2) -- D. Directed Roads (DFS找环)
- ubuntu环境中操作MySQL,使用C语言API调用MySQL
- 强大的vim配置文件,让编程更随意
- Spring第一个 helloworld 程序
- Revit开发之AddInCommandBinding
- Zookeeper 源代码编译导入Eclipse
- 学习Hadoop第二课(安装JDK)
- PAT 1016. Phone Bills (25)(map排序,去掉不匹配的,分时计算money)(待修改)
- 祖孙询问 纪中3054 LCA
- qt中qjsonobject遍历