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),完整 ...
随机推荐
- 【转】车和家CEO李想回顾创业20年:站在更高层才能看到低层问题
明天就要上班了,写一下我创业20年经历的五个楼层,每一层的认知回过头来看都是天壤之别,以及无比的幸运.只有到了更高一层,你才可以更好的看到低楼层的问题.希望对你的工作有所帮助. 一层楼,生为一个普通的 ...
- deque/defaultdict/orderedict/collections.namedtuple()/collections.ChainMap() 笔记
关于deque的使用 collections.deque([list[, max_length]]) # 不限定长度,可随意添加没有上限 >>> from collections i ...
- mysql show master status为空值
问题 执行show master status,输出结果为空: mysql> show master status; Empty set (0.00 sec) 原因 mysql没有开启日志. 查 ...
- .net 读取/保存 文件 到 局域网 服务器
public class IdentityScope : IDisposable { /// <summary> /// 登录一个新用户 /// </summary> /// ...
- 【java】数据类型
逻辑型boolean: boolean类型数据只能取值True或False,不可以0或者非0替代True或False,这点与c语言不同. 字符型char: 一个char类型的字符占两个字节.一个汉字也 ...
- imp导入备份时报:无法转换为环境字符集句柄
imp导入备份时报:无法转换为环境字符集句柄 ... 在imp 还原数据库的时候出现问题如下: 这个问题是 你用 expdp导出的 却用客户端的 imp 导入:换成impdp导入即可. 当用impdp ...
- Cygwin使用3-修改Cygwin的默认启动路径
原先启动Cygwin后,pwd显示: C:\Documents and Settings\Administrator@IBM-EBDC0EAC4B7 ~$ pwdC:\Documents and Se ...
- Intellij IDEA神器值得收藏的小技巧
概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...
- 黄聪:JS正则表达式验证数字
<script type="text/JavaScript"> function validate(){ var reg = new RegExp( ...
- Flsk-Werkzeug-请求参数获取备忘
Werkzeug:response,request,routing 获取请求参数:data,form,args,files,cookies,headers,method,url routing:Rul ...