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

SQL 易混易错知识点笔记1(drop,role,%,localhost)

DROP 与 DELETE 的区别

  • DELETE:删除表中的数据行,属于DML操作,可回滚,可带WHERE条件

    DELETE FROM table WHERE condition; -- 删除特定行
    DELETE FROM table; -- 删除所有行但保留表结构
  • DROP:删除整个数据库对象(表、视图、索引等),属于DDL操作,不可回滚

    DROP TABLE table_name; -- 完全删除表(结构和数据)
    DROP DATABASE db_name; -- 删除整个数据库

GRANT 语句中角色与用户的区别

  • 角色(Role):权限集合的抽象概念,不关联主机名

    CREATE ROLE 'public_role'; -- 创建角色
    GRANT SELECT ON db.* TO 'public_role'; -- 授权给角色(无@host部分)
  • 用户(User):具体账户,必须指定访问来源

    CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password'; -- 创建用户
    GRANT 'public_role' TO 'user1'@'localhost'; -- 将角色授予用户

% 与 localhost 的区别

  • localhost:仅允许本地连接(通过Unix socket或本地回环IP 127.0.0.1)

    CREATE USER 'user'@'localhost'; -- 只能从本机连接
  • %:允许从任何主机连接(包括远程)

    CREATE USER 'user'@'%'; -- 可从任意IP连接

其他易错点

  1. TRUNCATE 与 DELETE

    • TRUNCATE是DDL,重置自增值,不触发触发器

    • DELETE是DML,保留自增值,触发触发器

  2. HAVING 与 WHERE

    • WHERE过滤行,在GROUP BY前执行

    • HAVING过滤组,在GROUP BY后执行

  3. CHAR 与 VARCHAR

    • CHAR定长,适合短且长度固定的数据

    • VARCHAR变长,适合长度变化的数据

  4. INNER JOIN 与 LEFT JOIN

    • INNER JOIN只返回匹配的行

    • LEFT JOIN返回左表所有行(不匹配的右表字段为NULL)

  5. UNION 与 UNION ALL

    • UNION去重并排序

    • UNION ALL简单合并(更快)

相关文章:

  • DNA-free基因组编辑技术任重而道远
  • 机器人--激光雷达
  • 低空经济无人机创新实训室解决方案
  • 武汉同济医院大模型应用通识第2课聚焦提示词工程,和鲸助力开讲
  • 如何搭建spark yarn模式的集群
  • Centos小白之在CentOS8.5中安装Rabbitmq 3.10.8
  • DSP48E2 的 MAC模式功能仿真
  • 线段树合并与分解
  • 从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析
  • power bi获取局域网内共享文件
  • Kubernetes》》k8s》》Taint 污点、Toleration容忍度
  • dummy cli-tool ubuntu22.04使用
  • QT:自定义ComboBox
  • MySQL 表的约束(二)
  • vs2022解决 此项目需要MFC库。从visual studio安装程序(单个组件选项卡)为正在使用的任何工具和体系结构安装他们问题
  • 【AI生产力工具】Windsurf,一款AI编程工具
  • 目标检测YOLO实战应用案例100讲- 无人机平台下露天目标检测与计数
  • 新能源汽车声纹监测技术的发展趋势是什么?
  • [Linux运维] [Ubuntu/Debian]在Lightsail Ubuntu服务器上安装Python环境的完整指南
  • ETL架构、数据建模及性能优化实践
  • 北京朝阳涉住宅组团地块126亿元成交
  • 李公明|一周画记:哈佛打响第一枪
  • 上海“生育友好岗”已让4000余人受益,今年将推产假社保补贴政策
  • 加总理:目前没有针对加拿大人的“活跃威胁”
  • 党旗下的青春|83岁仍在“下生活”,他说生活是创作的源泉
  • 没有雷军的车展:老外扎堆,萌车、机器狗谁更抢镜?| 湃客Talk