1. MySQL的安装与配置:
在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo apt-get install mysql-server
安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦。安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功: 复制代码 代码如下: ps -el | grep mysql
如果mysql服务没有正常的运行,可以使用下面指令对mysql服务进行重启: 复制代码 代码如下: sudo service mysql restart
喜欢使用Workbench界面的,还需要安装Workbench: 复制代码 代码如下: sudo apt-get install mysql-workbench
Workbench的启动使用如下命令: 复制代码 代码如下: mysql-workbench --log-level=debug3 --verbose
2. MySQL命令行:
我们使用root去登录MySQL,然后做相关的操作:
复制代码 代码如下: mysql -u root -p
在此,系统会提示输入密码,只需要输入之前设置的MySQL密码即可,然后程序会进入mysql命令行模式下,假设我们需要查看user信息,我们使用如下命令: 复制代码 代码如下: use mysql SELECT host,user,password FROM user;
MySQL会返回所有host,user和password等信息。其他比较复杂的操作,诸如添加数据库,添加表等和普通的数据操作命令一致,后面会以一个实例来说明。让我们赶快进入Linux下C操作MySQL的实践吧!
3. 使用C语言管理MySQL数据库:
首先,我们需要安装在Linux下操作MySQL多依赖的库,安装命令如下: 复制代码 代码如下: sudo apt-get install libmysqlclient-dev
安装了这个之后,我们编程所需要的头文件,库文件等就齐全了,让我们开始C编程之旅吧!
首先,让我们准备一个我们用来折腾的空间,也就是准备一个折腾专属账户,一个折腾专属数据库和数据表等:
复制代码 代码如下: #添加账户 GRANT ALL ON *.* TO rick@localhost IDENTIFIED BY 'secret' q #使用新创建的rick账户登录 mysql -u rick -p #创建数据库 CREATE DATABASE foo;
然后,我们使用一个sql文件插入数据表和测试数据:
复制代码 代码如下: -- -- Create the table children -- CREATE TABLE children ( childno int(11) NOT NULL auto_increment, fname varchar(30), age int(11), PRIMARY KEY (childno) ); -- -- Populate the table 'children' -- INSERT INTO children(childno,fname,age) VALUES (1,'Jenny',21); INSERT INTO children(childno,age) VALUES (2,'Andrew',17); INSERT INTO children(childno,age) VALUES (3,'Gavin',8); INSERT INTO children(childno,age) VALUES (4,'Duncan',6); INSERT INTO children(childno,age) VALUES (5,'Emma',4); INSERT INTO children(childno,age) VALUES (6,'Alex',15); INSERT INTO children(childno,age) VALUES (7,'Adrian',9);
将上述sql语句存为create_children.sql,然后使用下列命令导入MySQL数据库foo: 复制代码 代码如下: mysql -u rick --password=secret foo . create_children.sql
好了,写个demo进行测试吧:
复制代码 代码如下: #include <stdlib.h> #include <stdio.h>
#include "mysql.h"
int main(int argc,char *argv[]) { MYSQL my_connection; int res;
mysql_init(&my_connection); if (mysql_real_connect(&my_connection,"localhost", "rick","secret","foo",NULL,0)) { printf("Connection successn"); res = mysql_query(&my_connection,"INSERT INTO children(fname,age) VALUES('Ann',3)"); if (!res) { printf("Inserted %lu rowsn", (unsigned long)mysql_affected_rows(&my_connection)); } else { fprintf(stderr,"Insert error %d: %sn",mysql_errno(&my_connection),mysql_error(&my_connection)); }
mysql_close(&my_connection); } else { fprintf(stderr,"Connection failedn"); if (mysql_error(&my_connection)) { fprintf(stderr,"Connection error %d: %sn",mysql_error(&my_connection)); } } return EXIT_SUCCESS; }
将上述代码保存为demo.c。上述代码中,我们需要包含mysql.h头文件来使用mysql提供的API对MySQL进行操作。程序写好了,编译过程需要加入需要的链接信息: 复制代码 代码如下: gcc -I/usr/include/mysql demo.c -L/usr/lib/mysql -lmysqlclient -o demo
好了,程序成功编译,运行一下试试吧:
复制代码 代码如下: ./demo
#结果如下 Connection success Inserted 1 rows
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|