From 82408ddcccc3bf2744a02eab4b48a3ff5dfcdadb Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 30 Oct 2023 17:00:24 +0800 Subject: [PATCH 1/7] Add temp.md --- temp.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 temp.md diff --git a/temp.md b/temp.md new file mode 100644 index 000000000000..af27ff4986a7 --- /dev/null +++ b/temp.md @@ -0,0 +1 @@ +This is a test file. \ No newline at end of file From eb13dcd9881d895946e4b215aa6be1186b8a7c4c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 30 Oct 2023 17:00:29 +0800 Subject: [PATCH 2/7] Delete temp.md --- temp.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 temp.md diff --git a/temp.md b/temp.md deleted file mode 100644 index af27ff4986a7..000000000000 --- a/temp.md +++ /dev/null @@ -1 +0,0 @@ -This is a test file. \ No newline at end of file From 590795a20e7d959dea1d0c386b12ce3fbe695d6a Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 30 Oct 2023 17:34:39 +0800 Subject: [PATCH 3/7] add translation --- sql-statements/sql-statement-select.md | 74 ++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md index 7ac1a035aae3..edf3d5879e0a 100644 --- a/sql-statements/sql-statement-select.md +++ b/sql-statements/sql-statement-select.md @@ -113,6 +113,8 @@ TableSampleOpt ::= ## 示例 +### SELECT + {{< copyable "sql" >}} ```sql @@ -173,6 +175,78 @@ mysql> SELECT AVG(s_quantity), COUNT(s_quantity) FROM stock; 1 row in set (0.52 sec) ``` +### SELECT ... INTO OUTFILE + +`SELECT ... INTO OUTFILE` 语句用于将查询结果写入到文件中。 + +> **注意:** +> +> 该语句不支持将查询结果写入任何[外部存储](https://docs.pingcap.com/tidb/stable/backup-and-restore-storages),如 Amazon S3 或 GCS。 + +在该语句中,你可以使用以下子句来指定输出文件的格式: + +- `FIELDS TERMINATED BY`:指定文件中字段的分隔符。例如,你可以将分隔符指定为 `','` 以输出逗号分隔值(CSV)或 `'\t'` 以输出制表符分隔值(TSV)。 +- `FIELDS ENCLOSED BY`:指定文件中包裹每个字段的字符。 +- `LINES TERMINATED BY`:如果你希望以某个特殊的字符为结尾来切分行数据,可以使用该子句指定文件中行的终止符。 + +假设有一个名为 `t` 的表,包含以下三列: + +```sql +mysql> CREATE TABLE t (a INT, b VARCHAR(10), c DECIMAL(10,2)); +Query OK, 0 rows affected (0.02 sec) + +mysql> INSERT INTO t VALUES (1, 'a', 1.1), (2, 'b', 2.2), (3, 'c', 3.3); +Query OK, 3 rows affected (0.01 sec) +``` + +以下示例展示了如何使用 `SELECT ... INTO OUTFILE` 语句将查询结果写入到文件中。 + +**示例 1:** + +```sql +mysql> SELECT * FROM t INTO OUTFILE '/tmp/tmp_file1'; +Query OK, 3 rows affected (0.00 sec) +``` + +在此示例中,你可以在 `/tmp/tmp_file1` 中看到以下查询结果: + +``` +1 a 1.10 +2 b 2.20 +3 c 3.30 +``` + +**示例 2:** + +```sql +mysql> SELECT * FROM t INTO OUTFILE '/tmp/tmp_file2' FIELDS TERMINATED BY ',' ENCLOSED BY '"'; +Query OK, 3 rows affected (0.00 sec) +``` + +在此示例中,你可以在 `/tmp/tmp_file2`中看到以下查询结果: + +``` +"1","a","1.10" +"2","b","2.20" +"3","c","3.30" +``` + +**示例 3:** + +```sql +mysql> SELECT * FROM t INTO OUTFILE '/tmp/tmp_file3' + -> FIELDS TERMINATED BY ',' ENCLOSED BY '\'' LINES TERMINATED BY '<<<\n'; +Query OK, 3 rows affected (0.00 sec) +``` + +在此示例中,你可以在 `/tmp/tmp_file3`中看到以下查询结果: + +``` +'1','a','1.10'<<< +'2','b','2.20'<<< +'3','c','3.30'<<< +``` + ## MySQL 兼容性 - 不支持 `SELECT ... INTO @variable` 语法。 From dc1d7c94f672754624e97e8db9c80d6c0397bcf6 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 30 Oct 2023 17:39:02 +0800 Subject: [PATCH 4/7] Update sql-statements/sql-statement-select.md --- sql-statements/sql-statement-select.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md index edf3d5879e0a..3eddda0eba8c 100644 --- a/sql-statements/sql-statement-select.md +++ b/sql-statements/sql-statement-select.md @@ -181,7 +181,7 @@ mysql> SELECT AVG(s_quantity), COUNT(s_quantity) FROM stock; > **注意:** > -> 该语句不支持将查询结果写入任何[外部存储](https://docs.pingcap.com/tidb/stable/backup-and-restore-storages),如 Amazon S3 或 GCS。 +> 该语句不支持将查询结果写入任何[外部存储](/br/backup-and-restore-storages.md),如 Amazon S3 或 GCS。 在该语句中,你可以使用以下子句来指定输出文件的格式: From 47f5b98566da225700822ac040d1b9ee6b22e043 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 30 Oct 2023 17:40:39 +0800 Subject: [PATCH 5/7] Update sql-statement-select.md --- sql-statements/sql-statement-select.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md index 3eddda0eba8c..80eff3c016f1 100644 --- a/sql-statements/sql-statement-select.md +++ b/sql-statements/sql-statement-select.md @@ -250,6 +250,7 @@ Query OK, 3 rows affected (0.00 sec) ## MySQL 兼容性 - 不支持 `SELECT ... INTO @variable` 语法。 +- 不支持 `SELECT ... INTO DUMPFILE` 语法。 - 不支持 MySQL 5.7 中支持的 `SELECT .. GROUP BY expr` 语法,而是匹配 MySQL 8.0 的行为,不按照默认的顺序进行排序。 - `SELECT ... TABLESAMPLE ...` 是 TiDB 的扩展语法,MySQL 不支持该语法。 From 3ed853d51d4fcb608164d7cbd6922a8c9e41a130 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 30 Oct 2023 17:42:55 +0800 Subject: [PATCH 6/7] Update sql-statement-select.md --- sql-statements/sql-statement-select.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md index 80eff3c016f1..85d5553a66d8 100644 --- a/sql-statements/sql-statement-select.md +++ b/sql-statements/sql-statement-select.md @@ -223,7 +223,7 @@ mysql> SELECT * FROM t INTO OUTFILE '/tmp/tmp_file2' FIELDS TERMINATED BY ',' EN Query OK, 3 rows affected (0.00 sec) ``` -在此示例中,你可以在 `/tmp/tmp_file2`中看到以下查询结果: +在此示例中,你可以在 `/tmp/tmp_file2` 中看到以下查询结果: ``` "1","a","1.10" @@ -239,7 +239,7 @@ mysql> SELECT * FROM t INTO OUTFILE '/tmp/tmp_file3' Query OK, 3 rows affected (0.00 sec) ``` -在此示例中,你可以在 `/tmp/tmp_file3`中看到以下查询结果: +在此示例中,你可以在 `/tmp/tmp_file3` 中看到以下查询结果: ``` '1','a','1.10'<<< From b1e6f72bad4f5584a0d39d3cf9cf8a6f97d70ff3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 28 Nov 2023 18:05:41 +0800 Subject: [PATCH 7/7] Update sql-statements/sql-statement-select.md --- sql-statements/sql-statement-select.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql-statements/sql-statement-select.md b/sql-statements/sql-statement-select.md index 85d5553a66d8..6e60205f00fa 100644 --- a/sql-statements/sql-statement-select.md +++ b/sql-statements/sql-statement-select.md @@ -252,7 +252,7 @@ Query OK, 3 rows affected (0.00 sec) - 不支持 `SELECT ... INTO @variable` 语法。 - 不支持 `SELECT ... INTO DUMPFILE` 语法。 - 不支持 MySQL 5.7 中支持的 `SELECT .. GROUP BY expr` 语法,而是匹配 MySQL 8.0 的行为,不按照默认的顺序进行排序。 -- `SELECT ... TABLESAMPLE ...` 是 TiDB 的扩展语法,MySQL 不支持该语法。 +- `SELECT ... TABLESAMPLE ...` 是 TiDB 的扩展语法,用于兼容其他数据库以及 [ISO/IEC 9075-2](https://standards.iso.org/iso-iec/9075/-2/ed-6/en/) 标准,但 MySQL 不支持该语法。 ## 另请参阅