MySQL:视图、用户管理、C/C++/图形化界面链接访问数据库、网页逻辑

文章目录

  • 1.视图
    • 1.1 视图的基本使用
    • 1.2 视图的基本规则
  • 2.用户管理
    • 2.1 创建、删除、修改用户
    • 2.2 数据库权限
  • 3.C/C++/图形化界面链接访问数据库
    • 3.1 准备工作及常用接口介绍
    • 3.2 图形化界面访问MySQL
  • 4.用户逻辑(注册&&登录)


1.视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视
图的数据变化会影响到基表,基表的数据变化也会影响到视图。

1.1 视图的基本使用

在这里插入图片描述
在这里插入图片描述
删除视图:

drop view 视图名;

1.2 视图的基本规则

1.与表一样,必须唯一命名(不能出现同名视图或表名)
2.创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
3.视图不能添加索引,也不能有关联的触发器或者默认值
4.视图可以提高安全性,必须具有足够的访问权限
5.order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖
6.视图可以和表一起使用

2.用户管理

提示:我们之前一直都是使用的root进行登录,但是这样不好
在这里插入图片描述
查看用户信息:

mysql> use mysql;
Database changed

在这里插入图片描述
host: 表示这个用户可以从哪个主机登陆,如果是localhost,表示只能从本机登陆
user: 用户名
authentication_string: 用户密码通过password函数加密后的
*_priv: 用户拥有的权限

2.1 创建、删除、修改用户

在这里插入图片描述
在这里插入图片描述

## 2.2修改用户

2.2 数据库权限

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.C/C++/图形化界面链接访问数据库

我们在安装MySQL时,一般他都会把开发环境、客户端、服务端一起安装,我们基本上都是可以链接的。
但是如果你安装的时候有问题,可能没有开发环境,需要手动去安装才能链接数据库。

如果不能使用C语言连接mysql,需要使用mysql官网提供的库,大家可以去官网下载,网址如下
https://dev.mysql.com/downloads/
在这里插入图片描述
具体步骤大家自己去搜搜就可以这里不再多说!

大家的电脑具体能不能连上,可以做一个小测试就可以:
mysql_get_client_info()就是一个查看版本的mysql函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.1 准备工作及常用接口介绍

在这里插入图片描述
接口函数使用文档:首先进入mysql官网:https://dev.mysql.com
按照以下步骤查看使用文档:
在这里插入图片描述

#include <iostream>
#include <string>
#include <mysql/mysql.h>const std::string host = "127.0.0.1";//const std::string host = "localhost";这样也行,因为我们设置的就是本地环回
const std::string user = "connector";
const std::string passwd = "123456";
const std::string db = "conn";
const unsigned int port = 8080;int main()
{std::cout << "mysql client version:" << mysql_get_client_info() << std::endl;MYSQL *my = mysql_init(nullptr);//要使用库,必须先进行初始化!if (nullptr == my){std::cerr << "init mysql error" << std::endl;return 1;}//初始化完毕之后,必须先链接数据库,在进行后续操作if (mysql_real_connect(my, host.c_str(), user.c_str(), passwd.c_str(),db.c_str(), port, nullptr, 0) == nullptr){std::cerr << "connect mysql error" << std::endl;return 2;}std::cout << "connect success" << std::endl;mysql_close(my);//关闭mysql链接mysql_closereturn 0;
}

停止mysql,或者登录信息不对,都会造成链接mysql失败。链接mysql的信息在哪里查看,之前的博客都已经说过这里不再赘述!
在这里插入图片描述
在这里插入图片描述

//建立好链接之后,获取英文没有问题,如果获取中文是乱码:
//设置链接的默认字符集是utf8,原始默认是latin1
mysql_set_character_set(myfd, “utf8”);

这一句加在连接之后,也就是mysql_real_connect之后!!!

sql执行完以后,如果是查询语句,我们当然还要读取数据,如果update,insert等语句,那么就看下操作成功与否即可。我们来看看如何获取查询结果: 如果mysql_query返回成功,那么我们就通过mysql_store_result这个函数来读取结果。

该函数会调用MYSQL变量中的st_mysql_methods中的read_rows 函数指针来获取查询的结果。同时该 函数会返回MYSQL_RES 这样一个变量,该变量主要用于保存查询的结果。同时该函数malloc了一片内 存空间来存储查询过来的数据,所以我们一定要记的free(result),不然是肯定会造成内存泄漏的。 执行 完mysql_store_result以后,其实数据都已经在MYSQL_RES变量中了.
在这里插入图片描述

在这里插入图片描述

3.2 图形化界面访问MySQL

推荐的几个图形化界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个是免费的MySQL workbench(MySQL官方的图形化) 在这里插入图片描述
除了MySQL workbench,其他的都要收费(收费的当然好用),不过有破解版的大家可以自行寻找,这种东西不宜传播!!
在这里插入图片描述
然后Test connection 输入密码即可
下面就是一些简单的使用!
在这里插入图片描述

4.用户逻辑(注册&&登录)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/44316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式上gst rtsp server opencv mat

0 安装gstreamer sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-…

请写sql满足业务:找到连续登录3天以上的用户

为了找到连续登录超过 3 天的用户&#xff0c;我们可以使用 SQL 窗口函数和递归查询来实现。假设有一个 user_logins 表&#xff0c;包含以下字段&#xff1a; user_id&#xff08;用户ID&#xff09;login_date&#xff08;登录日期&#xff09; 假设 login_date 是 DATE 类…

怎么提高音频声音大小?提高音频声音大小的四种方法

怎么提高音频声音大小&#xff1f;在音频处理和编辑中&#xff0c;增加声音的音量是一个常见的需求&#xff0c;尤其是在确保音频清晰度和听觉效果的同时。调整音频的音量不仅仅是简单地提高音频的响度&#xff0c;它也涉及到如何保持音质的高标准&#xff0c;确保没有失真或削…

后端登录校验——Filter过滤器和Interceptor拦截器

一、Filter过滤器 前面我们学会了最先进的会话跟踪技术jwt令牌&#xff0c;那么我们要让用户使用某些功能时就要根据jwt令牌来验证用户身份&#xff0c;来决定他是否登陆了、让不让用户访问这个页面&#xff08;或功能&#xff09; 但是这样一来&#xff0c;没发一个请求&…

绝区零启动遇到的问题

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ​ 绝区零》作为米哈游的一款全新都…

【机器学习】(基础篇三) —— 线性回归

线性回归 本文介绍最经典的监督学习问题——线性回归&#xff0c;包括单变量线性回归和多变量线性回归 线性回归是回归任务&#xff0c;输入是带有标签的数据&#xff0c;根据数据关系&#xff0c;拟合出一个线性函数&#xff0c;并利用该函数进行预测等操作。线性回归分为单…

Python爬虫:BeautifulSoup的基本使用方法!

1.简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析“标签树”等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供需要抓取的数据&#xff0c;因为简单&#xff0c;所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup…

回收站删除了是不是彻底删除了 回收站删除了怎么找回 回收站删除了还能找回来吗

电脑删除的数据文件一般不会直接被彻底删除掉&#xff0c;而是会暂存在回收站中&#xff0c;这样设计主要是为了防止误删除等操作&#xff0c;如果不小心删除了很重要的文件&#xff0c;只需要在回收站对文件进行还原即可。为了让大家更了解回收站&#xff0c;下面给大家详细讲…

MIT机器人运动控制原理浅析-人形机器人

MIT人形机器人基于开发改进的执行器全新设计&#xff0c;通过可感知执行器运动动力学移动规划器(Actuator-Aware Kino-Dynamic Motion Planner)及着地控制器(Landing Controller)等实现机器人的运动控制。 机器人设计 机器人高0.7米&#xff0c;21KG(四肢重量 25%)&#xff0c;…

生物打印后的生物力学过程

生物打印后的生物力学过程 3D生物打印技术在组织工程领域展现出巨大的潜力&#xff0c;但打印后组织的生物力学特性对其最终成功至关重要。本文将详细介绍打印后组织的生物力学特性及其在组织工程中的应用。 1. 打印后水凝胶交联 原位交联可以在生物打印过程中提供足够的机械…

大数据面试题之Greenplum(2)

目录 Greenplum如何计算内存设置推荐值 Greenplum在哪里看日志&#xff1f; Greenplum 可用的客户端有哪些&#xff1f; Greenplum可以设置自动关闭空闲连接么&#xff1f; Greenplum 有没有支持非x86架构的版本&#xff0c;或者是支持arm、支持国产CPU的版本&#xff1f; …

Python 爬虫与 Java 爬虫:相似之处、不同之处和选项

在信息时代&#xff0c;网络上可用的数据量巨大且不断增长。为了从这些数据中提取有用的信息&#xff0c;爬虫已成为一种重要的技术。Python 和 Java 都是流行的编程语言&#xff0c;都具有强大的爬虫功能。本文将深入探讨 Python 爬虫和 Java 爬虫之间的差异&#xff0c;以帮助…

【RIP实验-熟悉基础配置】

实验拓扑 实验要求 根据实验拓扑的IP地址分配&#xff0c;为所有设备配置对应的IP地址和环回地址。全网运行RIPv2&#xff0c;将R1、R2、R3和R4的物理端口、Loopback地址和10.1.00网段进行宣告。并在rip协议下配置路由自动汇总&#xff0c;观察R1/R2是否能够收到10.0.0.0的详细…

Python虚拟环境:Virtualenv和Pipenv的安装理解与使用

Python虚拟环境&#xff1a;Virtualenv和Pipenv的安装理解与使用 引言 在Python开发中&#xff0c;一个常见的问题是不同项目依赖不同版本的库&#xff0c;这可能导致版本冲突。为解决这个问题&#xff0c;Python社区创造了虚拟环境工具&#xff0c;如Virtualenv和Pipenv。本…

Postman API网络:连接API开发的桥梁

&#x1f310; Postman API网络&#xff1a;连接API开发的桥梁 在当今的API驱动世界中&#xff0c;Postman不仅是一款强大的API开发和测试工具&#xff0c;还提供了一个名为API网络的功能&#xff0c;它允许用户共享和发现API。通过API网络&#xff0c;开发者可以构建、测试、…

Go语言从字符串中匹配IPV6公网地址

package mainimport ("fmt""net""regexp" )func Ipv6PatternStr(data string) []net.IP {var ips []net.IP// 使用正则表达式匹配以240开头&#xff0c;可能包含::的IPv6地址部分// 注意&#xff1a;这个正则表达式不会确保整个IPv6地址的合法性…

门墙柜加工中心是做什么的?

门墙柜加工中心&#xff0c;带有六工序自动换刀&#xff0c;是一款主要针对门板、衣柜门板、墙板扣件等工件的加工设备。 它可以实现多种加工工艺&#xff0c;如侧孔、三合一、隐性件等连接件&#xff0c;铰链孔&#xff0c;天地铰链槽、门锁孔槽、免拉手槽、海棠槽、灯槽、拉…

Linux系统学习 —— 计算机基础(笔记篇)

一、电脑硬件 电脑硬件由输入&#xff0c;控制计算&#xff0c;输出三部分组成。 输入部分包括键鼠&#xff0c;读卡器&#xff08;外部接口&#xff09;&#xff0c;扫描仪&#xff08;打印机的扫描仪&#xff09;。计算控制部分包括CPU &#xff0c; 内存&#xff0c;硬盘&…

EHT DUP transmission

在Wi-Fi 7&#xff08;802.11be&#xff09;中&#xff0c;DUP&#xff08;Duplicated Transmission&#xff09;传输是一种增强的传输机制&#xff0c;用于提高数据传输的可靠性和效率&#xff0c;特别是在高干扰环境下。下面将详细解释DUP传输过程及其意义&#xff0c;并给出…

从模型到应用:李彦宏解读AI时代的新趋势与挑战

如何理解李彦宏说的“不要卷模型&#xff0c;要卷应用” 开源项目的机遇与挑战 7月4日&#xff0c;2024世界人工智能大会暨人工智能全球治理高级别会议在上海世博中心举办。在产业发展主论坛上&#xff0c;百度创始人、董事长兼首席执行官李彦宏呼吁&#xff1a;“大家不要卷…