MySQL Server支持某些可能在其他SQL DBMS中找到的扩展。被警告说,如果使用它们,您的代码不可移植到其他SQL服务器。在某些情况下,您可以使用以下表单的注释编写包含MySQL扩展的代码,但仍然是可移植的:
/ *!MySQL特定代码* /
在这种情况下,MySQL Server解析并在注释中解析的代码,因为它将是任何其他SQL语句,但其他SQL服务器忽略扩展。例如,MySQL Server识别strice_join.
以下语句中的关键字,但其他服务器没有:
选择 /*!从表1,表2中的直线_join * / col1在哪里...
如果添加后的版本号!!
字符,只有当MySQL版本大于或等于指定的版本号时,才会执行注释中的语法。这key_block_size.
以下注释中的子句仅由MySQL 5.1.10或更高版本的服务器执行:
创建表T1(A int,键(a))/ *!50110 key_block_size = 1024 * /;
以下描述列出了按类别组织的MySQL扩展。
磁盘上的数据组织
MySQL Server将每个数据库映射到MySQL数据目录下的目录,并将数据库中的表映射到数据库目录中的文件名。这有一些含义:
数据库和表名在具有区分大小写的文件名(例如大多数UNIX系统)上的操作系统上区分大小写。看
您可以使用标准系统命令备份,重命名,移动,删除和复制由由此管理管理的表
myisam.
存储引擎。例如,可以重命名一个myisam.
表格通过重命名.myd.
那。我的我
, 和.FRM
表对应的文件。(尽管如此,优选使用重命名表
或者alter table ...重命名
并让服务器重命名文件。)
一般语言语法
默认情况下,可以包含字符串
“
也'
。如果是ANSI_QUOTES.
SQL模式已启用,字符串只能括起来'
服务器解释包围的字符串“
作为标识符。\
是字符串中的转义字符。在SQL语句中,您可以访问不同数据库的表
db_name.tbl_name.
句法。一些SQL服务器提供相同的功能,但调用此功能用户空间
。MySQL Server不支持诸如语句中使用的表空间:在my_tableSpace中创建表ralph.my_table ...
。
SQL语句语法
解释选择
为了获取查询优化器如何处理表格的描述。这
放
陈述。看这
表演
陈述。看表演
通过使用更标准的方式可以获得陈述选择
查询Information_Schema.
。看用于
加载数据
。在许多情况下,此语法与Oracle兼容加载数据
。看用于
重命名表
。看用于
代替
代替删除
加插
。看用于
改变
那col_name.
降低
, 或者col_name.
下降索引
那忽略
或者改名
在改变表
陈述。使用多个添加
那改变
那降低
, 或者改变
答内的条款改变表
陈述。看使用索引名称,在列的前缀上索引,以及使用
指数
或者钥匙
在创建表
陈述。看用于
暂时的
或者如果不存在
和创建表
。用单个丢弃多个表的能力
下拉表
陈述。插入
句法。tbl_name.
放col_name.
= ......用于
进出外面
或者进入dumpfile.
在选择
陈述。看选项如
strice_join.
或者sql_small_result.
在选择
陈述。您不需要将所有选定的列命名为
通过...分组
条款。这为某些非常具体但非常正常的查询提供了更好的性能。看您可以指定
ASC.
和去世
和通过...分组
不只是订购
。能够在语句中设置变量
:=
分配运营商。看数据类型
功能和运营商
要使从其他SQL环境迁移的用户更容易,MySQL Server支持许多函数的别名。例如,所有字符串函数都支持标准SQL语法和ODBC语法。
MySQL服务器了解
||
和&&
运营商意味着逻辑或和,以及如C编程语言。在MySQL Server中,||
和或者
是同义词,正如&&
和和
。由于这种漂亮的语法,MySQL服务器不支持标准SQL||
串联的操作员;用concat()
反而。因为concat()
采用任何数量的参数,很容易转换使用||
运算符到MySQL Server。用于
数(独特
在哪里value_list.
)value_list.
有一个以上的元素。默认情况下,字符串比较是不区分的,具有由当前字符集的排序规定确定的排序排序,这是
拉丁语
(CP1252西欧)默认情况下。要执行差别敏感的比较,您应该向您声明列二进制
属性或使用二进制
演员,这导致使用底层字符代码值而不是词汇排序来完成比较。这
%
操作员是一个同义词mod()
。那是,
相当于N
%m
mod(
。N
那m
)%
C程序员支持以及与PostgreSQL的兼容性。这
=
那<>
那<=
那<
那> =
那>
那<<
那>>
那<=>
那和
那或者
, 或者喜欢
运营商可以在输出列列表中的表达式中使用(左侧)从
) 在选择
陈述。例如:MySQL>从my_table中选择col1 = 1和col2 = 2;
这
last_insert_id()
函数返回最新的自动递增
价值。看喜欢
允许在数值上。concat()
或者Char()
有一个论点或两个以上的参数。(在MySQL Server中,这些函数可以采用变量数量的参数。)这
bit_count()
那案件
那elt()
那from_days()
那格式()
那如果()
那密码()
那加密()
那MD5()
那编码()
那解码()
那句号_add()
那subder_diff()
那to_days()
, 和平日()
职能。用于
修剪()
修剪子串。标准SQL仅支持删除单个字符。这
通过...分组
职能std()
那bit_or()
那bit_and()
那bit_xor()
, 和group_concat()
。看