@@ -5,79 +5,83 @@ sidebar_position: 4
5
5
6
6
import FunctionDescription from '@site/src /components/FunctionDescription';
7
7
8
- <FunctionDescription description =" Introduced or updated: v1.2.415 " />
8
+ <FunctionDescription description =" ๅผๅ
ฅๆๆดๆฐไบ๏ผ v1.2.760 " />
9
9
10
10
import EEFeature from '@site/src /components/EEFeature';
11
11
12
- <EEFeature featureName =' MASKING POLICY ' />
12
+ <EEFeature featureName =' ่ฑๆ็ญ็ฅ๏ผ MASKING POLICY๏ผ ' />
13
13
14
14
้่ฟๆทปๅ ใ่ฝฌๆขใ้ๅฝๅใๆดๆนๆๅ ้คๅๆฅไฟฎๆน่กจใ
15
15
16
- ## Syntax
16
+ ## ่ฏญๆณ
17
17
18
18
``` sql
19
- -- Add a column to the end of the table
20
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
19
+ -- ๅจ่กจๆซๅฐพๆทปๅ ไธๅ
20
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
21
21
ADD [ COLUMN ] < column_name> < data_type> [ NOT NULL | NULL ] [ DEFAULT < constant_value> ]
22
22
23
- -- Add a column to a specified position
24
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
23
+ -- ๅจๆๅฎไฝ็ฝฎๆทปๅ ไธๅ
24
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
25
25
ADD [ COLUMN ] < column_name> < data_type> [ NOT NULL | NULL ] [ DEFAULT < constant_value> ] [ FIRST | AFTER < column_name> ]
26
26
27
- -- Add a virtual computed column
28
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
27
+ -- ๆทปๅ ไธไธช่ๆ่ฎก็ฎๅ
28
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
29
29
ADD [ COLUMN ] < column_name> < data_type> AS (< expr> ) VIRTUAL
30
30
31
- -- Convert a stored computed column to a regular column
32
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
31
+ -- ๅฐๅญๅจ่ฎก็ฎๅ่ฝฌๆขไธบๅธธ่งๅ
32
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
33
33
MODIFY [ COLUMN ] < column_name> DROP STORED
34
34
35
- -- Rename a column
35
+ -- ้ๅฝๅๅ
36
36
ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
37
37
RENAME [ COLUMN ] < column_name> TO < new_column_name>
38
38
39
- -- Change data type and/or comment
40
- -- If you only want to modify or add a comment for a column, you must still specify the current data type for that column in the command
41
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
42
- MODIFY [ COLUMN ] < column_name> < new_data_type> [ DEFAULT < constant_value> ] [ COMMENT ' <comment>' ]
43
- [ , [ COLUMN ] < column_name> < new_data_type> [ DEFAULT < constant_value> ] [ COMMENT ' <comment>' ] ]
39
+ -- ๆดๆนๆฐๆฎ็ฑปๅ
40
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
41
+ MODIFY [ COLUMN ] < column_name> < new_data_type> [ DEFAULT < constant_value> ]
42
+ [ , [ COLUMN ] < column_name> < new_data_type> [ DEFAULT < constant_value> ] ]
44
43
...
45
44
46
- -- Set / Unset masking policy for a column
45
+ -- ๆดๆนๆณจ้
46
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
47
+ MODIFY [ COLUMN ] < column_name> [ COMMENT ' <comment>' ]
48
+ [ , [ COLUMN ] < column_name> [ COMMENT ' <comment>' ] ]
49
+ ...
50
+
51
+ -- ไธบๅ่ฎพ็ฝฎ/ๅๆถ่ฎพ็ฝฎ่ฑๆ็ญ็ฅ
47
52
ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
48
53
MODIFY [ COLUMN ] < column_name> SET MASKING POLICY < policy_name>
49
54
50
55
ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
51
56
MODIFY [ COLUMN ] < column_name> UNSET MASKING POLICY
52
57
53
- -- Remove a column
54
- ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
58
+ -- ๅ ้คไธๅ
59
+ ALTER TABLE [ IF EXISTS ] [ < database_name> . ]< table_name>
55
60
DROP [ COLUMN ] < column_name>
56
61
```
57
62
58
63
::: note
64
+ - ๅจๆทปๅ ๆไฟฎๆนๅๆถ๏ผไป
ๆฅๅๅธธ้ๅผไฝไธบ้ป่ฎคๅผใๅฆๆไฝฟ็จ้ๅธธ้่กจ่พพๅผ๏ผๅฐไผๆฅ้ใ
65
+ - ๅฐไธๆฏๆไฝฟ็จ ALTER TABLE ๆทปๅ ๅญๅจ่ฎก็ฎๅใ
66
+ - ๅฝๆดๆน่กจๅ็ๆฐๆฎ็ฑปๅ๏ผData Type๏ผๆถ๏ผๅญๅจ่ฝฌๆข้่ฏฏ็้ฃ้ฉใไพๅฆ๏ผๅฆๆๅฐ่ฏๅฐๆๆฌ๏ผString๏ผๅ่ฝฌๆขไธบๆฐๅญ๏ผFloat๏ผๅ๏ผๅฏ่ฝไผๅผๅ้ฎ้ขใ
67
+ - ๅฝไธบๅ่ฎพ็ฝฎ่ฑๆ็ญ็ฅ๏ผMasking Policy๏ผๆถ๏ผ่ฏท็กฎไฟ็ญ็ฅไธญๅฎไน็ๆฐๆฎ็ฑปๅ๏ผ่ฏทๅ่ [ CREATE MASKING POLICY] ( ../12-mask-policy/create-mask-policy.md ) ่ฏญๆณไธญ็ * arg_type_to_mask* ๅๆฐ๏ผไธๅ็ๆฐๆฎ็ฑปๅ็ธๅน้
ใ
68
+ :::
59
69
60
- - ไป
ๆฅๅๅธธ้ๅผไฝไธบๆทปๅ ๆไฟฎๆนๅ็้ป่ฎคๅผใๅฆๆไฝฟ็จ้ๅธธ้่กจ่พพๅผ๏ผๅไผๅ็้่ฏฏใ
61
- - ๅฐไธๆฏๆไฝฟ็จ ALTER TABLE ๆทปๅ ๅญๅจ็่ฎก็ฎๅใ
62
- - ๆดๆน่กจ็ๅ็ๆฐๆฎ็ฑปๅๆถ๏ผๅญๅจ่ฝฌๆข้่ฏฏ็้ฃ้ฉใไพๅฆ๏ผๅฆๆๆจๅฐ่ฏๅฐๅ
ทๆๆๆฌ (String) ็ๅ่ฝฌๆขไธบๆฐๅญ (Float)๏ผๅๅฏ่ฝไผๅฏผ่ด้ฎ้ขใ
63
- - ๅฝๆจไธบๅ่ฎพ็ฝฎ masking policy ๆถ๏ผ่ฏท็กฎไฟ policy ไธญๅฎไน็ๆฐๆฎ็ฑปๅ๏ผ่ฏทๅ้
[ CREATE MASKING POLICY] ( ../12-mask-policy/create-mask-policy.md ) ่ฏญๆณไธญ็ๅๆฐ _ arg_type_to_mask_ ๏ผไธ่ฏฅๅๅน้
ใ
64
- :::
70
+ ## ็คบไพ
65
71
66
- ## Examples
72
+ ### ็คบไพ 1๏ผๆทปๅ ใ้ๅฝๅๅๅ ้คๅ
67
73
68
- ### Example 1: Adding, Renaming, and Removing a Column
69
-
70
- ๆญค็คบไพ่ฏดๆไบๅฆไฝๅๅปบๅไธบ "default.users" ็่กจ๏ผๅ
ถไธญๅ
ๅซ 'username'ใ'email' ๅ 'age' ๅใๅฎๅฑ็คบไบๅฆไฝๆทปๅ ๅ
ทๆๅ็ง็บฆๆ็ 'id' ๅ 'middle_name' ๅใ่ฏฅ็คบไพ่ฟๆผ็คบไบ้ๅฝๅๅ้ๅๅ ้ค "age" ๅใ
74
+ ๆฌ็คบไพๆผ็คบไบๅฆไฝๅๅปบไธไธชๅไธบ "default.users" ็่กจ๏ผ่ฏฅ่กจๅ
ๅซ 'username'ใ'email' ๅ 'age' ๅใ็คบไพๅฑ็คบไบๅฆไฝๆทปๅ ๅ
ทๆไธๅ็บฆๆ็ 'id' ๅ 'middle_name' ๅ๏ผๅนถๆผ็คบไบๅฆไฝ้ๅฝๅๅๅ ้ค "age" ๅใ
71
75
72
76
``` sql
73
- -- Create a table
77
+ -- ๅๅปบไธไธช่กจ
74
78
CREATE TABLE default .users (
75
79
username VARCHAR (50 ) NOT NULL ,
76
80
email VARCHAR (255 ),
77
81
age INT
78
82
);
79
83
80
- -- Add a column to the end of the table
84
+ -- ๅจ่กจๆซๅฐพๆทปๅ ไธๅ
81
85
ALTER TABLE default .users
82
86
ADD COLUMN business_email
VARCHAR (
255 )
NOT NULL DEFAULT
' [email protected] ' ;
83
87
@@ -90,7 +94,7 @@ email |VARCHAR|YES |NULL | |
90
94
age |INT |YES |NULL | |
91
95
business_email|
VARCHAR |NO |
' [email protected] ' | |
92
96
93
- -- Add a column to the beginning of the table
97
+ -- ๅจ่กจๅผๅคดๆทปๅ ไธๅ
94
98
ALTER TABLE default .users
95
99
ADD COLUMN id int NOT NULL FIRST;
96
100
@@ -104,7 +108,7 @@ email |VARCHAR|YES |NULL | |
104
108
age |INT |YES |NULL | |
105
109
business_email|
VARCHAR |NO |
' [email protected] ' | |
106
110
107
- -- Add a column after the column 'username'
111
+ -- ๅจ 'username' ๅๅๆทปๅ ไธๅ
108
112
ALTER TABLE default .users
109
113
ADD COLUMN middle_name VARCHAR (50 ) NULL AFTER username;
110
114
@@ -119,7 +123,7 @@ email |VARCHAR|YES |NULL | |
119
123
age |INT |YES |NULL | |
120
124
business_email|
VARCHAR |NO |
' [email protected] ' | |
121
125
122
- -- Rename a column
126
+ -- ้ๅฝๅไธๅ
123
127
ALTER TABLE default .users
124
128
RENAME COLUMN age TO new_age;
125
129
@@ -134,7 +138,7 @@ email |VARCHAR|YES |NULL | |
134
138
new_age |INT |YES |NULL | |
135
139
business_email|
VARCHAR |NO |
' [email protected] ' | |
136
140
137
- -- Remove a column
141
+ -- ๅ ้คไธๅ
138
142
ALTER TABLE default .users
139
143
DROP COLUMN new_age;
140
144
@@ -149,26 +153,26 @@ email |VARCHAR|YES |NULL | |
149
153
business_email|
VARCHAR |NO |
' [email protected] ' | |
150
154
```
151
155
152
- ### Example 2: Adding a Computed Column
156
+ ### ็คบไพ 2๏ผๆทปๅ ่ฎก็ฎๅ
153
157
154
- ๆญค็คบไพๆผ็คบๅฆไฝๅๅปบไธไธช่กจๆฅๅญๅจๅๅทฅไฟกๆฏ๏ผๅฐๆฐๆฎๆๅ
ฅๅฐ่กจไธญ๏ผๅนถๆทปๅ ไธไธช่ฎก็ฎๅไปฅๆ นๆฎๆฏไธชๅๅทฅ็ๅบ็ๅนดไปฝ่ฎก็ฎๅ
ถๅนด้พ ใ
158
+ ๆฌ็คบไพๆผ็คบไบๅฆไฝๅๅปบไธไธช็จไบๅญๅจๅๅทฅไฟกๆฏ็่กจ๏ผๅ่กจไธญๆๅ
ฅๆฐๆฎ๏ผๅนถๆทปๅ ไธไธช่ฎก็ฎๅ๏ผๆ นๆฎๅๅทฅ็ๅบ็ๅนดไปฝ่ฎก็ฎๅ
ถๅนด้พ ใ
155
159
156
160
``` sql
157
- -- Create a table
161
+ -- ๅๅปบไธไธช่กจ
158
162
CREATE TABLE Employees (
159
163
ID INT ,
160
164
Name VARCHAR (50 ),
161
165
BirthYear INT
162
166
);
163
167
164
- -- Insert data
168
+ -- ๆๅ
ฅๆฐๆฎ
165
169
INSERT INTO Employees (ID, Name, BirthYear)
166
170
VALUES
167
171
(1 , ' John Doe' , 1990 ),
168
172
(2 , ' Jane Smith' , 1985 ),
169
173
(3 , ' Robert Johnson' , 1982 );
170
174
171
- -- Add a computed column named Age
175
+ -- ๆทปๅ ไธไธชๅไธบ Age ็่ฎก็ฎๅ
172
176
ALTER TABLE Employees
173
177
ADD COLUMN Age INT64 AS (2023 - BirthYear) VIRTUAL;
174
178
@@ -181,9 +185,9 @@ ID | Name | BirthYear | Age
181
185
3 | Robert Johnson| 1982 | 41
182
186
```
183
187
184
- ### Example 3: Converting a Computed Column
188
+ ### ็คบไพ 3๏ผ่ฝฌๆข่ฎก็ฎๅ
185
189
186
- ๆญค็คบไพๅๅปบไธไธชๅไธบ "products" ็่กจ๏ผๅ
ถไธญๅ
ๅซ IDใไปทๆ ผใๆฐ้ๅ่ฎก็ฎๅ "total_price" ็ๅ ใALTER TABLE ่ฏญๅฅไป "total_price" ๅไธญๅ ้ค่ฎก็ฎๅ่ฝ๏ผๅฐๅ
ถ่ฝฌๆขไธบๅธธ่งๅ ใ
190
+ ๆฌ็คบไพๅๅปบไบไธไธชๅไธบ "products" ็่กจ๏ผๅ
ๅซ IDใpriceใquantity ๅๅไธไธช่ฎก็ฎๅ "total_price"ใALTER TABLE ่ฏญๅฅ็งป้คไบ "total_price" ๅ็่ฎก็ฎๅ่ฝ๏ผๅฐๅ
ถ่ฝฌๆขไธบไธไธชๅธธ่งๅ ใ
187
191
188
192
``` sql
189
193
CREATE TABLE IF NOT EXISTS products (
@@ -197,9 +201,9 @@ ALTER TABLE products
197
201
MODIFY COLUMN total_price DROP STORED;
198
202
```
199
203
200
- ### Example 4: Changing Data Type of a Column
204
+ ### ็คบไพ 4๏ผๆดๆนๅ็ๆฐๆฎ็ฑปๅ
201
205
202
- ๆญค็คบไพๆผ็คบๅฆไฝไฟฎๆนๅ็ๆฐๆฎ็ฑปๅๅนถๅๅ
ถๆทปๅ ๆณจ้ ใ
206
+ ๆฌ็คบไพๆผ็คบไบๅฆไฝไฟฎๆนๅ็ๆฐๆฎ็ฑปๅๅนถไธบๅ
ถๆทปๅ ๆณจ้ ใ
203
207
204
208
``` sql
205
209
CREATE TABLE students_info (
@@ -208,7 +212,7 @@ CREATE TABLE students_info (
208
212
age INT
209
213
);
210
214
211
- -- Change the data type of the 'age' column to VARCHAR with a default value of 0
215
+ -- ๅฐ 'age' ๅ็ๆฐๆฎ็ฑปๅๆดๆนไธบ VARCHAR๏ผ้ป่ฎคๅผไธบ '0'
212
216
ALTER TABLE students_info MODIFY COLUMN age VARCHAR (10 ) DEFAULT ' 0' ;
213
217
214
218
SHOW CREATE TABLE students_info;
@@ -219,8 +223,8 @@ SHOW CREATE TABLE students_info;
219
223
โ students_info โ CREATE TABLE students_info (\n id INT NULL ,\n name VARCHAR NULL ,\n age VARCHAR NULL DEFAULT ' 0' \n) ENGINE= FUSE โ
220
224
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
221
225
222
- -- Add a comment to the 'age' column
223
- ALTER TABLE students_info MODIFY COLUMN age VARCHAR ( 10 ) COMMENT ' abc' ;
226
+ -- ไธบ 'age' ๅๆทปๅ ๆณจ้
227
+ ALTER TABLE students_info MODIFY COLUMN age COMMENT ' abc' ;
224
228
225
229
SHOW CREATE TABLE students_info;
226
230
@@ -231,12 +235,12 @@ SHOW CREATE TABLE students_info;
231
235
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
232
236
```
233
237
234
- ### Example 5: Setting Masking Policy for a Column
238
+ ### ็คบไพ 5๏ผไธบๅ่ฎพ็ฝฎ่ฑๆ็ญ็ฅ
235
239
236
- ๆญค็คบไพ่ฏดๆไบๅฆไฝ่ฎพ็ฝฎ masking policy ไปฅๆ นๆฎ็จๆท่ง่ฒ้ๆฉๆงๅฐๆพ็คบๆๅฑ่ฝๆๆๆฐๆฎใ
240
+ ๆฌ็คบไพๆผ็คบไบๅฆไฝ่ฎพ็ฝฎ่ฑๆ็ญ็ฅ๏ผMasking Policy๏ผ๏ผ ไปฅๆ นๆฎ็จๆท่ง่ฒ้ๆฉๆงๅฐๆพ็คบๆๅฑ่ฝๆๆๆฐๆฎใ
237
241
238
242
``` sql
239
- -- Create a table and insert sample data
243
+ -- ๅๅปบ่กจๅนถๆๅ
ฅ็คบไพๆฐๆฎ
240
244
CREATE TABLE user_info (
241
245
id INT ,
242
246
email STRING
@@ -245,15 +249,15 @@ CREATE TABLE user_info (
245
249
INSERT INTO user_info (id, email)
VALUES (
1 ,
' [email protected] ' );
246
250
INSERT INTO user_info (id, email)
VALUES (
2 ,
' [email protected] ' );
247
251
248
- -- Create a role
252
+ -- ๅๅปบไธไธช่ง่ฒ
249
253
CREATE ROLE ' MANAGERS' ;
250
254
GRANT ALL ON * .* TO ROLE ' MANAGERS' ;
251
255
252
- -- Create a user and grant the role to the user
256
+ -- ๅๅปบไธไธช็จๆทๅนถๆไบ่ง่ฒ
253
257
CREATE USER manager_user IDENTIFIED BY ' databend' ;
254
258
GRANT ROLE ' MANAGERS' TO ' manager_user' ;
255
259
256
- -- Create a masking policy
260
+ -- ๅๅปบไธไธช่ฑๆ็ญ็ฅ
257
261
CREATE MASKING POLICY email_mask
258
262
AS
259
263
(val string)
266
270
END
267
271
COMMENT = ' hide_email' ;
268
272
269
- -- Associate the masking policy with the 'email' column
273
+ -- ๅฐ่ฑๆ็ญ็ฅไธ 'email' ๅๅ
ณ่
270
274
ALTER TABLE user_info MODIFY COLUMN email SET MASKING POLICY email_mask;
271
275
272
- -- Query with the Root user
276
+ -- ไฝฟ็จ Root ็จๆทๆฅ่ฏข
273
277
SELECT * FROM user_info;
274
278
275
279
id|email |
276
280
-- +---------+
277
281
2 |********* |
278
282
1 |********* |
279
- ```
283
+ ```
0 commit comments