Mysql:语法:标志符、关键字
backticks"`"字符括起的字符序列称之为 标志符。
- 如果ansi_quotes模式打开,可以使用双引号"""括起的字符序列表示标志符
- 标志符可以使用的字符可以是任意字符,当然还是只使用[0-9a-zA-Z_$]这些非特殊字符的好,而且推荐不要以数字或美元开头——大多数系统都是这样子的
- 另外标志符如果是关键字(通常等于 保留字)必须括起来
- 严重推荐标志符不要是"{m}e[n]"这种可能和科学计数法相混淆的形式!
- 标志符不能含有ascii的nul(0x00)、\、/、.、nul、prn 等os中不允许的字符
标志符最大字符长度为64
标志符的限定:
- [db_name.][tb_name.]col_name --mysql的标准
- [.]tb_name --兼容odbc的限定
标志符的大小写敏感性:他是依赖于os的:windows上不区分,linux上区分
- database、table、trigger、alias 是依赖os的。但在同一个语句中,必须完全相同
- column、index、procedure、funcion、envent总是不区分的
- lower_case_table_names:
- 0:区分大小。存、找、比较。对于myisam存储引擎可能在某些大小不敏感的os上引起index使用问题
- 1:小写。存、找、比较。 --推荐
- 2:区分大小写进行os存储;按小写查找、比较。但是innodb存储引擎类的表却与"1"的行为相同
对于函数名称的解析规则:一句话(好的编程风格:不是和系统已有的东西重名!!!)
- 通常函数分为:native内建、udf函数、stored functions。
- 对于native函数有缺省的解析规则,但和ignore_space服务器的配置有关
- 通常规则:如果内建函数后面是否具有express上下文,是则作为函数调用,否则就认为是标志符,适用于大多数函数。
- 特殊规则:看函数名后是否仅仅跟着”(“,是作为函数调用,否作为标志符使用。这些函数可以通过sql_functions()查看
ignore_space:
- disabled:只要是sql_functions()里列出的函数——将忽略上面的“缺省规则”,只要后面紧跟着”(“就认为是函数调用,可能会造成非表达式环境出错
- enabled:(默认) 只要是sql_functions()里列出的函数,必须是显示的括起函数名作为标志符
转载于:https://www.cnblogs.com/jinzhenshui/archive/2009/06/03/1495398.html
Mysql:语法:标志符、关键字相关推荐
- SQL Server 和 MySql 语法和关键字的区别
(1) MySQL的ifnull()函数对应sql的isnull()函数; (2) mysql的存储过程中变量的定义去掉@; (3) mysql的每句结束要用";" ...
- Mysql语法大全(命令行)(简洁、明了、全面)
Mysql命令行的语法 另外一个Mysql语法大全的版本:点这里 两个Mysql语法大全以及命令行代码!!!基本上学习Mysql没有问题 嘿嘿!学习是一个长期的过程!!!还会继续更新!!! 基本的My ...
- MySQL语法语句大全
MySQL语法语句大全 一.SQL速成 ; B/ X* Q; t/ W) v" ]结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表 ...
- MySQL语法中有哪些可以利用的漏洞?
「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<MySQL数据库快速入门> MyS ...
- MySQL语法学习笔记
MySQL语法学习笔记 学习之道,非尽心竭力者不能进也!我是小七黛,欢迎查看我的笔记,有问题欢迎交流探讨. SQL是一种结构查询语言,用于查询关系数据库的标准语言,包括若干关键字和一致的语法,便于数据 ...
- oracle 和mysql语法上的区别,Mysql和Oracle的一些语法区别
作为一个有追求的程序猿,当然要不断的学习,巴拉巴拉巴拉...好了,贴一个网址给大家,哈哈 MySQL与Oracle 差异比较:http://www.cnblogs.com/HondaHsu/p/364 ...
- Java基础课-MySQL语法
MySQL - 基础语法 SQL Structured Query Language:结构化查询语言 定义了了操作所有关系型数据库的规则 SQL 通用语法 SQL 语句可以单行或多行书写,以分号结尾 ...
- db2和mysql语句区别_db2和mysql语法的区别是什么
MySQL默认使用大小写敏感的数据库名.表名和列名(可以通过lower_case_table_names参数控制是否大小写敏感),DB2数据库对大小写不敏感. 虽然MySQL与DB2都遵循并符合SQL ...
- OC2_点语法(属性关键字)
// // Dog.h // OC2_点语法(属性关键字) // // Created by zhangxueming on 15/6/16. // Copyright (c) 2015年 zhang ...
- mongodb和mysql的对比_Mongodb与mysql语法比较
Mongodb与mysql语法比较 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据 ...
最新文章
- 基于手势识别的鼠标控制实现
- 从jQuery 入口方式写jQuery工具类库
- C语言高级技术之--游戏属性修改器(背景故事)
- sketch里的ios控件_使用Sketch建立Design System
- 5 呼吸灯verilog与Systemverilog编码
- java ascii码从小到大排序_待签名参数按照字段名的ascii码从小到大排序 怎么理解...
- 编译内核出错:invalid option `abi=aapcs-linux'
- java网络通信:伪异步I/O编程(PIO)
- 二十天一学通C#:.NET中文件和文件夹的类
- 极客学院文本爬虫实战
- 2020-12-04mscomm.ocx注册的问题
- MySQL导入northwind数据库完全手册
- Java实现腾讯企业邮箱收发邮件
- 通过naa在esxi主机上找到物理磁盘的位置
- 始于情怀,终于品质----方寸微T630 USB3.0 替换 CYUSB3014
- 网易乐得数据库及运维分享会
- 淘宝再次升级!这次的关键词是啥
- 【数字图像处理】Python实现图像变换/沃尔什哈达玛变换(WHT,Walsh-Hadamard Transform)
- python 2048游戏的设计_Python练习:100行代码实现一个简易的2048游戏
- 9年研发经验,扫地盲僧带你看2022年前端未来发展趋势