Skip to content

Commit 851cf52

Browse files
github-actions[bot]Chasen-Zhang
authored andcommitted
💬Generate LLM translations
1 parent bb7a769 commit 851cf52

File tree

1 file changed

+36
-28
lines changed

1 file changed

+36
-28
lines changed

docs/cn/sql-reference/10-sql-commands/00-ddl/01-table/10-ddl-create-table.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ import EEFeature from '@site/src/components/EEFeature';
1111

1212
<EEFeature featureName='COMPUTED COLUMN'/>
1313

14-
创建表是许多数据库中最复杂的操作之一,因为您可能需要:
14+
对于许多数据库来说,创建表是最复杂的操作之一,因为您可能需要:
1515

16-
* 手动指定引擎
17-
* 手动指定索引
18-
* 甚至指定数据分区或数据分片
16+
- 手动指定引擎
17+
- 手动指定索引
18+
- 甚至指定数据分区或数据分片
1919

20-
Databend旨在通过设计变得易于使用,并且在创建表时不需要任何这些操作。此外,CREATE TABLE语句提供了这些选项,使您在各种场景中创建表变得更加容易
20+
Databend旨在通过设计变得易于使用,并且在创建表时不需要任何这些操作。此外,CREATE TABLE语句提供了这些选项,使您在各种场景下创建表变得更加容易
2121

