|
| 1 | +--- |
| 2 | +title: ไฝฟ็จ ATTACH TABLE ้พๆฅ่กจ |
| 3 | +--- |
| 4 | + |
| 5 | +ๅจๆฌๆ็จไธญ๏ผๆไปฌๅฐๆๅฏผๆจๅฆไฝไฝฟ็จ [ATTACH TABLE](/sql/sql-commands/ddl/table/attach-table) ๅฝไปคๅฐ Databend Cloud ไธญ็่กจไธๅญๅจๅจ S3 ๆกถไธญ็็ฐๆ Databend ่กจ้พๆฅ่ตทๆฅใ |
| 6 | + |
| 7 | +## ๅผๅงไนๅ |
| 8 | + |
| 9 | +ๅจๅผๅงไนๅ๏ผ่ฏท็กฎไฟๆจๅทฒๅ
ทๅคไปฅไธๅ
ๅณๆกไปถ๏ผ |
| 10 | + |
| 11 | +- ๆฌๅฐๆบๅจไธๅทฒๅฎ่ฃ
[Docker](https://www.docker.com/)๏ผๅ ไธบๅฎๅฐ็จไบๅฏๅจ็งๆๅ้จ็ฝฒ็ Databendใ |
| 12 | +- ไธไธช AWS S3 ๆกถ๏ผ็จไฝ็งๆๅ้จ็ฝฒ Databend ็ๅญๅจใ[ไบ่งฃๅฆไฝๅๅปบ S3 ๆกถ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)ใ |
| 13 | +- ๅ
ทๆ่ถณๅคๆ้่ฎฟ้ฎ S3 ๆกถ็ AWS Access Key ID ๅ Secret Access Keyใ[็ฎก็ๆจ็ AWS ๅญ่ฏ](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)ใ |
| 14 | +- ๆฌๅฐๆบๅจไธๅทฒๅฎ่ฃ
BendSQLใๆๅ
ณๅฆไฝไฝฟ็จๅ็งๅ
็ฎก็ๅจๅฎ่ฃ
BendSQL ็่ฏดๆ๏ผ่ฏทๅ้
[ๅฎ่ฃ
BendSQL](/guides/sql-clients/bendsql/#installing-bendsql)ใ |
| 15 | + |
| 16 | +## ๆญฅ้ชค 1๏ผๅจ Docker ไธญๅฏๅจ Databend |
| 17 | + |
| 18 | +1. ๅจๆฌๅฐๆบๅจไธๅฏๅจไธไธช Databend ๅฎนๅจใไปฅไธๅฝไปคไฝฟ็จ S3 ไฝไธบๅญๅจๅ็ซฏ๏ผไฝฟ็จ `databend-doc` ๆกถไปฅๅๆๅฎ็ S3 ็ซฏ็นๅ่ฎค่ฏๅญ่ฏๅฏๅจ Databend ๅฎนๅจใ |
| 19 | + |
| 20 | +```bash |
| 21 | +docker run \ |
| 22 | + -p 8000:8000 \ |
| 23 | + -e QUERY_STORAGE_TYPE=s3 \ |
| 24 | + -e AWS_S3_ENDPOINT="https://s3.us-east-2.amazonaws.com" \ |
| 25 | + -e AWS_S3_BUCKET=databend-doc\ |
| 26 | + -e AWS_ACCESS_KEY_ID=<your-aws-access-key-id> \ |
| 27 | + -e AWS_SECRET_ACCESS_KEY=<your-aws-secrect-access-key> \ |
| 28 | + datafuselabs/databend:v1.2.699-nightly |
| 29 | +``` |
| 30 | + |
| 31 | +2. ๅๅปบไธไธชๅไธบ `population` ็่กจๆฅๅญๅจๅๅธใ็ไปฝๅไบบๅฃๆฐๆฎ๏ผๅนถๆๅ
ฅ็คบไพ่ฎฐๅฝๅฆไธ๏ผ |
| 32 | + |
| 33 | +```sql |
| 34 | +CREATE TABLE population ( |
| 35 | + city VARCHAR(50), |
| 36 | + province VARCHAR(50), |
| 37 | + population INT |
| 38 | +); |
| 39 | + |
| 40 | +INSERT INTO population (city, province, population) VALUES |
| 41 | + ('Toronto', 'Ontario', 2731571), |
| 42 | + ('Montreal', 'Quebec', 1704694), |
| 43 | + ('Vancouver', 'British Columbia', 631486); |
| 44 | +``` |
| 45 | + |
| 46 | +3. ่ฟ่กไปฅไธ่ฏญๅฅไปฅๆฃ็ดข่กจๅจ S3 ไธญ็ไฝ็ฝฎใๅฆไธๆ็คบ็็ปๆไธญ๏ผๆฌๆ็จไธญ่กจ็ S3 URI ไธบ `s3://databend-doc/1/16/`ใ |
| 47 | + |
| 48 | +```sql |
| 49 | +SELECT snapshot_location FROM FUSE_SNAPSHOT('default', 'population'); |
| 50 | + |
| 51 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 52 | +โ snapshot_location โ |
| 53 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค |
| 54 | +โ 1/16/_ss/513c5100aa0243fe863b4cc2df0e3046_v4.mpk โ |
| 55 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 56 | +``` |
| 57 | + |
| 58 | +## ๆญฅ้ชค 2๏ผๅจ Databend Cloud ไธญ่ฎพ็ฝฎ้ๅ ่กจ |
| 59 | + |
| 60 | +1. ไฝฟ็จ BendSQL ่ฟๆฅๅฐ Databend Cloudใๅฆๆๆจไธ็ๆ BendSQL๏ผ่ฏทๅ่ๆฌๆ็จ๏ผ[ไฝฟ็จ BendSQL ่ฟๆฅๅฐ Databend Cloud](../connect/connect-to-databendcloud-bendsql.md)ใ |
| 61 | + |
| 62 | +2. ๆง่กไปฅไธ่ฏญๅฅไปฅๅๅปบไธคไธช้ๅ ่กจ๏ผ |
| 63 | + - ็ฌฌไธไธช่กจ `population_all_columns` ๅ
ๅซๆบๆฐๆฎไธญ็ๆๆๅใ |
| 64 | + - ็ฌฌไบไธช่กจ `population_only` ไป
ๅ
ๅซ้ๅฎ็ๅ๏ผ`city` ๅ `population`๏ผใ |
| 65 | + |
| 66 | +```sql |
| 67 | +-- ๅๅปบไธไธชๅ
ๅซๆบๆฐๆฎไธญๆๆๅ็้ๅ ่กจ |
| 68 | +ATTACH TABLE population_all_columns 's3://databend-doc/1/16/' CONNECTION = ( |
| 69 | + REGION='us-east-2', |
| 70 | + AWS_KEY_ID = '<your_aws_key_id>', |
| 71 | + AWS_SECRET_KEY = '<your_aws_secret_key>' |
| 72 | +); |
| 73 | + |
| 74 | +-- ๅๅปบไธไธชไป
ๅ
ๅซ้ๅฎๅ๏ผcity ๅ population๏ผ็้ๅ ่กจ |
| 75 | +ATTACH TABLE population_only (city, population) 's3://databend-doc/1/16/' CONNECTION = ( |
| 76 | + REGION='us-east-2', |
| 77 | + AWS_KEY_ID = '<your_aws_key_id>', |
| 78 | + AWS_SECRET_KEY = '<your_aws_secret_key>' |
| 79 | +); |
| 80 | +``` |
| 81 | + |
| 82 | +## ๆญฅ้ชค 3๏ผ้ช่ฏ้ๅ ่กจ |
| 83 | + |
| 84 | +1. ๆฅ่ฏขไธคไธช้ๅ ่กจไปฅ้ช่ฏๅ
ถๅ
ๅฎน๏ผ |
| 85 | + |
| 86 | +```sql |
| 87 | +SELECT * FROM population_all_columns; |
| 88 | + |
| 89 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 90 | +โ city โ province โ population โ |
| 91 | +โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค |
| 92 | +โ Toronto โ Ontario โ 2731571 โ |
| 93 | +โ Montreal โ Quebec โ 1704694 โ |
| 94 | +โ Vancouver โ British Columbia โ 631486 โ |
| 95 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 96 | + |
| 97 | +SELECT * FROM population_only; |
| 98 | + |
| 99 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 100 | +โ city โ population โ |
| 101 | +โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค |
| 102 | +โ Toronto โ 2731571 โ |
| 103 | +โ Montreal โ 1704694 โ |
| 104 | +โ Vancouver โ 631486 โ |
| 105 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 106 | +``` |
| 107 | + |
| 108 | +2. ๅฆๆๆจๅจ Databend ไธญๆดๆฐๆบ่กจ๏ผๆจๅฏไปฅๅจ Databend Cloud ็้ๅ ่กจไธญ่งๅฏๅฐ็ธๅ็ๅๅใไพๅฆ๏ผๅฆๆๆจๅฐๆบ่กจไธญ Toronto ็ไบบๅฃๆดๆนไธบ 2,371,571๏ผ |
| 109 | + |
| 110 | +```sql |
| 111 | +UPDATE population |
| 112 | +SET population = 2371571 |
| 113 | +WHERE city = 'Toronto'; |
| 114 | +``` |
| 115 | + |
| 116 | +ๆง่กๆดๆฐๅ๏ผๆจๅฏไปฅๆฅ่ฏขไธคไธช้ๅ ่กจไปฅ้ช่ฏๆดๆนๆฏๅฆๅๆ ๏ผ |
| 117 | + |
| 118 | +```sql |
| 119 | +-- ๆฃๆฅๅ
ๅซๆๆๅ็้ๅ ่กจไธญ็ๆดๆฐๅไบบๅฃ |
| 120 | +SELECT population FROM population_all_columns WHERE city = 'Toronto'; |
| 121 | + |
| 122 | +-- ๆฃๆฅไป
ๅ
ๅซไบบๅฃๅ็้ๅ ่กจไธญ็ๆดๆฐๅไบบๅฃ |
| 123 | +SELECT population FROM population_only WHERE city = 'Toronto'; |
| 124 | +``` |
| 125 | + |
| 126 | +ไธ่ฟฐๆฅ่ฏข็้ขๆ่พๅบ๏ผ |
| 127 | + |
| 128 | +```sql |
| 129 | +โโโโโโโโโโโโโโโโโโโ |
| 130 | +โ population โ |
| 131 | +โโโโโโโโโโโโโโโโโโโค |
| 132 | +โ 2371571 โ |
| 133 | +โโโโโโโโโโโโโโโโโโโ |
| 134 | +``` |
| 135 | + |
| 136 | +3. ๅฆๆๆจไปๆบ่กจไธญๅ ้ค `province` ๅ๏ผๅฎๅฐไธๅๅจ้ๅ ่กจไธญๅฏ็จใ |
| 137 | + |
| 138 | +```sql |
| 139 | +ALTER TABLE population DROP province; |
| 140 | +``` |
| 141 | + |
| 142 | +ๅ ้คๅๅ๏ผไปปไฝๅผ็จๅฎ็ๆฅ่ฏข้ฝๅฐๅฏผ่ด้่ฏฏใ็ถ่๏ผๅฉไฝ็ๅไป็ถๅฏไปฅๆๅๆฅ่ฏขใ |
| 143 | + |
| 144 | +ไพๅฆ๏ผๅฐ่ฏๆฅ่ฏขๅทฒๅ ้ค็ `province` ๅๅฐๅคฑ่ดฅ๏ผ |
| 145 | + |
| 146 | +```sql |
| 147 | +SELECT province FROM population_all_columns; |
| 148 | +error: APIError: QueryFailed: [1065]error: |
| 149 | + --> SQL:1:8 |
| 150 | + | |
| 151 | +1 | SELECT province FROM population_all_columns |
| 152 | + | ^^^^^^^^ column province doesn't exist |
| 153 | +``` |
| 154 | +
|
| 155 | +ไฝๆฏ๏ผๆจไป็ถๅฏไปฅๆฃ็ดข `city` ๅ `population` ๅ๏ผ |
| 156 | +
|
| 157 | +```sql |
| 158 | +SELECT city, population FROM population_all_columns; |
| 159 | +
|
| 160 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 161 | +โ city โ population โ |
| 162 | +โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโค |
| 163 | +โ Toronto โ 2371571 โ |
| 164 | +โ Montreal โ 1704694 โ |
| 165 | +โ Vancouver โ 631486 โ |
| 166 | +โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ |
| 167 | +``` |
0 commit comments