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


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_close
    return 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.用户逻辑(注册&&登录)

在这里插入图片描述

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chris·Bosh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值