SQL 大小写规范

1. Windows和Linux平台区别

  • 在SQL中,关键字和函数名是不用区分字母大小写的,比如SELECT、WHERE、 ORDER、 GROUP BY等关键字,以及ABS、MOD、 ROUND、 MAX 等函数名。
  • 不过在SQL中,还是要确定大小写的规范,因为在Linux和Windows环境下,可能会遇到不同的大小写问题。Windows系统默认大小写不敏感,但是Linux系统是大小写敏感的。
  • 通过如下命令查看:
SHOW VARIABLES LIKE '%lower_case_table_names%';
  • Windows系统下 :
  • Linux系统下:
  • lower_case_table_names参数值的设置:
    • 默认为0,大小写敏感。
    • 值为1,大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于sql语句都是转换为小写对表和数据库进行查找。
    • 值为2,创建的表和数据库依据语句上格式存放,凡是查找都是转换为小写进行。
  • 两个平台上SQL大小写的区别具体来说:

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名、表名、表的别名、变量名是严格区分大小写的;
2、关键字、函数名称在SQL中不区分大小写;
3、列名(或字段名)与列的别名(或字段别名)在所有的情况下均是忽略大小写的;

MySQL在Windows的环境下全部不区分大小写

2. Linux下大小写规则设置

  • 设置为大小写不敏感时,要在my.cnf这个配置文件[mysqld]中加入lower_case_table_names=1,然后
    重启服务器。
  • 但是要在重启数据库实例之前就需要将原来的数据库和表转换为小写,否则将找不到数据库名。
  • 此参数适用于MySQL5.7。在MySQL 8下禁止在重新启动MySQL服务时将lower_case_table_names 设置成不同于初始化MySQL服务时设置的lower_case_table_names 值。如果非要将MySQL8设置为大小写不敏感,具体步骤为:

1、停止MySQL服务
2、删除数据目录,即删除/var/lib/mysql 目录
3、在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1
4、启动MySQL服务

  • 注意:在进行数据库参数设置之前,需要掌握这个参数带来的影响,切不可盲目设置。

3. SQL编写建议

  • 如果你的变量名命名规范没有统一,就可能产生错误。这里有一个有关命名规范的建议:
  1. 关键字和函数名称全部大写;
  2. 数据库名、表名、表别名、字段名、字段别名等全部小写;
  3. SQL 语句必须以分号结尾;
  • 数据库名、表名和字段名在Linux MySQL环境下是区分大小写的,因此建议你统一这些字段的命名规则,比如全部采用小写的方式。
  • 虽然关键字和函数名称在SQL中不区分大小写,也就是如果小写的话同样可以执行。但是同时将关键词和函数名称全部大写,以便于区分数据库名、表名、字段名。

【mysql】大小写规范相关推荐

  1. MySQL高级篇——字符集、大小写规范和sql_mode

    Mysql字符集 在mysql8.0之前,server默认字符集为latin1,utf8字符集指向的是utf8mb3.在mysql8.0开始,数据库的默认编码就改为utf8mb4. 1. 修改字符集 ...

  2. 0基础学MySQL数据库—从小白到大牛(20)大小写规范、sql_mode的合理设置

    文章目录 一.SQL大小写规范 Windows和Linux平台区别 Linux下大小写规则设置 SQL编写建议 二.sql_mode的合理设置 介绍 宽松模式 vs 严格模式 模式查看和设置 一.SQ ...

  3. 【Mysql】Mysql SQL 大小写规范

    目录 前言 Linux 大小写规则 Linux 下大小写设置 1.查询是否区分大小写 2.Mysql 5.7 版本 Linux 修改大小写设置 3.Mysql 8.0 版本 Linux 修改大小写设置 ...

  4. 【宋红康 MySQL数据库 】【高级篇】【02】MySQL字符集、比较规则、大小写规范、sql_mode

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][02]MySQL字符集.比较规则.大小写规范.sql_mode 默认字符集 MySQL8 MySQL5 修改 ...

  5. php mysql不大小写吗,PHP+MYSQL大小写有关问题

    [PHP] 一.大小写敏感 1.变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SER ...

  6. [深入浅出]MySQL安全规范

    [深入浅出]MySQL安全规范 一.Mysql服务器安全规范 1. 禁止应用直连DB,一般通过代理访问. 2. 禁止DB公网访问. 3. 禁止生产和办公互通,需生产环境和办公环境隔离. 4. Linu ...

  7. MYSQL 研发规范

    MYSQL 研发规范 表设计规范: 1)  所有数据库表,函数,视图等对象都定义为小写,字符之间用下划线连接 2)  库名.表名.字段名禁止使用MySQL保留字,且名称长度不能超过32字节 3)  默 ...

  8. (二)SQL大小写规范和 sql_mode

    SQL大小写规范和 sql_mode 一.SQL大小写规范 1.Windows和Linux平台区别 2.Linux下大小写规则设置 3.SQL编写建议 二.sql_mode的合理设置(了解即可,一般不 ...

  9. MySQL 数据库规范--调优篇(终结篇)

    前言 这篇是MySQL 数据库规范的最后一篇--调优篇,旨在提供我们发现系统性能变弱.MySQL系统参数调优,SQL脚本出现问题的精准定位与调优方法. 目录 1.MySQL 调优金字塔理论 2.MyS ...

  10. linux 把mysql大小写关闭_linux中设置mysql大小写不去区分方法

    linux中设置mysql大小写不去区分方法 发布时间:2020-05-14 12:01:31 来源:亿速云 阅读:191 作者:三月 本文主要给大家介绍linux中设置mysql大小写不去区分方法, ...

最新文章

  1. VC++ CryptoAPI最基本编程
  2. CV之FDFA:利用MTCNN的脚本实现对LFW数据集进行FD人脸检测和FA人脸校准
  3. mysql 5.5半同步复制_(5.5)mysql高可用系列——MySQL半同步复制(实践)
  4. 2021年高考理综单科成绩查询,2021年高考总分是多少 2021年高考各科满分多少分...
  5. curry化 js_前端发动机从 bind 聊到 curry (柯里化)
  6. C语言中简单的题目,C语言的一些简单题目,没有答案,哪位大神帮忙做一下!!!...
  7. 计算机网络双向传输,计算机网络:传输层(2)
  8. 4.算法通关面试 --- 树和图
  9. 函数的基本知识点总结(附实例)
  10. C#编写的一个SFTP工具类
  11. Science子刊:利用DTI和NODDI纵向研究揭示轻度脑外伤后的白质微结构改变
  12. 什么是OEM、ODM、OBM
  13. 【seaborn】sns.set() 绘图风格设置
  14. 深度学习:乳腺x检测
  15. 思科交换机配置:三层交换机技术
  16. md5加密md5解密
  17. 鼠标滑轮控制Div水平滚动
  18. Shell - timeout命令
  19. 管理用户账号和组账号
  20. JQuery 多选下拉列表左右移动

热门文章

  1. 中小尺寸OLED面板面临价格战,中国手机可捡便宜
  2. sha1校验工具android,Android 正式版与测试版签名(MD5,SHA1,SHA256)以及忘记keystore的应用正式版签名获取...
  3. 怎样校验MD5码及sha1码数值(适用于Windows及Linux平台)
  4. 大数据审计的发展_大数据时代对审计发展的影响
  5. Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. java.lang.Il
  6. 《乔布斯的魔力演讲》读书笔记
  7. Photoshop CS6 实例-用椭圆选框工具设计光盘封面
  8. CSS W3C 统一验证工具
  9. 【无标题】adsa da das
  10. 数据库常用日期统计查询