数据库本质:
数据库就是存放在磁盘上的文件。但是存放在磁盘的文件最终需要将其读出来或者写进去,这样是不太方便的。因此就提供了一套操作该文件的系统(数据库管理系统),用来管理和操作该文件。
为什么需要数据库:
利用数据库对数据进行持久化的存储。平时程序中生成的数据,用户输入的数据,只有程序运行时才会在内存中有,当程序运行结束,数据就没有了。要想将这些数据长期保存起来就可以存放到一个文件中。因此数据库就是一个文件,但是为什么不直接存放在文件中,而是存放在叫数据库的文件中呢?因为直接将数据存放在文件中想要将数据读出来,操作数据很麻烦,用户必须自己写一套如何操作该文件的管理系统。但是现在数据库文件就已经现成的提供了一套数据库管理系统,告诉用户如何存放数据,如何操作数据…因此平常说的数据库应该有两个方面构成:1.确确实实存在于磁盘上的数据库文件,里面存放的都是数据。2.数据库管理系统,提供操作数据库的方法
关系型数据库管理系统:RDBMS
关系型数据库:
有明确的行和列,行和列长度固定。每一行叫做每一个记录,
非关系型数据库:
由于没有数据SQL语句所以也称为nosql数据库
存放数据的形式是K–V对
K:key
V: value
SQL:结构化查询语言
c语言访问mysql
为什么需要安装c/c++开发库:
c程序是无法连接数据库的,因为数据库服务器和客户端是通过tcp协议连接的。只有数据库的客户端才可以接数据库的服务器端。用户不可能自己写一个客户端去连接服务器端,自己写一个套接字,自己connect连接服务器端,自己去发送Sql语句,而这些连接操作本来就是通用的。所以就有人专门做了一个库,执行里面的方法,一调用就可以直接连接上数据库,用户只需要指定数据库所在的主机IP地址,数据库的名字,用户的名字,密码等等就可以直接进行连接。即就是连接套接字,以及数据的收发已近封装了。
安装c/c++开发库步骤:
1.切换管理员权限:sudo su
2.执行命令:apt install libmysqlclient-dev
3.安装完成后头文件放在/usr/include底下
连接数据库使用的头文件和库文件
#include <mysql/mysql.h>
有些也在 #include <mysql.h> 程序中使用了访问mysql的有关函数接口,需要在链接时指定库名: linux平台为 -lmysqlclient
连接数据库: