Mysql安装与c++使用mysql
来源:互联网 发布:伊卡尔迪 国家队 知乎 编辑:程序博客网 时间:2024/05/18 10:40
Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
然后通过 show databases; 就可以查看当前的数据库。
我们选择 mysql数据库就行下一步操作,使用use mysql 命令,显示当前数据库的表单:show tables
写一个简单的程序来访问该数据库,实现 show tables 功能:
#include <mysql/mysql.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char server[] = "localhost";
char user[] = "root";
char password[] = "105982";
char database[] = "rmondb";
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s \n", row[0]);
}
mysql_free_result(res);
mysql_close(conn);
printf("finish! \n");
return 0;
}
编译代码的时候需要链接mysql的库,可以通过如下方式编译:
g++ -Wall mysql_test.cpp -o mysql_test -lmysqlclient
然后运行编译好的代码:
可见结果和使用SQL语句 show tables 是一样的。
make it simple, make it happen
下面是c++操作mysql的常见函数:
为mysql_real_connect()分配或初始化一个MYSQL对象。若mysql为NULL,函数为其分配,初始化并返回一个新对象;否则对象被初始化并返回该对象的地址。
返回值:一个被初始化了的MYSQL* handle,若内存不足返回NULL。
为连接设置一些连接项。必须在mysql_init()之后,mysql_real_connect()之前调用该函数。
试图与运行在host上的mysql数据库建立一个连接。在调用该函数之前,必须先调用mysql_init()初始化MYSQL结构体。
返回值:连接成功返回A MYSQL* connection handle,连接失败返回NULL。
执行由stmt_str指向的SQL语句。不能执行包含二进制的数据(字符“\0”是二进制数据),但mysql_real_query()可以;通常使用单独的SQL语句(不带“;”的),也可调用mysql_real_connect() 或mysql_set_server_option()指定以分号分隔的多个SQL语句
返回值:SQL语句执行成功返回0,出错返回非0。
length是字符串stmt_str的字节数。除能执行二进制的SQL语句外,其他与mysql_query()相同。
在调用mysql_query()或mysql_real_query()之后,必须调用mysql_store_result()或mysql_use_result()才能产生一个结果集,在完成对结果集的处理之后,必须调用mysql_free_result()释放结果集
初始化一个结果集检索,但并不像mysql_store_result()那样把结果集读到client,而是通过调用mysql_fetch_row()进行逐行检索,直到返回一个NULL,直接从server读取,节省时间和空间
返回值:成功返回一个MYSQL_RES结构体,出错返回NULL
同mysql_use_result()
该函数用来在由多个SQL语句构成的单独语句字符串时执行。在每次调用该函数之前,一定要使用 mysql_free_result()释放当前的语句的结果集。
检索结果集中的下一行,使用完mysql_store_result()后,无要检索的行返回NULL。使用完mysql_use_result()后,无要检索的行或出错返回NULL。
每行的值的个数可由mysql_num_fields(result)获知,如果row保存mysql_fetch_row()的返回值,则指向值的指针是row[0] to row[mysql_num_fields(result)-1],空值由NULL指向
返回值:成功返回下一行的MYSQL_ROW structure,出错或没有要检索的行返回NULL
关闭先前打开的连接,同时也释放由mysql指向的连接handle,若handle是由mysql_init() or mysql_connect()分配的。
- 安装与使用MySQL
- MySql安装与使用
- mySQL安装与使用
- MySQL安装与使用
- Mysql安装与使用
- mysql: mysql++的安装与使用
- Mysql安装与c++使用mysql
- linux 安装与使用MySQL
- mysql的安装与使用
- tpcc-mysql安装与使用
- tpcc-mysql安装与使用
- 安装与使用MYSQL注意事项
- linux mysql安装与使用
- mysql windows 安装与使用
- python mysql安装与使用
- Mysql-mytop安装与使用
- mysql安装与简单使用
- mysql-administrator的安装与使用
- Linux下多进程
- PHP 遍历多维数组成一维,(数组元素可为对象)
- 【Android View绘制体系】invalidate
- svn 锁住了,并且无法clean up 的解决方法
- Multiple dex files define Lorg/kobjects/base64/Base64;
- Mysql安装与c++使用mysql
- [SMOJ1813]不同子串个数
- SpringBoot + MyBatis + DRUID + MySQL Maven依赖配置
- numCk
- 首席架构师修炼真经:除经验技术能力外,还要有领导力!
- Linux下父子进程匿名管道通信
- Java Lambda(5)
- 题目1182:统计单词
- ReentrantLock与Condition