> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# كيفية إدراج جميع الصفوف من جدول إلى آخر؟

> مقالة في قاعدة المعرفة حول كيفية إدراج جميع الصفوف من جدول إلى آخر.

{frontMatter.description}

<div id="introduction">
  ## مقدمة
</div>

أحيانًا تحتاج إلى إعادة إدخال جميع البيانات من جدول إلى آخر.

على سبيل المثال، قد ترغب في إعادة إدخال البيانات من جدول مرحلي إلى جدول الإنتاج. تشرح هذه المقالة كيفية تنفيذ ذلك باستخدام عبارة `INSERT INTO`.

<div id="example">
  ## مثال
</div>

فيما يلي مثال بسيط يوضح آلية العمل وكيفية الاختبار:

* أنشئ قاعدة بيانات تجريبية

```sql theme={null}
CREATE DATABASE db1;
```

* إنشاء جدول لعينة

```sql theme={null}
CREATE TABLE db1.source_table
(
    city VARCHAR,
    country VARCHAR,
    continent VARCHAR
)
engine = MergeTree()
ORDER BY continent;
```

* أدرِج بعض البيانات في الجدول المصدر

```sql theme={null}
INSERT INTO db1.source_table (city, country, continent)
VALUES
    ('New York', 'USA', 'North America'),
    ('Tokyo', 'Japan', 'Asia'),
    ('Berlin', 'Germany', 'Europe'),
    ('Paris', 'France', 'Europe'),
    ('Cairo', 'Egypt', 'Africa'),
    ('Sydney', 'Australia', 'Australia');
```

* تحقّق من عدد الصفوف في جدول المصدر

```sql theme={null}
SELECT COUNT(*) FROM db1.source_table;
```

```text theme={null}
┌─count()─┐
│      6  │
└─────────┘
```

* أنشئ جدولًا جديدًا بالبنية نفسها التي للجدول المصدر.

```sql theme={null}
CREATE TABLE db1.target_table AS db1.source_table;
```

* أدرِج جميع الصفوف من الجدول المصدر في الجدول المستهدف.

```sql theme={null}
INSERT INTO db1.target_table SELECT * FROM db1.source_table;
```

* تحقّق من عدد الصفوف في الجدول المستهدف

```sql theme={null}
SELECT COUNT(*) FROM db1.target_table;
```

```text theme={null}
┌─count()─┐
│      6  │
└─────────┘
```

إذا كنت تريد تعديل بنية الجدول الجديد، يمكنك أولًا عرض بنية جدول المصدر.

```sql theme={null}
SHOW CREATE TABLE db1.source_table;
```

ثم أنشئ الجدول الجديد باستخدام البنية المعدّلة. في حالتنا، نريد إضافة عمود جديد `population` إلى الجدول المستهدف.

```sql theme={null}
CREATE TABLE db1.target_table_population
(
    `city` String,
    `country` String,
    `continent` String,
    `population` UInt16,
)
ENGINE = MergeTree
ORDER BY continent;
```

* أدخِل جميع الصفوف من الجدول المصدر إلى الجدول المستهدف، بما في ذلك العمود الجديد. يُضبط الحقل population على 0 في جميع الصفوف.

```sql theme={null}
INSERT INTO db1.target_table_population (city, country, continent, population)
SELECT city, country, continent, 0 FROM db1.source_table;
```

* تحقّق من البيانات في الجدول المستهدف

```sql theme={null}
SELECT * FROM db1.target_table_population LIMIT 3;
```

```text theme={null}
┌─city──────┬─country───┬─continent──────┬─population─┐
│ New York  │ USA       │ North America  │          0 │
│ Tokyo     │ Japan     │ Asia           │          0 │
│ Berlin    │ Germany   │ Europe         │          0 │
└───────────┴───────────┴────────────────┴────────────┘
```