22-
- [CREATE TABLE](#create-table): 从头开始创建一个表
22+
- [CREATE TABLE](#create-table): 从头开始创建表
2323
- [CREATE TABLE ... LIKE](#create-table--like): 创建一个与现有表具有相同列定义的表。
2424
- [CREATE TABLE ... AS](#create-table--as): 创建一个表并使用SELECT查询的结果插入数据。
2525

@@ -34,28 +34,30 @@ Databend旨在通过设计变得易于使用,并且在创建表时不需要任
3434
```sql
3535
CREATE [ OR REPLACE ] TABLE [ IF NOT EXISTS ] [ <database_name>. ]<table_name>
3636
(
37-
<column_name> <data_type> [ NOT NULL | NULL ]
38-
[ { DEFAULT <expr> } ]
37+
<column_name> <data_type> [ NOT NULL | NULL ]
38+
[ { DEFAULT <expr> } ]
3939
[ AS (<expr>) STORED | VIRTUAL ]
4040
[ COMMENT '<comment>' ],
4141
<column_name> <data_type> ...
4242
...
4343
)
4444
```
45+
4546
:::note
47+
4648
- 有关Databend中可用的数据类型,请参阅[数据类型](../../../00-sql-reference/10-data-types/index.md)
4749

4850
- Databend建议在命名列时尽量避免使用特殊字符。然而,在某些情况下如果需要特殊字符,别名应使用反引号括起来,例如:CREATE TABLE price(\`$CA\` int);
4951

50-
- Databend会自动将列名转换为小写。例如,如果您将列命名为*Total*,它将在结果中显示为*total*
51-
:::
52-
52+
- Databend会自动将列名转换为小写。例如,如果您将列命名为_Total_,它将在结果中显示为_total_
53+
:::
5354

5455
## CREATE TABLE ... LIKE
5556

5657
创建一个与现有表具有相同列定义的表。现有表的列名、数据类型及其非空约束将被复制到新表中。
5758

5859
语法:
60+
5961
```sql
6062
CREATE TABLE [IF NOT EXISTS] [db.]table_name
6163
LIKE [db.]origin_table_name
@@ -64,20 +66,23 @@ LIKE [db.]origin_table_name
6466
此命令不包括原始表中的任何数据或属性(如`CLUSTER BY``TRANSIENT``COMPRESSION`),而是使用默认系统设置创建一个新表。
6567

6668
:::note 解决方法
67-
- 在使用此命令创建新表时,可以显式指定`TRANSIENT``COMPRESSION`。例如,
69+
70+
- 当使用此命令创建新表时,可以显式指定`TRANSIENT``COMPRESSION`。例如,
6871

6972
```sql
7073
create transient table t_new like t_old;
7174

7275
create table t_new compression='lz4' like t_old;
7376
```
77+
7478
:::
7579

7680
## CREATE TABLE ... AS
7781

7882
创建一个表并使用SELECT命令计算的数据填充它。
7983

8084
语法:
85+
8186
```sql
8287
CREATE TABLE [IF NOT EXISTS] [db.]table_name
8388
AS SELECT query
@@ -86,13 +91,15 @@ AS SELECT query
8691
此命令不包括原始表中的任何属性(如CLUSTER BY、TRANSIENT和COMPRESSION),而是使用默认系统设置创建一个新表。
8792

8893
:::note 解决方法
89-
- 在使用此命令创建新表时,可以显式指定`TRANSIENT``COMPRESSION`。例如,
94+
95+
- 当使用此命令创建新表时,可以显式指定`TRANSIENT``COMPRESSION`。例如,
9096

9197
```sql
9298
create transient table t_new as select * from t_old;
9399

94100
create table t_new compression='lz4' as select * from t_old;
95101
```
102+
96103
:::
97104

98105
## 列可空性
@@ -104,7 +111,8 @@ create table t_new compression='lz4' as select * from t_old;
104111
```sql
105112
DEFAULT <expr>
106113
```
107-
指定在通过`INSERT``CREATE TABLE AS SELECT`语句未指定值时插入到列中的默认值。
114+
115+
如果通过`INSERT``CREATE TABLE AS SELECT`语句未指定值,则指定插入到列中的默认值。
108116

109117
例如:
110118

@@ -142,9 +150,9 @@ SELECT * FROM t_default_value;
142150

143151
## 计算列
144152

145-
计算列是使用表中其他列的标量表达式生成的列。当计算中使用的任何列中的数据更新时,计算列将自动重新计算其值以反映更新。
153+
计算列是使用表中其他列的标量表达式生成的列。当用于计算的任何列中的数据更新时,计算列将自动重新计算其值以反映更新。
146154

147-
Databend支持两种类型的计算列:存储和虚拟。存储计算列在数据库中物理存储,并占用存储空间,而虚拟计算列不物理存储,其值在访问时动态计算。
155+
Databend支持两种类型的计算列:存储和虚拟。存储计算列在数据库中物理存储并占用存储空间,而虚拟计算列不物理存储,其值在访问时动态计算。
148156

149157
Databend支持两种创建计算列的语法选项:一种使用`AS (<expr>)`,另一种使用`GENERATED ALWAYS AS (<expr>)`。两种语法都允许指定计算列是存储还是虚拟。
150158

@@ -189,12 +197,12 @@ CREATE TABLE IF NOT EXISTS employees (
189197
:::tip 存储还是虚拟?
190198
在选择存储计算列和虚拟计算列时,请考虑以下因素:
191199

192-
- 存储空间:存储计算列占用表中的额外存储空间,因为它们的计算值是物理存储的。如果您有有限的数仓空间或希望最小化存储使用,虚拟计算列可能是一个更好的选择。
200+
- 存储空间:存储计算列占用表中的额外存储空间,因为其计算值是物理存储的。如果您有有限的数仓空间或希望最小化存储使用,虚拟计算列可能是一个更好的选择。
193201

194202
- 实时更新:存储计算列在依赖列更新时立即更新其计算值。这确保了在查询时始终拥有最新的计算值。虚拟计算列则在查询时动态计算其值,这可能会稍微增加处理时间。
195203

196-
- 数据完整性和一致性:存储计算列在写操作时立即维护数据一致性,因为它们的计算值在写操作时更新。虚拟计算列则在查询时动态计算其值,这意味着在写操作和后续查询之间可能会有短暂的差异。
197-
:::
204+
- 数据完整性和一致性:存储计算列在写操作时立即维护数据一致性,因为其计算值在写操作时更新。虚拟计算列则在查询时动态计算其值,这意味着在写操作和后续查询之间可能会有短暂的差异。
205+
:::
198206

199207
## MySQL兼容性
200208

@@ -233,7 +241,7 @@ DESC books;
233241
INSERT INTO books(id, title) VALUES(1, 'Invisible Stars');
234242
```
235243

236-
查询表并注意`genre`列已设置为默认值'General':
244+
查询表并注意到`genre`列已设置为默认值'General':
237245

238246
```sql
239247
SELECT * FROM books;
@@ -265,7 +273,7 @@ DESC books_copy;
265273
+-------+-----------------+------+---------+-------+
266274
```
267275

268-
向新表插入一行并注意`genre`列的默认值已被复制:
276+
向新表插入一行并注意到`genre`列的默认值已被复制:
269277

270278
```sql
271279
INSERT INTO books_copy(id, title) VALUES(1, 'Invisible Stars');
@@ -286,7 +294,7 @@ SELECT * FROM books_copy;
286294
CREATE TABLE books_backup AS SELECT * FROM books;
287295
```
288296

289-
描述新表并注意`genre`列的默认值未被复制:
297+
描述新表并注意到`genre`列的默认值未被复制:
290298

291299
```sql
292300
DESC books_backup;
@@ -299,7 +307,7 @@ DESC books_backup;
299307
+-------+-----------------+------+---------+-------+
300308
```
301309

302-
查询新表并注意原始表的数据已被复制
310+
查询新表并注意到原始表的数据已被复制
303311

304312
```sql
305313
SELECT * FROM books_backup;
@@ -312,7 +320,7 @@ SELECT * FROM books_backup;
312320

313321
### 创建表 ... 列 AS STORED | VIRTUAL
314322

315-
以下示例演示了一个带有存储计算列的表,该列根据“price”或“quantity”列的更新自动重新计算:
323+
以下示例演示了一个带有存储计算列的表,该列会根据“price”或“quantity”列的更新自动重新计算:
316324

317325
```sql
318326
-- 创建带有存储计算列的表
@@ -343,7 +351,7 @@ FROM products;
343351
+------+-------+----------+-------------+
344352
```
345353

346-
在这个示例中,我们创建了一个名为student_profiles的表,其中包含一个名为profile的Variant类型列来存储JSON数据。我们还添加了一个名为*age*的虚拟计算列,该列从profile列中提取age属性并将其转换为整数。
354+
在这个示例中,我们创建了一个名为student_profiles的表,其中包含一个名为profile的Variant类型列来存储JSON数据。我们还添加了一个名为_age_的虚拟计算列,该列从profile列中提取age属性并将其转换为整数。
347355

348356
```sql
349357
-- 创建带有虚拟计算列的表
@@ -366,8 +374,8 @@ SELECT * FROM student_profiles;
366374
+--------+------------------------------------------------------------------------------------------------------------+------+
367375
| id | profile | age |
368376
+--------+------------------------------------------------------------------------------------------------------------+------+
369-
| d78236 | {"age":"16","credits":120,"id":"d78236","name":"Arthur Read","school":"PVPHS","sports":"none"} | 16 |
370-
| f98112 | {"age":"15","clubs":"MUN","credits":67,"id":"f98112","name":"Buster Bunny","school":"TEO"} | 15 |
371-
| t63512 | {"clubs":"Chess","id":"t63512","name":"Ernie Narayan","school":"Brooklyn Tech","sports":"Track and Field"} | NULL |
377+
| d78236 | `{"age":"16","credits":120,"id":"d78236","name":"Arthur Read","school":"PVPHS","sports":"none"}` | 16 |
378+
| f98112 | `{"age":"15","clubs":"MUN","credits":67,"id":"f98112","name":"Buster Bunny","school":"TEO"}` | 15 |
379+
| t63512 | `{"clubs":"Chess","id":"t63512","name":"Ernie Narayan","school":"Brooklyn Tech","sports":"Track and Field"}` | NULL |
372380
+--------+------------------------------------------------------------------------------------------------------------+------+
373381
```

0 commit comments

Comments
 (0)