Linux下C语言操作MySQL
来源:互联网 发布:淘宝飞鸽电动车怎么样 编辑:程序博客网 时间:2024/05/17 06:49
1. MySQL数据库简介
MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源。MySQL有以下特性:
(1) 使用C和C++编写,并使用了多种编译器进行测试,保证源码的可移植性。
(2) 支持多线程,利用CPU资源,支持多用户。
(3) 可以处理拥有上千万条记录的大型数据库。
(4)既可以作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为 一个库而嵌入到其他软件中去。
2. MySQL数据库的安装 安装MySQL数据库需要三个软件包:
(1)服务器
(2)客户端
(3) 开发库-如果用C或C语言开发,就得安装开发库。
MySQL-server-5.5.8-1.rhel5.i386.rpm
MySQL-client-5.5.8-1.rhel5.i386.rpm
MySQL-devel-5.5.8-1.rhel5.i386.rpm 在Linux下用rpm -ivh 安装即可。
3. MySQL的相关目录
/usr/bin MySQL客户端程序或脚本
/usr/sbin mysqld服务器相关程序
/var/lib/mysql 日志文件,数据库数据文件存放目录
/usr/share/doc/packages 使用手册,开发文档存放目录
/usr/include/mysql 接口函数库头文件存放目录
/usr/lib/mysql 接口函数动态链接库存放目录
/usr/share/mysql 错误消息和字符集文件存放目录
/usr/share/sql-bench 基本程序存放目录
4. MySQL数据库的基本操作
--查看linux系统下是否装有: cd /etc/init.d/mysqld/
--启动MySQL : /etc/init.d/mysqld start
--进入MySQL界面:mysql
eg: create table stu(name char(20), num int(4), age int(2), sex char(1) );
eg: select *from stu;
--表中添加数据
mysql> insert into 表名 values();
eg:insert into musictable values('1.wav','/home/2Stage/Project/music');
eg:delete from stu where name="xiaoming";
--退出mysql
mysql>quit
--创建一个新的用户
mysql>grant select,delete,insert on *.* to user_1@localhost identified by "123";
grant ---权限----on 数据库.数据库中所有表 用户名@ 使用地方(%表示所有地方)identified by 密码
--进入创建的用户 :mysql -u user_1 -p
: 密码
5. MySQL数据搬家
(1)查看MySQL数据存放位置: ls /var/lib/mysql/
(2)home目录下新建: mkdir /home/data
mv /var/lib/mysql/ /home/data
(3)修改配置文件:vim /etc/my.cnf
第3行:socket=/var/lib/mysql/mysql.sock 改为 socket=新建路径
(4)修改配置文件:vim /etc/rc.d/init.d/mysqld
第51行:get_mysql_option mysqld datadir "/var/lib/mysql" 改为:get_mysql_option mysqld datadir "新建路径"
6. C语言操作MySQL数据库
代码1:
编译:gcc test.c -o test -lmysqlclient -L/usr/lib/mysql
或:gcc test.c -o test $(mysql_config --cflags) $(mysql_config --libs)
解释:
(1) mysql_config --cflags 寻找mysql编译相关的头文件等信息。
(2) mysql_config --libs 寻找mysql编译所需要的库函数。
(3) -L/usr/lib 指出静态库寻找的路径。在这里也可以不写,因为系统会去默认的/lib,/usr/lib去寻找库函数。如果libmysqlclient.a在/usr/lib/mysql下,那么-L/usr/lib/mysql 这个目录。
(4)非标准的库函数,链接时用-lmysqlclient.原库名为libmysqlclient.a去掉lib和.a。
(5) -I是包含头文件等信息,及include .(6) 动态链接库的寻找顺序:
a. LD_LIBRARY_PATH设置的目录下.
b. /etc/ld.so.conf 加到这个文件中的目录。
c. 默认的 /usr/lib,/lib目录下。
(7)头文件的寻找顺序
a. -I所指定的目录中去寻找
b.gcc的环境变量指定的目录C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATHc. /usr/include /usr/local/include 等目录下寻找。
(8)静态库的寻找顺序
a. -L所指定的静态库寻找路径
b.gcc环境变量LIBRARY_PATH
c. /lib ,/usr/lib,/usr/local/lib代码2:
参考文章:点击打开链接
- Linux下用C语言操作MySQL
- linux下c语言操作mysql[转]
- linux下c语言操作mysql数据库!
- linux下C语言操作MySQL数据库
- Linux下C语言操作MySQL
- linux下c语言操作mysql数据库
- Linux下C语言编程操作MySQl
- Linux下C语言学习笔记—操作MySQL
- linux下c语言学习笔记——操作mysql
- Linux下C语言学习笔记—操作MySQL
- linux下c语言学习笔记——操作mysql
- Linux下C语言学习笔记—操作MySQL
- linux下c语言进行mysql数据库操作---笔记
- Linux下通过C语言操作MySQL数据库
- linux下c语言学习笔记——操作mysql
- Linux下 C语言 Mysql操作和字符集设置
- linux下C语言编程操作MySQL数据库
- linux下C语言编程操作MySQL数据库
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- 循环链表-约瑟夫问题-猴子选大王
- 压纹辊
- Win8 app判断网络连接状态
- Linux 内核引导参数简介
- Linux下C语言操作MySQL
- 播布客全部视频教程汇总
- 第八周项目六计算周工资
- IO多路复用详解【转】
- 第二周项目2 圆柱体表面积
- 如果你看不见你还能编程吗?
- 谷歌董事长施密特给年轻职场人士的八条建议
- VS制作安装包的一些记录
- Android项目Tab类型主界面大总结 Fragment+TabPageIndicator+ViewPager