MySQL数据库相关开发入门
使用apt-get来进行MYSQL数据库的安装,安装好以后就可以使用数据库了。
命令行键入mysql即可进入(因为数据库初始化的没有密码的);当然为了安全,你最好还是创建一个用户和密码。
当你创建过用户喝密码后再想登陆数据库就需要输入密码了,命令行格式如下
mysql -uUSERNAME -p123123
就会进入相应用户名下的数据库中了。
show databases;
可以查看用户下面所有的数据库名字.
use db_name;
选择使用哪个数据库
show tables;
查看数据库下面所有的表
当你想用代码来实现数据库的连接查询等操作时,就得参考下面的demo了
#include <stdio.h>
#include </usr/include/mysql/mysql.h>
#include <string.h>
#define IP "127.0.0.1"
#define PORT ""
#define USER "root"
#define PASSWD "123456"
int main(){
MYSQL *coon;
MYSQL_RES *mysql_res;
MYSQL_ROW *mysql_row;
coon = mysql_init(NULL);
if (!mysql_real_connect(coon, IP, "root", "", "test_db", , NULL, )){
printf("connect fail.....");
}
else{
printf("connect successful。。。");
mysql_set_character_set(coon, "utf-8");
mysql_autocommit(coon,);
char selectQuery[] ="select str from test_table where id =1";
int iResault = mysql_real_query(coon, selectQuery, strlen(selectQuery));
int t=;
if (iResault)
{
printf("select fail。。。。");
mysql_close(coon);
return ;
}
else{
mysql_res = mysql_store_result(coon);
if (!mysql_res)
{
printf("mysql_store_result(coon) fail....");
mysql_close(coon);
return ;
}
else{
while (mysql_row=mysql_fetch_row(mysql_res))
{
//for (;t<mysql_num_fields(mysql_res);t++)
//{
printf("%s\n", mysql_row[]);
//}
}
} } }
mysql_free_result(mysql_res);
mysql_close(coon);
return ;
}
如果你不知道musql.h在什么地方,可以使用linux命令查找。例子中从根目录中开始找。
find / -name mysql.h
当你编写好代码后,在gcc编译的时候如要加上额外的客户端动态链接库,否则会出现mysqlAPI函数找不到或未定义API函数接口。
gcc -o target target.c -L/PATH -lmysqlclient
PATH是mysqlclient动态链接库所在的路径。不知道在何处就使用命令查找
find / -name libmysqlclient.so
编译就会成功。
注意一点:动态链接库中lib 和.so是系统自动添加的,所以哭的名字要去掉这些字符。客户端链接库打印出来看到的是libmysqlclient.so
2017-07-25 14:03:02
为了编译方便最好写一个简单的Makefile,我已写好最简单不过了,代码如下:
myServer:myServer.o
gcc -o myServer myServer.o -L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
myServer.o:myServer.c
gcc -c myServer.c
.PHONY:clean
clean:
-rm myServer myServer.o
也可以写成如下格式:
Object=myServer.o
cc=gcc
myServer:$(Object)
cc -o myServer $(Object) -L/usr/lib/x86_64-linux-gnu/ -lmysqlclient
myServer.o:myServer.c
cc -c myServer.c
.PHONY:clean
clean:
-rm myServer $(Object)
具体请细读和我一起写Makrfile
编写好代码后要进行调试,可以使用GDB调试,这就需要在系统中安装GCC编译器,同理使用apt-get install gcc命令安装
安装好后再使用gcc 编译的时候 记得加上-g参数。
gcc -g -o target target.c -LPATH -lmysqlclient
然后使用
gdb target
进入调试阶段
通过查看linux手册可以发现GDB的参数设置如下图所示




MySQL数据库相关开发入门的更多相关文章
- MySQL数据库应用 从入门到精通 学习笔记
以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...
- mysql数据库相关流程图/原理图
mysql数据库相关流程图/原理图 1.mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要. 主从复制原理,简言之,就三步曲,如下: 主数据库 ...
- mysql数据库相关知识
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...
- MySQL数据库常用操作入门
一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...
- MYSQL数据库相关知识合集
1 MYSQL取得某一范围随机数: 关键词:RAND() [产生0~1之间的随机数] mysql> SELECT RAND( ), RAND( ), RAND( ); +----------- ...
- 操作MySQL数据库相关代码
注意事项: 1.导入驱动包,如我导的是mysql-connector-java-5.1.26-bin.jar 2.修改下面代码中的用户名和密码 3.其中URL为"jdbc:mysql://数 ...
- 随笔编号-06 MYSQL数据库相关知识合集
1 MYSQL取得某一范围随机数: 关键词:RAND() [产生0~1之间的随机数] mysql> SELECT RAND( ), RAND( ), RAND( ); +----------- ...
- django配置-mysql数据库相关配置
Django3版本之前的配置 1. Django默认配置的数据库是sqlite 2. 使用mysql数据库需要下载的包 pip3 install PyMySQL 3. Django配置PyMySQL ...
- MySQL数据库相关资料
python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句) python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整 ...
随机推荐
- py-day1-4 python基本数据类型2
# replace 替换 text = 'xiaomafafafahaoyunlianlian' v = text.replace('fa','shun') x = text.replace('fa' ...
- [转]Python中yield的解释
转自: http://python.jobbole.com/83610/ 本文作者: 伯乐在线 - wklken .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 翻译 来源于stackover ...
- SPI 核的寄存器空间
SPI 核的寄存器空间 寄存器的地址与定义: 寄存器描述与配置: 复位寄存器: 控制寄存器: 状态寄存器: 数据发送寄存器: 在使用DTR之前,一定要经过复位处理. 对于DTR的操作中,首先写入com ...
- Cygwin使用2-心得
引用:http://www.jb51.net/article/6236.htm 1.在cygwin里访问Windows盘 cd /cygdrive/c cd c: 2.整合cygwin命令到Windo ...
- influxDB硬件配置指南
原地址:https://docs.influxdata.com/influxdb/v1.6/guides/hardware_sizing/ 警告!此页面记录了不再积极开发的InfluxDB的早期版本. ...
- oracle 存储过程、游标参考实例
create or replace procedure INIT_DICT_QUEUECODE(p_queueId int,p_paramType in varchar2,p_queenName in ...
- TextBox限制输入字母、数字、退格键
公共方法如下: /// <summary> /// 正则表达式验证只能输入数字或字母 /// </summary> /// <param name="pendi ...
- C# winForm中调用javascript文件中的方法
目前有很多的SNS社区或类SNS的网站,例如开心.51.校内等,但是发现大多数社区在邀请好友的时候都没有提供对QQ邮箱或者QQ空间好友列表获取的功能,不过似乎海内支持,但是网上相关QQ的文章还不是很多 ...
- 关于dubbo通信协议之对比
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况, dubbo共支持如下几种通信协议: dubbo:// rmi:// hessian:// http:// webservice:/ ...
- 信息安全-加密:DES 加密
ylbtech-信息安全-加密:DES 加密 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资 ...