安装mysql
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程会提示需要设置密码,这样便完成了mysql的安装,可以通过如下命令登录:
mysql -u root -p 其中 -u表示选择登录的用户名 -p表示登录的数据库```
一些在终端创建、修改数据库的方法:使用数据库
注意事项:
1. 创建数据库时要记得选定字符串的编码方式,一般用utf8
2. 一旦数据库建立,它的编码方式难以改变,不要试图通过修改/etc/mysql/my.con文件,这样会导致数据库不能启动,我就在这里被坑了,这里说的很清楚
安装workbench可视化界面管理数据库
sudo apt-get install mysql-workbench
如何管理、使用百度之。
链接到C++项目
首先需要安装一个链接库:
sudo apt-get install libmysqlcppconn-dev
CMakeLists.txt文件组织如下:(注意target_link_libraries加了两个链接)
cmake_minimum_required(VERSION 3.5)
project(database_test)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(database_test ${SOURCE_FILES})
target_link_libraries(database_test mysqlcppconn-static mysqlclient)
main.cpp文件:
#include <stdlib.h>
#include <iostream>
#include "mysql_connection.h"
//#include <mysql_driver.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
using namespace std;
int main() {
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
sql::PreparedStatement *pstmt;
/* create a connection */
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "xky", "123456");
con->setSchema("test");
stmt = con->createStatement();
res = stmt->executeQuery("select * from unit");
while (res->next())
{
cout << "id = " << res->getInt("id") << " ";
cout << "name = " << res->getString("unit_name")<<endl;
}
cout << endl;
delete stmt;
stmt = con->createStatement();
stmt->execute("drop table if exists test_id");
stmt->execute("create table test_id(id INT)");
delete stmt;
pstmt = con->prepareStatement("insert into test_id(id) values(?)");
for(int i = 0; i < 10; i++)
{
pstmt->setInt(1, i);
pstmt->executeUpdate();
}
delete pstmt;
pstmt = con->prepareStatement("select id from test_id order by id ASC");
res = pstmt->executeQuery();
// res->afterLast();
while(res->next())
{
cout << "\t... MySQL counts: " << res->getInt("id") << endl;
}
delete res;
delete pstmt;
delete con;
return EXIT_SUCCESS;
}
更多说明,可以查看官网