当前位置: 首页 > news >正文

Ubuntu c++ MySQL数据库操作

mysql安装

sudo apt-get install update

sudo apt-get install mysql-server libmysqlclient-dev mysql-workbench

mysql启动/重启/停止

sudo service mysql start/restart/stop

登录mysql命令:mysql -uroot -p

错误异常:

解决办法:

修改mysqld.cnf配置文件

在ubuntu的terminal(也即终端)上输入sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。

[mysqld]

#

# * Basic Settings

#

user = mysql

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

lc-messages-dir = /usr/share/mysql

skip-external-locking

skip-grant-tables

作用:就是让你可以不用密码登录进去mysql。

保存,退出。输入:service mysql restart,重新启动mysql。

重新登录设置密码。

代码

#include <iostream>
#include <mysql/mysql.h>using namespace std;
///
/// \brief sql_create 创建数据库
///
void sql_create()
{MYSQL mysql;mysql_init(&mysql);if(!mysql_real_connect(&mysql, "localhost", "root", "root", "mysql", 3306, NULL, 0)) {cout<<"mysql connect error: "<<mysql_error(&mysql)<<" "<<mysql_errno(&mysql)<<endl;}string str = "create database school;";mysql_real_query(&mysql, str.c_str(), str.size());str = "alter database school charset=utf8;";mysql_real_query(&mysql, str.c_str(), str.size());
// 自动生成id add数据时去掉id
//    str = "create table school.students(id int(10) primary key auto_increment, name varchar(20) not null, age int(3) not null);";
//手动添加idstr = "create table school.students(id int(10) primary key , name varchar(20) not null, age int(3) not null);";mysql_real_query(&mysql, str.c_str(), str.size());mysql_close(&mysql);
}
///
/// \brief sql_add 增加数据
///
void sql_add()
{MYSQL mysql;mysql_init(&mysql);mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8");mysql_options(&mysql, MYSQL_INIT_COMMAND, "SET NAMES utf8");if(!mysql_real_connect(&mysql, "localhost", "root", "root", "school", 3306, NULL, 0)) {cout<<"mysql connect error: "<<mysql_error(&mysql)<<" "<<mysql_errno(&mysql);}string str = "insert into students(id, name, age) values(1, \'张三\', 20)";mysql_real_query(&mysql, str.c_str(), str.size());str = "insert into students(id, name, age) values(2, \'李四\', 18)";mysql_real_query(&mysql, str.c_str(), str.size());str = "insert into students(id, name, age) values(3, \'王五\', 19)";mysql_real_query(&mysql, str.c_str(), str.size());str = "insert into students(id, name, age) values(4, \'赵六\', 21)";mysql_real_query(&mysql, str.c_str(), str.size());str = "insert into students(id, name, age) values(5, \'马七\', 20)";mysql_real_query(&mysql, str.c_str(), str.size());mysql_close(&mysql);
}
///
/// \brief sql_modify 修改数据
///
void sql_modify()
{MYSQL mysql;mysql_init(&mysql);mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8");mysql_options(&mysql, MYSQL_INIT_COMMAND, "SET NAMES utf8");if(!mysql_real_connect(&mysql, "localhost", "root", "root", "school", 3306, NULL, 0)) {cout<<"mysql connect error: "<<mysql_error(&mysql)<<" "<<mysql_errno(&mysql);}string str = "update students set age = 30 where name = \'王五\'";mysql_real_query(&mysql, str.c_str(), str.size());mysql_close(&mysql);
}
///
/// \brief sql_delete 删除数据
///
void sql_delete()
{MYSQL mysql;mysql_init(&mysql);mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8");mysql_options(&mysql, MYSQL_INIT_COMMAND, "SET NAMES utf8");if(!mysql_real_connect(&mysql, "localhost", "root", "root", "school", 3306, NULL, 0)) {cout<<"mysql connect error: "<<mysql_error(&mysql)<<" "<<mysql_errno(&mysql);}string str = "delete from students where name = \'赵六\'";mysql_real_query(&mysql, str.c_str(), str.size());mysql_close(&mysql);
}
///
/// \brief sql_query 查询数据
///
void sql_query()
{MYSQL mysql;mysql_init(&mysql);mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8");mysql_options(&mysql, MYSQL_INIT_COMMAND, "SET NAMES utf8");if(!mysql_real_connect(&mysql, "localhost", "root", "root", "school", 3306, NULL, 0)) {cout<<"mysql connect error: "<<mysql_error(&mysql)<<" "<<mysql_errno(&mysql);}string str = "select * from students;";mysql_real_query(&mysql, str.c_str(), str.size());MYSQL_RES *result = mysql_store_result(&mysql);MYSQL_ROW row;while (row = mysql_fetch_row(result)) {cout<<"id: "<<row[0]<<" name: "<<row[1]<<" age: "<<row[2]<<endl;}mysql_free_result(result);mysql_close(&mysql);
}int main()
{cout << "Hello World!111" << endl;sql_create();cout << "Hello World!222" << endl;sql_add();cout << "Hello World!333" << endl;sql_query();cout << "Hello World!444" << endl;sql_modify();cout << "Hello World!555" << endl;sql_query();cout << "Hello World!666" << endl;sql_delete();cout << "Hello World!777" << endl;sql_query();return 0;
}

编译:

g++ main.cpp -lmysqlclient

运行结果:

相关文章:

Ubuntu c++ MySQL数据库操作

mysql安装sudo apt-get install updatesudo apt-get install mysql-server libmysqlclient-dev mysql-workbenchmysql启动/重启/停止sudo service mysql start/restart/stop登录mysql命令&#xff1a;mysql -uroot -p错误异常&#xff1a;解决办法&#xff1a;修改mysqld.cnf配…...

C++11:lambda表达式

文章目录1. 概念2. 语法3. 示例示例1示例2示例3示例44. 捕捉方式基本方式隐式和混合补充5. 传递lambda表达式示例6. 原理7. 内联属性1. 概念 lambda表达式实际上是一个匿名类的成员函数&#xff0c;该类由编译器为lambda创建&#xff0c;该函数被隐式地定义为内联。因此&#…...

【Android -- 开源库】表格 SmartTable 的基本使用

介绍 1. 功能 快速配置自动生成表格&#xff1b;自动计算表格宽高&#xff1b;表格列标题组合&#xff1b;表格固定左序列、顶部序列、第一行、列标题、统计行&#xff1b;自动统计&#xff0c;排序&#xff08;自定义统计规则&#xff09;&#xff1b;表格图文、序列号、列标…...

自动化测试实战篇(9),jmeter常用断言方法,一文搞懂9种测试字段与JSON断言

Jmeter常用的断言主要有&#xff0c;JSON断言和响应断言这两种方式。 断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据 第一种响应断言Apply to&#xff1a;表示应用范围测试字段&#xff1a;针对响应数据进行不同的匹配响应文本响应代码响应信息…...

vue-virtual-scroll-list虚拟列表

当DOM中渲染的列表数据过多时&#xff0c;页面会非常卡顿&#xff0c;非常占用浏览器内存。可以使用虚拟列表来解决这个问题&#xff0c;即使有成百上千条数据&#xff0c;页面DOM元素始终控制在指定数量。 一、参考文档 https://www.npmjs.com/package/vue-virtual-scroll-li…...

C++学习笔记(以供复习查阅)

视频链接 代码讲义 提取密码: 62bb 文章目录1、C基础1.1 C初识&#xff08;1&#xff09; 第一个C程序&#xff08;2&#xff09;注释&#xff08;3&#xff09;变量&#xff08;4&#xff09;常量&#xff08;5&#xff09;关键字&#xff08;6&#xff09;标识符命名规则1.2 …...

备份时间缩短为原来 1/4,西安交大云数据中心的软件定义存储实践

XEDP 统一数据平台为西安交通大学云平台业务提供可靠的备份空间和强大的容灾能力&#xff0c;同时确保数据安全。西安交通大学&#xff08;简称“西安交大”&#xff09;是我国最早兴办、享誉海内外的著名高等学府&#xff0c;是教育部直属重点大学。学校现有兴庆、雁塔、曲江和…...

我国近视眼的人数已经超过了六亿,国老花眼人数超过三亿人

眼镜是一种用于矫正视力问题、改善视力、减轻眼睛疲劳的光学器件&#xff0c;在我们的生活中不可忽略的一部分&#xff0c;那么我国眼镜市场发展情况是怎样了&#xff1f;下面小编通过可视化互动平台对我国眼镜市场的状况进行分析。我国是一个近视眼高发的国家&#xff0c;据统…...

设计模式(十八)----行为型模式之策略模式

1、概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#xff0c;当然可以进行代码开发的工具有很多&#xff0c;可以选择Idea进行开发&a…...

VUE3入门基础:input元素的type属性值说明

说明 在Vue 3中&#xff0c;<input>元素的type属性可以设置不同的类型&#xff0c;以适应不同的输入需求。 常见的type属性取值如下&#xff1a; text&#xff1a;默认值&#xff0c;用于输入文本。password&#xff1a;用于输入密码&#xff0c;输入内容会被隐藏。em…...

关于供应链,一文教你全面了解什么是供应链

什么是供应链&#xff1f;供应链是指产品生产和流通过程中所涉及的原材料供应商、生产商、分销商、零售商以及最终消费者等成员通过与上游、下游成员的连接 (linkage) 组成的网络结构。也即是由物料获取、物料加工、并将成品送到用户手中这一过程所涉及的企业和企业部门组成的一…...

Scope作用域简单记录分析

类型 singleton 单例作用域 prototype 原型作用域 request web作用域,请求作用域,生命周期跟request相同,请求开始bean被创建,请求结束bean被销毁 session web作用域,会话作用域,会话开始bean被创建,会话结束bean被销毁 application web作用域,应用程序作用域,应用程序创建…...

ChatGPT创作恋爱甜文

林欣是一个长相可爱、性格呆萌的小姑娘&#xff0c;她年纪轻轻就失去了父母&#xff0c;独自一人面对世界的冷漠和残酷。 虽然经历了这样的打击&#xff0c;但她并没有沉沦&#xff0c;反而更加努力地去生活。 她找到了一份服务员的工作&#xff0c;每天在餐厅里穿梭&#xf…...

贝叶斯优化及其python实现

贝叶斯优化是机器学习中一种常用的优化技术&#xff0c;其目的是在有限步数内寻找函数的最大值或最小值。它可以被视为在探索不同参数配置与观察这些配置结果之间寻求平衡点的过程。基本思想是将我们在过去的观察和体验&#xff0c;传递到下一个尝试中&#xff0c;从而在等待数…...

Lombok使用@Builder无法build父类属性

文章目录问题描述解决方案使用示例lombok Builder注解和build父类属性问题1、简介2.使用3、Builder注解对类做了什么&#xff1f;问题描述 实体类使用Lombok的Builder来实现Builder模式&#xff0c;但是如果使用了extend继承&#xff0c;则子类无法通过Builder来Build父类属性…...

Pixhawk RPi CM4 Baseboard 树莓派CM4安装Ubuntu20.04 server 配置ros mavros mavsdk

文章目录硬件安装Ubuntu Server20.04下载rpiboot工具下载imager刷写系统配置USB配置WIFI开机安装桌面配置wifi配置串口安装ROS安装mavros安装MAVSDK-PythonInternet设置最后参考&#xff1a; https://docs.holybro.com/autopilot/pixhawk-baseboards/pixhawk-rpi-cm4-baseboard…...

后端开发过程中的安全问题

安全问题是木桶效应&#xff0c;整个系统的安全等级取决于安全性最薄弱的那个模块。在写业务代码的时候&#xff0c;要从我做起&#xff0c;建立最基本的安全意识&#xff0c;从源头杜绝低级安全问题。 1、数据源头的安全处理 对于 HTTP 请求&#xff0c;我们要在脑子里有一个…...

基于Hyperledger Fabric的学位学历认证管理系统

基于Hyperledger Fabric的学位学历认证管理系统 项目源码&#xff1a;https://github.com/Pistachiout/Academic-Degree-BlockChain 一、选题背景 学历造假、认证造假等是一个全球日益普遍的现象&#xff0c;不仅对社会产生了巨大的负面影响&#xff0c;同时也极大增加了企业…...

jq条件判断验证,正则表达式

// 判断是否包含为至少8位及以上字符,大小写字母及特殊字符 jQuery.validator.addMethod("isPwd", function (value, element) { var pwdRegex new RegExp((?.*[0-9])(?.*[A-Z])(?.*[a-z])(?.*[^a-zA-Z0-9]).{8,30}); return this.optional(elemen…...

23.3.9打卡 AtCoder Beginner Contest 259

A题 题解 对于x特判一下就好 代码 void solve() {ll x,d;cin>>n>>m>>x>>t>>d;if(n>m){nmin(n,x);if(n<m){cout<<t;return;}cout<<(m-n)*dt;}else{mmin(m,x);cout<<(m-n)*dt;}return; }B 三角函数全还给高中老师了 题…...

pdf2pptx:三分钟实现LaTeX幻灯片到PowerPoint的无缝转换

pdf2pptx&#xff1a;三分钟实现LaTeX幻灯片到PowerPoint的无缝转换 【免费下载链接】pdf2pptx Convert your (Beamer) PDF slides to (Powerpoint) PPTX 项目地址: https://gitcode.com/gh_mirrors/pd/pdf2pptx 还在为学术演示的格式兼容问题烦恼吗&#xff1f;你是否需…...

阴阳师自动化脚本:智能托管解放双手的终极指南

阴阳师自动化脚本&#xff1a;智能托管解放双手的终极指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 还在为阴阳师中重复繁琐的日常任务而烦恼吗&#xff1f;每天需要花费数…...

NetApp FAS FC SAN存储替换实战:从HP MSA到ONTAP的平滑迁移

1. 项目背景与环境摸底 这次遇到的存储替换项目挺典型的——客户原先用的是HP MSA系列SAN存储&#xff0c;现在要升级到NetApp FAS2750全闪存阵列。现场环境是标准的VMware虚拟化平台&#xff0c;通过FC协议连接存储。说实话&#xff0c;第一次看到旧存储配置时我就发现几个隐患…...

Ubuntu 20.04黑屏救星:手把手教你用tty2命令行重装NVIDIA驱动(附内核更新关闭指南)

Ubuntu 20.04黑屏救援实战&#xff1a;从tty2命令行到图形界面恢复全指南 当你满心欢喜地启动Ubuntu 20.04&#xff0c;准备开始一天的工作时&#xff0c;迎接你的却是一片漆黑——这是许多Linux用户都曾遭遇过的噩梦场景。NVIDIA驱动问题导致的系统黑屏不仅令人沮丧&#xff0…...

ARM架构TLB失效指令VALE1IS/VALE1ISNXS详解

1. ARM TLB失效指令基础解析在ARMv8/v9架构中&#xff0c;TLB&#xff08;Translation Lookaside Buffer&#xff09;作为内存管理单元&#xff08;MMU&#xff09;的核心组件&#xff0c;缓存了虚拟地址到物理地址的转换结果。当操作系统修改页表后&#xff0c;必须通过TLB失效…...

革新Mac软件管理体验:Applite智能图形化工具深度解析

革新Mac软件管理体验&#xff1a;Applite智能图形化工具深度解析 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 还在为繁琐的命令行安装而烦恼&#xff1f;是否曾因复杂的Hom…...

VMware Workstation Pro 17免费许可证密钥终极指南:快速激活专业虚拟化工具

VMware Workstation Pro 17免费许可证密钥终极指南&#xff1a;快速激活专业虚拟化工具 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all major …...

手把手教你:在RT-Thread上用STM32驱动0.96寸OLED显示动态二维码(附完整源码)

基于RT-Thread的STM32动态二维码显示系统开发实战 在智能门锁、工业设备配网等物联网场景中&#xff0c;二维码作为信息载体正发挥着越来越重要的作用。本文将完整呈现如何在RT-Thread操作系统上&#xff0c;通过STM32驱动0.96寸OLED实现动态二维码显示功能。不同于简单的功能演…...

迪士尼收购卢卡斯影业:顶级IP运营与商业并购的教科书案例

1. 一笔改变好莱坞格局的交易&#xff1a;迪士尼收购卢卡斯影业深度解析2012年10月30日&#xff0c;一则新闻震动了全球娱乐产业和无数影迷的心&#xff1a;华特迪士尼公司宣布&#xff0c;将以约40.5亿美元的价格&#xff0c;收购乔治卢卡斯创立的卢卡斯影业及其旗下最核心的资…...

第八部分-企业级实践——40. 容器成本优化

40. 容器成本优化 1. 成本优化概述 容器成本优化涉及资源利用率、云成本、存储成本、运维成本等多个维度。通过合理配置和优化策略&#xff0c;可以显著降低容器化环境的总体拥有成本&#xff08;TCO&#xff09;。 ┌────────────────────────────…...