数据库操作

ubt1804 安装mqsql

apt install mysql-server
netstat -tap | grep mysql  #查看安装成功与否

建表

  • 创建表结构
CREATE TABLE `satStatus` (  --状态表
  `satId` int NOT NULL AUTO_INCREMENT, --id
  `status` tinyint(1) DEFAULT NULL, --0 不在线 1在线
  `x` float DEFAULT NULL,  -- 三维坐标
  `y` float DEFAULT NULL,
  `z` float DEFAULT NULL,
  PRIMARY KEY (`satId`)
) ENGINE=InnoDB AUTO_INCREMENT=204 DEFAULT CHARSET=latin1;
  • 批量添加随机数据

定义存储过程

delimiter $$  # 定义结束符
create procedure addTestData()
begin
declare number int;
set number = 1;
while number <= 100 #插入N条数据
do
INSERT into satStatus(`status`, `x`, `y`, `z`) values(1, truncate((1+rand()*10),2), truncate((1+rand()*10),2), truncate((1+rand()*10),2));
set number = number + 1;
end
while;
end $$;

调用存储过程

call addTestData();

在这里插入图片描述

MySQL用户的添加、删除、登录、权限设置等内容

https://blog.csdn.net/shuang_waiwai/article/details/120825086

在安装过程中mysql数据库自动为你设置了账号密码,并放在了/etc/mysql/debian.cnf文件中
使用命令查看mysql数据库自动设置的随机账户与密码

sudo cat /etc/mysql/debian.cnf

在这里插入图片描述

  • 添加用户
create user 'user01' @'localhost' identified by 'user01';

//低版本数据库
create user '用户民'@'%' identified by '密码';
//高版本数据库
create user '用户名'@'%' identified with mysql_native_password by '密码';
‘%’ - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问
  • 修改密码
alter user '用户名'@'%' identified by '密码';
  • 登录
mysql -u user01 -p
  • 删除用户
drop user ‘user01’@’localhost’;
  • 查看所有用户
select user,host from mysql.user;

在这里插入图片描述

  • 添加用户权限
//指定数据库
grant all privileges on 想授权的数据库.* to '用户名'@'%';
//全部数据库
grant all privileges on *.* to '用户名'@'%';

all 可以替换为 select,delete,update,create,drop

常用命令

truncate table satStatus;  --删除表数据

-- 生成 0~1 之间的随机小数
0 < RAND() <1
 
-- 乘以 9000,变成 0~9000 之间随机小数
0 < RAND*9000 < 9000
 
-- 加上 1000,变成 0~10000 之间的随机小数
0 < RAND*9000+1000 < 10000
 
-- 使用 CEILING 函数向上取整,去掉后面的小数,得到一个整数
-- 或使用 FLOOR 函数向下取整,都可以
CEILING(RAND()*9000+1000)
-- 或
FLOOR(RAND()*9000+1000)

Mysql数据库添加主键后,删除数据,数据依然排序显示

范式:alter table 表名 AUTO_INCREMENT=N;
	 delete from info where stuno =10;
 	 alter table info AUTO_INCREMENT=06;
需要执行的语句为:范式:alter table 表名 AUTO_INCREMENT=N; ( ‘N’:代表着主键需要从那个数据开始排序)

Mysql删除表中的数据有三种方法,分别是

  • delete ,drop,truncate。

一、delete删除表中的数据
delete好from结合使用,格式一般为:delete from 表名 where 条件,delete删除数据是将Mysql表中的数据一行一行的删除,不删除表的结构,也不释放表的空间,可以回滚(rollback)

二、drop删除表中的数据
drop删除表的格式为:drop table 表名,drop一般将表的数据直接删除,以及删除表的结构同时释放空间,删除数据后无法找回

三、truncate删除表中的数据
truncate删除表的格式为:truncate table 表名,truncate删除表中的所有数据,释放空间,但是保留表的结构,不能与where一起使用,删除数据后不可以回滚。

C++ 连接数据库获取/更新/插入数据/删除数据

  • 环境
    配置MySQL:sudo apt-get install mysql-client mysql-server libmysqlclient-dev
    clion c++17

  • cmakeLists.txt 配置文件

cmake_minimum_required(VERSION 3.25)
project(microCloud)

set(CMAKE_CXX_STANDARD 17)
include_directories("/usr/include/mysql")
add_executable(microCloud main.cpp Mysql.cpp Mysql.h)

target_link_libraries(microCloud /usr/lib/x86_64-linux-gnu/libmysqlclient.so)

注:需要添加库头文件和动态链接库
库文件默认位置: /usr/include/mysql
链接库:执行 mysql_config --cflags --libs 查询位置

在这里插入图片描述

报错记录

  • 查看mysql版本
1进入mysql
方法(见上)
2.命令
mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 5.5.46-0ubuntu0.14.04.2 |
+-------------------------+
1 row in set (0.00 sec)

Mysql8.0解决报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements的问题:

https://blog.csdn.net/weixin_43713949/article/details/119452817

VScode中运行C#与连接MySQL数据库方法

https://blog.csdn.net/Wannna/article/details/104421413

关于怎么样才能在C#中连接MySQL数据库的问题:
连接MySQL数据库需要引用MySql.Data.dll动态库,在Visual Studio的项目中直接添加引用即可,可是在VScode中没办法,因为VScode只是个编辑器而已。那么要怎么样才能连接MySQL数据库呢?

在终端中执行下面的命令,自动下载并生成相应的MySql.Data.dll在项目bin目录下,然后添加using MySql.Data.MySqlClient便能连接MySQL数据库。

dotnet add package MySql.Data

主要通过ADO.NET模型中的MySqlConnection,MySqlCommand,MySqlDataAdapter,MySqlDataReader这四个对象进行相关的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值