<b>执行存储过程</b>
call <code>sp_name</code>([<code>parameter</code>[,...]])
call <code>sp_name</code>[()]
<b>删除</b>
delete [low_priority] [quick] [ignore]
from <code>tbl_name</code>
[where <code>where_condition</code>]
[order by ...]
[limit <code>row_count</code>]
<b>执行表达式计算</b>
do <code>expr</code> [, <code>expr</code>] ... 和select <code>expr</code> [, <code>expr</code>] ...类似,但不返回select的结果,因此进行表达式的技术时,性能较高
<b>插入数据</b>
insert [low_priority | delayed | high_priority] [ignore] [into] <code>tbl_name</code> [(<code>col_name</code>,...)]
{values | value} ({<code>expr</code> | default},...),(...),...
[ on duplicate key update <code>col_name</code>=<code>expr</code> [, <code>col_name</code>=<code>expr</code>] ... ]
insert [low_priority | delayed | high_priority] [ignore] [into] <code>tbl_name</code>
set <code>col_name</code>={<code>expr</code> | default}, ...
insert [low_priority | high_priority] [ignore] [into] <code>tbl_name</code> [(<code>col_name</code>,...)]
select ...
<b>插入数据-mysql的扩展,和insert类似,除了:如果表中有何新插入冲突的数据,会先删除旧数据,而后再插入新数据</b>
replace [low_priority | delayed] [into] <code>tbl_name</code> [(<code>col_name</code>,...)]
replace [low_priority | delayed] [into] <code>tbl_name</code>
<b>选择语句select</b>
select
[all | distinct | distinctrow ]
[high_priority] [straight_join] [sql_small_result] [sql_big_result] [sql_buffer_result][sql_cache | sql_no_cache] [sql_calc_found_rows] <code></code>
<code>select_expr</code> [, <code>select_expr</code> ...]
[
from <code>table_references</code>
[group by {<code>col_name</code> | <code>expr</code> | <code>position</code>} [asc | desc], ... [with rollup]]
[having <code>where_condition</code>]
[order by {<code>col_name</code> | <code>expr</code> | <code>position</code>} [asc | desc], ...]
[limit {[<code>offset</code>,] <code>row_count</code> | <code>row_count</code> offset <code>offset</code>}]
[procedure <code>procedure_name</code>(<code>argument_list</code>)]
[into outfile '<code>file_name</code>' [character set <code>charset_name</code>] <code>export_options</code> | into dumpfile '<code>file_name</code>' | into <code>var_name</code> [, <code>var_name</code>]]
[for update | lock in share mode]
]
<b>联合查询结果</b>
union [all | distinct]
[union [all | distinct] select ...]
<b>更新表</b>
update [low_priority] [ignore] <code>table_reference</code>
set <code>col_name1</code>={<code>expr1</code>|default} [, <code>col_name2</code>={<code>expr2</code>|default}] ...
<b>截断表</b>
truncate [table] <code>tbl_name</code>
<b>子查询:使用子查询总是有诸多的限制的,而且往往是可以更好的进行优化的。</b>
<b>在条件中的子查询</b><b></b>
<b>子查询的结果集特征</b>
一列
多列
一行
单个标量:
{= | > | < | >= | <= | <> | != | <=>} subquery
{exists | not exists} subquery
单个矢量:
矢量形式 {= | > | < | >= | <= |<> | != | <=>} subquery
多行
范围标量:
in subquery
{= | > | < | >= | <= | <> | != | <=>} <b>{all | any | some }</b> subquery
范围矢量:
<b>相关子查询 :(内层)子查询中用到 外层查询中的表值</b>
例如:select * from t1 where column1 = any (select column1 from t2 where t2.column2 = t1.column2);
<b>作为from 表 来源的子查询:</b>
select ... from (<code>subquery</code>) [as] <code>name</code> ...
<b>装载数据文件中的数据</b>
load data
[low_priority | concurrent] [local]
infile '<code>file_name</code>'
[replace | ignore]
into table <code>tbl_name</code>
[character set <code>charset_name</code>]
[{fields | columns} [terminated by '<code>string</code>'] [[optionally] enclosed by '<code>char</code>'] [escaped by '<code>char</code>'] ]
[lines [starting by '<code>string</code>'] [terminated by '<code>string</code>'] ]
[ignore <code>number</code> lines]
[(<code>col_name_or_user_var</code>,...)]
[set <code>col_name</code> = <code>expr</code>,...]