使用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数据库相关开发入门的更多相关文章

  1. MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...

  2. mysql数据库相关流程图/原理图

    mysql数据库相关流程图/原理图 1.mysql主从复制原理图 mysql主从复制原理是大厂后端的高频面试题,了解mysql主从复制原理非常有必要. 主从复制原理,简言之,就三步曲,如下: 主数据库 ...

  3. mysql数据库相关知识

    什么是数据库?                数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...

  4. MySQL数据库常用操作入门

    一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品.在WEB应用方面,MySQL是最好的RDBMS应用软件.MySQL体积小.速度快.总 ...

  5. MYSQL数据库相关知识合集

    1  MYSQL取得某一范围随机数: 关键词:RAND() [产生0~1之间的随机数] mysql> SELECT RAND( ), RAND( ), RAND( ); +----------- ...

  6. 操作MySQL数据库相关代码

    注意事项: 1.导入驱动包,如我导的是mysql-connector-java-5.1.26-bin.jar 2.修改下面代码中的用户名和密码 3.其中URL为"jdbc:mysql://数 ...

  7. 随笔编号-06 MYSQL数据库相关知识合集

    1  MYSQL取得某一范围随机数: 关键词:RAND() [产生0~1之间的随机数] mysql> SELECT RAND( ), RAND( ), RAND( ); +----------- ...

  8. django配置-mysql数据库相关配置

    Django3版本之前的配置 1. Django默认配置的数据库是sqlite 2. 使用mysql数据库需要下载的包 pip3 install PyMySQL 3. Django配置PyMySQL ...

  9. MySQL数据库相关资料

    python 全栈开发,Day60(MySQL的前戏,数据库概述,MySQL安装和基本管理,初识MySQL语句) python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整 ...

随机推荐

  1. ecstore-自定义app里增加对应的wap的模板

    注意第二个参数空第三个参数是自定义app名称$this->page('wap/member/recmembers.html','','ecstoreapprcomp2p');

  2. php限制文件下载速度的代码

    有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能.限制下载速度最大的好处是节省带宽,避免瞬时流量过大而造成网络堵塞.本文将和你分享如何通过php代码来实现限制文件的 ...

  3. RGB Resampler IP核的测试

    关于RGB Resampler IP核的测试 1.RGB Resampler功能描述 将输入的RGB数据流转换成其它格式的RGB数据流. 2.功能验证 设置源图像像素数据为:3X4格式. 设置RGB ...

  4. SQL Server孤立账户解决办法

    选择你想要的数据库. 执行 exec sp_change_users_login 'UPDATE_ONE','用户名','登录名' 假如你的登录名是:sd exec sp_change_users_l ...

  5. laravel5.5的任务调度(定时任务)详解(demo)

    https://blog.csdn.net/LJFPHP/article/details/80417552 laravel5.5的定时任务详解(demo) 这篇文章写得挺详细的.看了它我基本就会用了 ...

  6. java多线程找素数实例

    package ltb20180106; public class FindPrime implements Runnable{ private int prime; private int q; p ...

  7. java中经常使用的Swing组件总结

    1.按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且 ...

  8. Javascript之类型转换(二)

    前言 类型转换js中主要有以下几种情况: 1.条件判断时: 2.对象转基本类型时: 3.四则运算时: 4.‘==’操作符比较值时: 5.比较运算符时. 一.条件判断时 在条件判断时,除了 undefi ...

  9. bzoj4980: 第一题

    Description 神犇xzyo听说sl很弱,于是出了一题来虐一虐sl.一个长度为2n(可能有前缀0)的非负整数x是good的,当且仅当 存在两个长度为n(可能有前缀0)的非负整数a.b满足a+b ...

  10. 信息安全-加密:DES 加密

    ylbtech-信息安全-加密:DES 加密 DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资 ...