在启动选项章节中可以找到其它的变量的描述,show variables 的描述在 set 部分。查看章节 4.1.1 mysqld 命令行选项。查看章节 4.5.6.4 show variables。查看章节 5.5.6 set 句法。
6.1.6 注释句法
mysql 服务器支持 # 到该行结束、-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格:
mysql> select 1+1; # 这个注释直到该行结束 mysql> select 1+1; -- 这个注释直到该行结束 mysql> select 1 /* 这是一个在行中间的注释 */ + 1; mysql> select 1+ /* 这是一个 多行注释的形式 */ 1;
注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格!
尽管服务器理解刚才描述的注释句法,但 mysql 客户端的语法分析在 /* ... */ 注释方式上还有所限止:
-
单引号和双引号被用来标志一个被引用字符串的开始,即使是在一个注释中。如果注释中的引号没有另一个引号与之配对,那和语法分析程序就不会认为注释结束。如果你以交互式运行
mysql,你会产生困惑,因为提示符从mysql>变为'>或">。 - 一个分号被用于指出当前 sql 语句的结束并且跟随它的任何东西表示下一行的开始。
不论你是以交互式运行 mysql 还是将命令放在一个文件中,然后以 mysql < some-file 告诉 mysql 读取它的输入,这个限制均存在。
mysql 支持 `--' ansi sql 注释风格,但在两个长划后必须跟有一个空格。查看章节 1.8.4.7 `--' 作为一个注释的开始。
6.1.7 mysql 对保留字挑剔吗?
一个常见的问题来于试图使用 mysql 内置的数据类型或函数名作为表的字段名来创建数据表,例如 timestamp 或 group。但是,允许你这样做(例如,abs 是一个允许的列名),当使用函数名也是列名的函数时,函数名与后面跟着的 “(” 之间不允许存在空格。
下面的词在 mysql 中是被明确保留的。它们大多数被 ansi sql92 禁止作为列或表名(例如, group)。一些被保留是因为 mysql 需要它们并且它使用的是一个 yacc 语法分析器:
| 单词 | 单词 | 单词 |
add
| all
| alter
|
analyze
| and
| as
|
asc
| auto_increment
| bdb
|
before
| berkeleydb
| between
|
bigint
| binary
| blob
|
both
| btree
| by
|
cascade
| case
| change
|
char
| character
| check
|
collate
| column
| columns
|
constraint
| create
| cross
|
current_date
| current_time
| current_timestamp
|
database
| databases
| day_hour
|
day_minute
| day_second
| dec
|
decimal
| default
| delayed
|
delete
| desc
| describe
|
distinct
| distinctrow
| div
|
double
| drop
| else
|
enclosed
| errors
| escaped
|
exists
| explain
| false
|
fields
| float
| for
|
force
| foreign
| from
|
fulltext
| function
| grant
|
group
| hash
| having
|
high_priority
| hour_minute
| hour_second
|
if
| ignore
| in
|
index
| infile
| inner
|
innodb
| insert
| int
|
integer
| interval
| into
|
is
| join
| key
|
keys
| kill
| leading
|
left
| like
| limit
|
lines
| load
| localtime
|
localtimestamp
| lock
| long
|
longblob
| longtext
| low_priority
|
master_server_id
| match
| mediumblob
|
mediumint
| mediumtext
| middleint
|
minute_second
| mod
| mrg_myisam
|
natural
| not
| null
|
numeric
| on
| optimize
|
option
| optionally
| or
|
order
| outer
| outfile
|
precision
| primary
| privileges
|
procedure
| purge
| read
|
real
| references
| regexp
|
rename
| replace
| require
|
restrict
| returns
| revoke
|
right
| rlike
| rtree
|
select
| set
| show
|
smallint
| some
| soname
|
spatial
| sql_big_result
| sql_calc_found_rows
|
sql_small_result
| ssl
| starting
|
straight_join
| striped
| table
|
tables
| terminated
| then
|
tinyblob
| tinyint
| tinytext
|
to
| trailing
| true
|
types
| union
| unique
|
unlock
| unsigned
| update
|
usage
| use
| user_resources
|
using
| values
| varbinary
|
varchar
| varcharacter
| varying
|
warnings
| when
| where
|
with
| write
| xor
|
year_month
| zerofill
|