`

PHP+MYSQL大小写问题

阅读更多

[PHP]
一、大小写敏感

1. 变量名区分大小写

所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_COOKIE,$_SESSION,$GLOBALS,$_SERVER,$_FILES,$_ENV等;

 

<?php

$abc= 'abcd';

echo$abc; //输出 'abcd';

echo$aBc; //无输出

echo$ABC; //无输出

2. 常量名默认区分大小写,通常都写为大写

 

<?php

define("ABC","Hello World");

echoABC;   //输出 Hello World

echoabc;   //输出 abc

3. php.ini配置项指令区分大小写

file_uploads = 1 不能写成 File_uploads = 1

二、大小写不敏感

1. 函数名、方法名、类名不区分大小写,但推荐使用与定义时相同的名字

 

functionshow(){

echo"Hello World";

}

show(); //输出 Hello World    推荐写法

SHOW(); //输出 Hello World

 

 

 

 

 

 

classcls{

staticfunctionfunc(){

echo"hello world";

}

}

 

Cls::FunC();  //输出hello world

2. 魔术常量不区分大小写,推荐大写

包括:__LINE____FILE____DIR____FUNCTION____CLASS____METHOD____NAMESPACE__

 

echo__line__;  //输出 2

echo__LINE__;  //输出 3

3. NULLTRUEFALSE不区分大小写

 

$a= null;

$b= NULL;

 

$c= true;

$d= TRUE;

 

$e= false;

$f= FALSE;

 

var_dump($a== $b); //输出 boolean true

var_dump($c== $d); //输出 boolean true

var_dump($e== $f); //输出 boolean true

4.类型强制转换,不区分大小写

包括

§  (int)(integer) – 转换成整型

§  (bool)(boolean) – 转换成布尔型

§  (float)(double)(real) – 转换成浮点型

§  (string) – 转换成字符串

§  (array) – 转换成数组

§  (object) – 转换成对象

 

$a=1;

var_dump($a);  //输出 int 1

 

$b=(STRING)$a;

var_dump($b);  //输出string ';1'; (length=1)

 

$c=(string)$a;

var_dump($c);  //输出string ';1'; (length=1)


[MYSQL]


一、.MySQL大小写敏感规则

 

原理:MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)
规则:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的。


以下是MySQL详细的大小写区分规则:

在Linux下:

1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的; 

在Windows下:

1、全部不区分大小写


2、补充

    1> MySQL中有一个系统变量:lower_case_table_names,专门用来配置是否区分据库名与表名的大小写。 如果你的系统是Windows,而你又希望mysql能够区分大小写,那么你可以在my.ini文件中,在[mysqld]一节的最后,加入如下部分:

[plain] view plaincopy
  1. #If set to 0, table names are stored as specified and comparisons are case sensitive.   
  2. #If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.   
  3. #If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.  
  4. lower_case_table_names=0  

 

 

    2> MySQL在查询字符串时是大小写不敏感的。如某字段值需要区分大小写,可在定义该字段时指定BINARY属性。

 

二、一种MySQL命名规范

为了避免大小写引发的问题,一种推荐的命名规则是:在定义数据库、表、列的时候全部采用小写字母加下划线的方式,不使用任何大写字母。

三、关于Hibernate/JPA数据库schema自动映射的问题

使用Hibernate/JPA的工程可以自动生成数据库的schema,由于java有着自己的类与字段命名规则,这与mysql推荐的命名规则不太相符,于是出现了follow哪一种命名规范的问题。一般来说这会由团队和DBA协商确定,使用mysql的命名规范不会出现大小写带来的问题,对于DBA来说可能也更加友好,而使用java的命名规范则对开发人员来说无疑是更加友好的,这将省去列名的映射配置,同时也方便开发人员查看数据库。如果你的项目使用了后者,你最好像上面讲到的,设置一下lower_case_table_names=0

分享到:
评论

相关推荐

    基于原生JS+PHP+MySql写的手表商城网站源码含sql数据库.zip

    基于原生JS+PHP+MySql写的手表商城网站源码含sql数据库.zip基于原生JS+PHP+MySql写的手表商城网站源码含sql数据库.zip基于原生JS+PHP+MySql写的手表商城网站源码含sql数据库.zip基于原生JS+PHP+MySql写的手表商城...

    DebianLNMP虚拟主机管理工具Nginx+PHP5.3+MySQL管理软件

    友情提示:Linux下操作请注意大小写。 Debian 6最好系统为干净新系统。 支持与交流QQ群:【10171789】开源通关注明“DebianLNMP-Jimmyli版”才通过 支持与交流网址:http://jimmyli.jimmyli.blog.51cto.com/最新版本...

    php+mysql动态网站开发

    使用 PHP 的一大好处是它对于初学者来说极其简单,可以很快的入门,只需几个小时就可以自己写一些简单的脚本,同时也给专业的程序员提供了各种高级的特性。 尽管 PHP 的开发是以服务端脚本为目的,但事实上其功能远...

    网站地图生成器(PHP MYSQL).rar

    请详细配置map_config.php(可...该程序可以写所有PHP MYSQL网站的地图(动态目录),每个地图文件大小90k左右。 演示:http://www.xydw.com/map ================心雨动网制作:www.xydw.com 版权所有=============

    MySQL中文参考手册

    # 7.1.5.1 名字的大小写敏感性 o 7.2 用户变量 o 7.3 列类型 + 7.3.1 列类型的存储要求 + 7.3.5 数字类型 + 7.3.6 日期和时间类型 # 7.3.6.1 问题和日期类型 # 7.3.6.2 DATETIME,DATE和TIMESTAMP类型 # 7.3...

    php+mysql迷你短网址+短域名系统 V1.0_20200505

    小到只有15KB的迷你短网址+短域名系统。含白名单功能免审核,带记次,可网址密码双重加密更新有效期。性状介绍: 1. 提交网址得短网址+短域名,可设有效期1天到一年 2. 域名白名单,比如只用于大电商平台网址,可免...

    PHP+MySQL之Insert Into数据插入用法分析

    本文实例讲述了PHP+MySQL之Insert Into数据插入用法。分享给大家供大家参考。具体如下: INSERT INTO 语句用于向数据库表中插入新纪录。 向数据库表插入数据 ...注释:SQL 语句对大小写不敏感。INSERT INT

    jQuery+PHP+MySQL二级联动下拉菜单实例讲解

    实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理。 XHTML 首先我们要建立两个下拉选择框,第一个是大类,第二个是小类。大类的值可以是...

    MYSQL

    7.1.5.1 名字的大小写敏感性 7.2 用户变量 7.3 列类型 7.3.1 列类型的存储要求 7.3.5 数字类型 7.3.6 日期和时间类型 7.3.6.1 问题和日期类型 7.3.6.2 DATETIME,DATE和TIMESTAMP...

    DebianLNMP一键安装包Debian6系统下的Nginx/PHP5.3/MySQL最快最新

    友情提示:Linux下操作请注意大小写。 Debian 6最好系统为干净新系统。 发布日期:2012-11-15 备选安装命令(任选其一) root@DebianLNMP-Jimmyli:~# wget ...

    DebianLNMP一键安装包Debian6系统下的Nginx PHP5.3 MySQL最快最新

    友情提示:Linux下操作请注意大小写。 Debian 6最好系统为干净新系统。 发布日期:2012-11-15 备选安装命令(任选其一) root@DebianLNMP-Jimmyli:~# wget ...

    PHP和MySQL Web开发第4版pdf以及源码

    5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回...

    Php+Mysql网页版通用考试成绩查询系统-PHP

    Php+Mysql电脑网页版通用考试成绩查分系统:Linux(Utf-8) 你可以轻松应用于各种成绩查询、工资查询、物业费查询、水电费查询、分班查询、录取查询、考场查询、证书查询等修改不频繁保密性不高的各种查询系统。 201911...

    IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)

    建议看附件中的视屏文件,比较直观 为了教程视屏不过于太大,在做视屏教程之前就已经写好步骤,就不用在录制过程中录入文字了 一、下载所需软件 建议软件全部去官方网站下载,防止软件包被人附加或修改文件 1.PHP ...

    Head First: PHP & MySQL

    割伤、擦伤,大伤小伤不断,他面对技术挑战的方式其实与挑战极限运动时一样有勇无谋。在开发过几款电视游戏、发明过几种玩具、写了快50本书、建立许多在线课程后,Michael终于觉得可以面对"Head First: JavaScript...

    PHP和MySQL WEB开发(第4版)

    5.3.3 理解字母大小写和函数名称 5.4 理解为什么要定义自己的函数 5.5 了解基本的函数结构 5.5.1 函数命名 5.6 使用参数 5.7 理解作用域 5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 ...

    MySQL中文参考手册.chm

    7.1.5 数据库,表,索引,列和别名的命名 7.1.5.1 名字的大小写敏感性 7.2 用户变量 7.3 列类型 7.3.1 列类型的存储要求 7.3.5 数字类型 7.3.6 日期和时间类型 7.3.6.1 问题和...

    DebianLNMP加强版一键安装包Debian6配置Nginx PHP5.3 MySQL最快最新

    友情提示:Linux下操作请注意大小写。 Debian 6最好系统为干净新系统。 支持与交流QQ群:【10171789】开源通关注明“DebianLNMP-Jimmyli版”才通过 支持与交流网址:http://jimmyli.jimmyli.blog.51cto.com/最新版本...

    php mysql 通用成绩查询系统 v201906.zip

    Php Mysql电脑网页版通用考试成绩查分系统 可以轻松应用于各种成绩查询、工资查询、物业费查询、水电费查询、分班查询、录取查询、考场查询、证书查询等修改不频繁保密性不高的各种查询系统。适合已有现成数据库...

    在线MySQL管理工具php单文件版 v1.0

    这次给大家分享的是一款mysql数据库管理工具工具是用php所写,总共只有一个文件,大小只有27KB。是一款十分实用精悍的数据库管理工具。站长必备的数据库管理工具。 使用指导:上传文件到你空间,打开文件页面,输入...

Global site tag (gtag.js) - Google Analytics