前言
数据相关的操作
Mysql安装
第一步:
sudo apt update ;
第二步:
sudo apt install mysql-server ;
第三步:
1.先进入mysql
sudo mysql
2.在sql命令行输入以下命令回车,你就可以把密码改成 mynewpassword
ALTER USER ‘root‘@’localhost’ IDENTIFIED WITH mysql_native_password by ‘mynewpassword’;
即可完成安装
QT链接Mysql
问题 : 在 usr/include/mysql 下找不到mysql.h
输入命令行: sudo apt-get install libmysqlclient-dev 进行安装
教程:
(19条消息) Ubuntu20.04下使用Qt5.12.10连接MySQL8.0.25数据库_夜深人静推公式的博客-CSDN博客_ubuntu下qt连接mysql
sudo /home/shx/Qt5.14.2/5.14.2/gcc_64/bin/qmake “INCLUDEPATH+=/usr/include/mysql” “LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient” mysql.pro
QT中连接数据库
// //点击查询系统才连接数据库
QSqlDatabase sql;
//判断是否已经打开数据库
if(QSqlDatabase::contains("qt_sql_default_connection"))
sql = QSqlDatabase::database("qt_sql_default_connection");
else
sql = QSqlDatabase::addDatabase("QMYSQL");
sql.setHostName("localhost");
sql.setDatabaseName("Bjpowernode");
sql.setUserName("root");
sql.setPassword("shxshx111");
if(sql.open())
qDebug() << "success!";
else
qDebug()<< "failed!" ;
linux下C++连接数据库
//初始化数据连接变量
MYSQL *connection = mysql_init(NULL);
if (connection == nullptr)
{
cout << "Erorr:" << mysql_error(connection);
return;
}
//mysql_real_connect 建立数据库连接
connection = mysql_real_connect(connection, host, user, pwd, datesql_name,0,NULL,0);
if (connection == nullptr)
{
cout << "Erorr:" << mysql_error(connection);
return ;
}
//语句查询
//成功返回0 否则失败
if (!mysql_query(connection, sql))
{
//获取结果集
result = mysql_use_result(connection);
//获取整行
while (row = mysql_fetch_row(result))
{
vector<string> rowResult;
//获取一行的各列
for (int j = 0; j < mysql_num_fields(result); ++j)
{
cout << row[j] << " ";
}
cout << endl;
}
//释放结果集
mysql_free_result(result);
}
else
{
cout << "query Erorr:" << mysql_error(connection);
return false;
}
//关闭数据库
mysql_close(connection);
}
bool Mysql::exeSQL(char* sql)
{
//xxx
}
C++操作MySql数据库常用API函数
mysql_query() 执行指定为一个空结尾的字符串的SQL查询。 — 0为成功 否则失败
mysql_close() 关闭一个服务器连接。
mysql_connect() 连接一个MySQL服务器。该函数不推荐;使用mysql_real_connect()代替。 –MYSQL
mysql_error() 返回最近被调用的MySQL函数的出错消息。
mysql_use_result() 初始化一个一行一行地结果集合的检索 —-MYSQL_RES
mysql_fetch_row() 从结果集合中取得下一行。 —MYSQL_ROW
mysql_free_result() 释放一个结果集合使用的内存。
mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。
mysql_change_user() 改变在一个打开的连接上的用户和数据库。
mysql_create_db() 创建一个数据库。该函数不推荐;而使用SQL命令CREATE DATABASE。
mysql_data_seek() 在一个查询结果集合中搜寻一任意行。
mysql_debug() 用给定字符串做一个DBUG_PUSH。
mysql_drop_db() 抛弃一个数据库。该函数不推荐;而使用SQL命令DROP DATABASE。
mysql_dump_debug_info() 让服务器将调试信息写入日志文件。
mysql_eof() 确定是否已经读到一个结果集合的最后一行。这功能被反对; mysql_errno()或mysql_error()可以相反被使用。
mysql_errno() 返回最近被调用的MySQL函数的出错编号。
mysql_escape_string() 用在SQL语句中的字符串的转义特殊字符。
mysql_fetch_field() 返回下一个表字段的类型。
mysql_fetch_field_direct () 返回一个表字段的类型,给出一个字段编号。
mysql_fetch_fields() 返回一个所有字段结构的数组。
mysql_fetch_lengths() 返回当前行中所有列的长度。
mysql_field_seek() 把列光标放在一个指定的列上。
mysql_field_count() 返回最近查询的结果列的数量。
mysql_field_tell() 返回用于最后一个mysql_fetch_field()的字段光标的位置。
mysql_get_client_info() 返回客户版本信息。
mysql_get_host_info() 返回一个描述连接的字符串。
mysql_get_proto_info() 返回连接使用的协议版本。
mysql_get_server_info() 返回服务器版本号。
mysql_info() 返回关于最近执行得查询的信息。
mysql_init() 获得或初始化一个MYSQL结构。
mysql_insert_id() 返回有前一个查询为一个AUTO_INCREMENT列生成的ID。
mysql_kill() 杀死一个给定的线程。
mysql_list_dbs() 返回匹配一个简单的正则表达式的数据库名。
mysql_list_fields() 返回匹配一个简单的正则表达式的列名。
mysql_list_processes() 返回当前服务器线程的一张表。
mysql_list_tables() 返回匹配一个简单的正则表达式的表名。
mysql_num_fields() 返回一个结果集合重的列的数量。
mysql_num_rows() 返回一个结果集合中的行的数量。
mysql_options() 设置对mysql_connect()的连接选项。
mysql_ping() 检查对服务器的连接是否正在工作,必要时重新连接。
mysql_real_connect() 连接一个MySQL服务器。
mysql_real_query() 执行指定为带计数的字符串的SQL查询。
mysql_reload() 告诉服务器重装授权表。
mysql_row_seek() 搜索在结果集合中的行,使用从mysql_row_tell()返回的值。
mysql_row_tell() 返回行光标位置。
mysql_select_db() 连接一个数据库。
mysql_shutdown() 关掉数据库服务器。
mysql_stat() 返回作为字符串的服务器状态。
mysql_store_result() 检索一个完整的结果集合给客户。
mysql_thread_id() 返回当前线程的ID。
常用命令
1.进入数据库 mysql -u root -p ; 输入密码进入
2.展示数据库 show databases;
3.使用数据库 use databases;
4.查看使用的是哪个数据库 select database();
5.查看mysql数据库版本号 select version();
6.导入资源
6.1 进入数据库 mysql -u root -p ; 输入密码进入
6.2 创建数据库 create database xxx ;
6.3 进入数据库 use xxx;
6.4 导入资源 source D:/XX/XXXX/xxx.sql ; (路径名)
7.查看表格 show tables;
对表结构进行操作
0.创建表格
create table tb_emp1 ( id INT, name VARCHAR(25),deptId INT);
1:删除列
ALTER TABLE 【表名】 DROP 【列名】
2:增加列
ALTER TABLE 【表名】 ADD 【列名】 【类型】
3:重命名列
ALTER TABLE 【表名】 CHANGE 【列名】【新名】
4:修改表字段
alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
5:查询表的字段信息
desc 表名称;
6:创建索引
ALTER TABLE tbl_name ADD INDEX index_name (column list);
7:删除索引
ALTER TABLE tbl_name DROP INDEX index_name (column list);
8:修改表名
ALTER TABLE tbl_name rename new_tbl_name;
对表中数据进行操作
9.表中添加数据
insert into book(name, author) value ('红楼梦', '曹雪芹');
10.表中删除数据
delete from 表名 where 查询条件;
11.表中修改数据
update 表名 set 列名1=新数据1,列名2=新数据2列名3=新数据3 where 查询条件
12.表中查询数据
select * from book; (where,order by, group by,in , between and)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 351134995@qq.com