MySQL 语言参考(2)
来源:MYSQL.CN 发布时间:2007-11-21 20:37:00
6.1.1.2 数字
整数被表示为一个数字序列。浮点数使用 作为一个十进制的分隔符。这两种类型的数字可以前置 以表示一个负值。
有效整数的例子:
12210-32
有效浮点数的例子:
294.42-32032.6809e+10148.00
一个整数可以在浮点语境中使用;它被解释为等值的浮点数。
6.1.1.3 十六进制值
MySQL 支持十六进制数值。在数字的语境中,它们表现类似于一个整数(64位精度)。在字符串的语境中,它们表现类似于一个二进制的字符串,每一对十六进制数字被转换为一个字符:
mysql> Select x'4D7953514C'; -> MySQLmysql> Select 0xa+0; -> 10mysql> Select 0x5061756c; -> Paul
表达式 x'hexstring' (4.0 中新加入) 是基于 ANSI SQL 的,表达式 0x 是基于 ODBC 的。十六进制的字符串通常被 ODBC 用于为 BLOB 类型字段赋值。你可以通过 HEX() 将一个字符串或一个数值转化为十六进制格式。
6.1.1.4 NULL 值
NULL 值并不意味着“无数据”,并且是不同于例如数字类型的 0 或字符串类型的空串。
当使用文本文件导入与导出格式时 (LOAD DATA INFILE,Select ... INTO OUTFILE),NULL 可以用 \N 来描述。
6.1.2 数据库、表、索引、列和别名
数据库、表、索引、列和别名都需遵守 MySQL 同样的规则。
注意,从 MySQL 3.23.6 开始,规则发生改变了,此时引进了用引用标识符(数据库、表和字段名)。如果你以 ANSI 模式运行, 也可以用于引用标识符。
标识符 | 最大长度 | 允许的字符 |
数据库 | 64 | 一个目录名中允许的任何字符,除了、 或 。 |
表 | 64 | 一个文件名中允许的任何字符,除了 或 。 |
列 | 64 | 所有的字符。 |
别名 | 255 | 所胡的字符。 |
注意,除了上面的,在一个标识符中还不能有 ASCII(0) 或 ASCII(255) 或引用字符。
注意,如果标识符是一个受限掉的词或包含特殊的字符,当使用它时,必须以一个 ` (backtick) 来引用它。
mysql> Select * FROM `select` WHERE `select`.id > 100;
在 MySQL 3.23.6 以前的版本中,命名规则如下:
一个名字可以由当前字符集中包含的文字与数字字符以及 和 组成。缺省字符集为 ISO-8859-1 Latin1;这可以通过改变 mysqld 的 --default-character-set 的选项来改变。
一个名字可以以在名字中合法的任何字符开始。特别地,一个名字可以以一个数字开始(这不同于许多其它的数据库系统!)。但一个名字不能 仅仅 以数字组成。
不能在名字中使用 字符,因为它是用于扩充格式的,你可以用它引用列(见下面)。
建议不要使用象 1e 这样的名字,因为一个表达式 1e+1 是存在二义性的。它可以被解释为表达式 1e + 1 或数字 1e+1。
在 MySQL 中,你可以使用下列表格中的任一种方式引用一个列:
列引用 | 含义 |
col_name | 列 col_name 来自查询所用的任何一个表中对应字段 |
tbl_name.col_name | 列 col_name 来自当前数据库中的表 tbl_name |
db_name.tbl_name.col_name | 列 col_name 来自数据库 db_name 中的表 tbl_name。这个形式从 MySQL 3.22 或以后版本开始可用。 |
`column_name` | 该字段是一个关键词或包含特殊字符。 |
在一条语句中的列引用中,不需要明确指定一个 tbl_name 或 db_name.tbl_name 前缀,除非这个引用存在二义性。例如,假设表 t1 和 t2 均包含一个字段 c,当用一个使用了 t1 和 t2 的 SELECT 检索 c 时。在这种情况下,c 存在二义性,因为它在这个语句所使用的表中不是唯一的,因而必须通过写出 t1.c 或 t2.c 来指明你所需的是哪个表。同样的,如果从数据库 db1 的表 t 和数据库 db2 的表 t 中检索,你必须用db1.t.col_name 和 db2.t.col_name 来指定引用哪个库表的列。
句法 .tbl_name 意味着表 tbl_name 在当前数据库中。这个句法是为了与 ODBC 兼容,因为一些 ODBC 程序以一个 字符作为表名的前缀。
猜你喜欢
- 一、IE透明度问题在IE的高度超过某一阀值时,会产生透明度不时失效的问题,这现象比较奇怪,(会有的时候全黑,有的时候全白)你有可能无法复现。
- Q. How can I restrict access to my SQL Server so that it only allows c
- vbscript脚本中,fso对象CreateTextFile方法调用时可能会报“无效的过程调用或参数”错误,在使用ASP生成静态页面时,如
- 如何获知用户的IP?<% Dim ValidLog ' 日志变量 Valid
- 有的时候取出全部数据库记录也许正好满足你的要求,不过,在大多数情况下我们通常只需得到部分记录。这样一来该如何设计查询呢?当然会更费点脑筋了,
- 用户习惯大家都经常在提,习惯源于何出?回答可以是软件的用户习惯源于其不断使用过程中的印象积累。如果是这个软件刚诞生的时候呢?于是就得参考同类
- PHP原型模式Prototype Pattern是什么原型模式是一种创建型模式,它可以通过复制现有对象来创建新的对象,而无需知道具体的创建过
- asp使用WScript.Shell获取电脑的网络配置信息Option Explicit Dim WSHShe
- JavaScript中的64位加密及解密的两个方法。function base64Encode(text){if (/(
- 原理:第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给
- 我们这里所说的head区域,是指页页html代码的<head>和</head>之间的内容。在以前的文章中,主要介绍了
- 我们来编写一个,引用时用:<!--#include Virtual="page.inc"-->语句即可:pa
- 手痒痒系列之简单的放大镜写了个放大镜功能,可以设置显示的宽高width,height显示的位置,float ‘left’ 'righ
- 现在正在搞三层开发,用ASP和VB6.0,但是现在苦于没有找到合适的方法来调试自己写的DLL文件,效率相当低。 &n
- 1. 介绍 SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧
- 用VBS语言实现的一个简单网页计算器,功能:可以进行加法、减法、乘法、除法、取反、开根号、及指数运算。虽然简单但是比起windows xp自
- 在jQuery的官方文档中,提示用户这是一个低级的方法,应该用.data()方法来代替。$.data( element, key, valu
- 小编语:小编我最早使用的网页制作工作就是FrontPage啦,FrongPage方便简单,会用Word就能做网页。如果你对网页制作要求不高,
- select a.f_username from ( SELECT /*+parallel(gu,4)*/distinct gu.f_use
- 看到这个标题,你我可能都笑了。你会笑,因为你以为这个东西太小儿科了,还用得着做一个标题?!我会笑,是因为我确信你看完后会改变你的想法。首先我