Python全栈 MySQL 数据库 (SQL查询、备份、恢复、授权)

本文涉及的产品
RDS Agent(兼容OpenClaw),2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: MySQL的数据安全、授权、备份、恢复
ParisGabriel
 
 
         每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰
 
   开局一张图

今天接着昨天的说

索引有4种:
     普通 索引 : index 
     唯一索引: unique
     主键索引: primary key
     外键索引: foreign key
索引查询命令:
      show index from 表名\G;
         Non_Unique:1   :index
         Non_Unique:0  :unique


外键索引(foreign key):
    定义:让当前字段的值 在另一个表的范围 内选择
    语法:
       foreign key(参考字段名)
       references 主表(被参考字段名)
       on delete 级联动作
       on update 级联动作
    使用规则:
        主表从表字段 数据类型要一致
       主表 被参考字段一般是: 主键
    删除外键:
      alter table 表名 drop foreign key 外键名;
      外键名查询:show create table 表名;
    级联动作:
      cascade
         级联 删除、更新(只限于参考字段)
      restrict(默认)
        从表有相关 记录不允许主表操作
      set NULL
        主表删除、更新从表关联记录 字段值为NULL
    已有表添加外键:
       alter table 表名 add
       foreign key(参考字段)reference主表(被参考字段)
       on delete ...
       on update ...
表的复制
  复制表:
    create table 表名 select... from where 表名;
  表结构:
    create table 表名 select * from 表名 where false;
  注意:
    复制表的时候 不会把原表的 键(key)属性复制过来


SQL 查询(高级)

嵌套查询(子查询):
       定义内层 查询结果作为外层的 查询条件
   语法格式:
      select ...from 表名 where 条件(select...);
多表查询:
  两种方式
  1.
      select 字段名列表 from 表名列表;(笛卡尔积
      select * from t1,t2
      select t1.name,t2.name from t1,t2;
  2.
     select t1.name,t2.name from t1,t2
      where 条件
链接查询:
   1.内链接
     select 字段名 from 表1 
     inner join 表2 on 条件
     inner join 表3 on 条件...;
   2.外链接
      1.左链接
        以左表为主显示查询结果
select 字段名 from 表1 
left join 表2 on 条件
left join 表3 on 条件...;
      2.右链接
        以右表为主显示查询结果
select 字段名 from 表1 
right join 表2 on 条件
right join 表3 on 条件...;
数据备份:
    mysqldump  在Linux终端操作
    完全备份:
       mysqldump -u用户 -p源库名 > ~/xxx.sql
       --all-databases  备份所有库
       库名             备份单个库
       -B 库1 库2..     备份多个库
       库名 表1 表2...  备份指定库指定表
数据恢复:
    恢复单个库
          mysql -uroot -p < 目标库名 xxx.sql
    从所有库备份中恢复某一个库(-one-database)
          mysql -uroot -p --one-database 目标库名 < xxx.sql
      注意:
       1. 恢复如果 恢复到原库会将 表中数据覆盖新增表不会删除
       2.数据恢复时 如果恢复库不存在,则 必须先创建空库
MySQL的账户管理:
      1.开启mysql的远程连接
        sudo -i
cd /etc/mysql/mysql.conf.d/
subl mysql.cnf
        #bind-address = 127.0.0.1  注释掉
        /etc/init.d/mysql restart
 
    2.添加授权用户
        用root用户登录mysql
   mysql -uroot -p123456
        授权:
grant 授权列表 on 库.表 to “用户名“@”%”
identified by “密码” with grant option
         权限列表:
    all privileges、select、insert
    库.表: *.*  所有库所有表
示例:
    1、添加授权用户tiger,密码123,对所有库的所有表有所有权限
      grant all privileges on *.* to "tiger"@"%" identified by "123" with grant option;

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
8月前
|
SQL 缓存 监控
MySQL缓存机制:查询缓存与缓冲池优化
MySQL缓存机制是提升数据库性能的关键。本文深入解析了MySQL的缓存体系,包括已弃用的查询缓存和核心的InnoDB缓冲池,帮助理解缓存优化原理。通过合理配置,可显著提升数据库性能,甚至达到10倍以上的效果。
|
8月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
716 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
7月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
404 6
|
8月前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
储存过程(Stored Procedures) 和 函数(Functions) : 储存过程和函数允许用户编写 SQL 脚本执行复杂任务.
338 14
|
8月前
|
SQL 关系型数据库 MySQL
MySQL的查询操作语法要点
以上概述了MySQL 中常见且重要 的几种 SQL 查询及其相关概念 这些知识点对任何希望有效利用 MySQL 进行数据库管理工作者都至关重要
222 15
|
8月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
8月前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
8月前
|
SQL 监控 关系型数据库
MySQL高级查询技巧:子查询、联接与集合操作
本文深入解析了MySQL高级查询的核心技术,包括子查询、联接和集合操作,通过实际业务场景展示了其语法、性能差异和适用场景,并提供大量可复用的代码示例,助你从SQL新手进阶为数据操作高手。
|
8月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
541 158
|
8月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。

推荐镜像

更多