MySQL Server支持一些在其他SQL DBMS中找到的扩展名。被警告说,如果使用它们,您的代码很可能无法为其他SQL服务器提供。在某些情况下,您可以使用以下表单的注释编写包含MySQL扩展的代码,但仍然是可移植的:
/*!MySQL特定代码*/
在这种情况下,MySQL服务器解析并执行注释中的代码,就像其他SQL语句一样,但是其他SQL服务器应该忽略这些扩展。例如,MySQL Server识别STRAIGHT_JOIN
以下语句中的关键字,但其他服务器不应该:
选择/ * !*/ col1 FROM table1,table2 WHERE…
如果添加后的版本号!
字符,只有当MySQL版本大于或等于指定的版本号时,才会执行注释中的语法。的KEY_BLOCK_SIZE
下面注释中的子句只在MySQL 5.1.10或更高版本的服务器上执行:
创建表T1(A int,键(a))/ *!50110 key_block_size = 1024 * /;
以下描述列出了按类别组织的MySQL扩展。
磁盘上的数据组织
MySQL Server将每个数据库映射到MySQL数据目录下的目录,并将数据库中的表映射到数据库目录中的文件名。因此,数据库和表名在具有区分大小写的文件名(例如大多数UNIX系统)上的操作系统上区分大小写。看到
一般语言语法
默认情况下,可以包含字符串
"
也'
.如果是ANSI_QUOTES.
启用SQL模式时,字符串只能由'
而服务器解释由"
作为标识符。\
是字符串中的转义字符。在SQL语句中,可以使用
db_name.tbl_name
语法。一些SQL服务器提供相同的功能,但称之为用户空间
.MySQL Server不支持诸如语句中使用的表空间:在my_tableSpace中创建表ralph.my_table ...
.
SQL语句语法
解释选择
获取查询优化器如何处理表的描述。的
集
声明。看到的
表演
声明。看到表演
通过使用更标准的方式可以获得陈述选择
查询Information_Schema.
.看到使用
加载数据
.在许多情况下,此语法与Oracle兼容加载数据
.看到使用
重命名表
.看到使用
代替
而不是删除
+插
.看到使用
改变
,col_name
降低
, 或者col_name
下降索引
,忽略
或重命名
在ALTER TABLE
语句。使用多个添加
,改变,更改
,降低
, 或者改变
条款的ALTER TABLE
声明。看到Section 13.1.9, " ALTER TABLE Statement ".使用索引名称,在列的前缀上索引,以及使用
指数
或钥匙
在创建表
语句。看到使用
暂时的
或如果不存在
与创建表
.用一个表删除多个表的能力
删除表
声明。插入
语法。tbl_name
集col_name
= ......使用
进出外面
或进入dumpfile.
在选择
语句。看到选项,例如
STRAIGHT_JOIN
或sql_small_result.
在选择
语句。您不需要将所有选定的列命名为
集团
条款。这为一些非常特定但非常普通的查询提供了更好的性能。看到您可以指定
ASC.
和去世
与集团
不只是订购
.控件在语句中设置变量的能力
:=
分配运营商。看到数据类型
功能和运营商
要使从其他SQL环境迁移的用户更容易,MySQL Server支持许多函数的别名。例如,所有字符串函数都支持标准SQL语法和ODBC语法。
MySQL服务器了解
||
和& &
运算符表示逻辑或与,如在C编程语言中。在MySQL服务器,||
和或
是同义词吗& &
和和
.因为这个漂亮的语法,MySQL服务器不支持标准的SQL||
字符串连接操作符;使用CONCAT ()
反而。因为CONCAT ()
采用任何数量的参数,很容易转换使用||
运算符到MySQL Server。使用
数(独特
在哪里value_list.
)value_list.
有一个以上的元素。字符串比较在默认情况下是不区分大小写的,排序顺序由当前字符集的排序决定
utf8mb4
默认情况下。属性声明列,以执行区分大小写的比较二进制
属性,或使用二进制
演员,这导致使用底层字符代码值而不是词汇排序来完成比较。的
=
,<>
,<=
,<
,> =
,>
,<<
,>>
,< = >
,和
,或
, 或者喜欢
操作符可以在输出列列表中的表达式中使用(在从
)选择
语句。例如:MySQL>从my_table中选择col1 = 1和col2 = 2;
的
LAST_INSERT_ID ()
函数返回最近的AUTO_INCREMENT
价值。看到喜欢
对数值是允许的。的
BIT_COUNT ()
,案件
,英语教学()
,from_days()
,FORMAT ()
,如果()
,MD5()
,PERIOD_ADD ()
,PERIOD_DIFF ()
,to_days()
,平日()
职能。使用
修剪()
调整子字符串。标准SQL只支持删除单个字符。的
集团
功能std()
,BIT_OR ()
,BIT_AND ()
,bit_xor()
,group_concat()
.看到