Cassandra لغة الاستعلام (CQL): إدراج في، تحديث (مثال)

أدخل البيانات

استخدم Cassandra عبارة الإدراج تكتب البيانات فيها Cassandra أعمدة على شكل صف. Cassandra سيقوم استعلام الإدراج بتخزين الأعمدة التي قدمها المستخدم فقط. يجب عليك بالضرورة تحديد عمود المفتاح الأساسي فقط.

لن يستغرق الأمر أي مساحة للقيم غير المحددة. لا يتم إرجاع أي نتائج بعد الإدراج.

بناء الجملة

Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .)
values (Column1Value, Column2Value, Column3Value . . . .)

مثال

وهنا لقطة من الإعدام Cassandra إدراج في استعلام الجدول الذي سيؤدي إلى إدراج سجل واحد فيه Cassandra جدول "الطالب".

أدخل البيانات

Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);

بعد التنفيذ الناجح للأمر أدخل في Cassandra، سيتم إدراج صف واحد في Cassandra طالب الجدول رقم 2، الاسم مايكل، قسم علوم الكمبيوتر والفصل الدراسي 2.

فيما يلي لقطة لحالة قاعدة البيانات الحالية.

أدخل البيانات

رفع البيانات

Cassandra لا يزعج. Upsert يعني ذلك Cassandra سيتم إدراج صف إذا لم يكن المفتاح الأساسي موجودًا بالفعل، وإلا إذا كان المفتاح الأساسي موجودًا بالفعل، فسيتم تحديث هذا الصف.

تحديث البيانات

استخدم Cassandra يتم استخدام استعلام التحديث لتحديث البيانات في Cassandra جدولإذا لم يتم إرجاع أي نتائج بعد تحديث البيانات، فهذا يعني أن البيانات تم تحديثها بنجاح وإلا فسيتم إرجاع خطأ. يتم تغيير قيم الأعمدة في بند "Set" بينما يتم تصفية البيانات باستخدام بند "Where".

بناء الجملة

Update KeyspaceName.TableName 
Set ColumnName1=new Column1Value,
      ColumnName2=new Column2Value,
      ColumnName3=new Column3Value,
       .
       .
       .
Where ColumnName=ColumnValue

مثال

فيما يلي لقطة الشاشة التي توضح حالة قاعدة البيانات قبل تحديث البيانات.

تحديث البيانات

وهنا لقطة من الإعدام Cassandra أمر التحديث الذي يقوم بتحديث السجل في جدول الطالب.

تحديث البيانات

Update University.Student
Set name='Hayden'
Where rollno=1;

بعد التنفيذ الناجح لاستعلام التحديث في Cassandra "تحديث الطالب"، سيتم تغيير اسم الطالب من "كلارك" إلى "هايدن" الذي يحمل الرقم 1.

فيما يلي لقطة الشاشة التي توضح حالة قاعدة البيانات بعد تحديث البيانات.

تحديث البيانات

Cassandra حذف البيانات

يقوم الأمر "حذف" بإزالة صف كامل أو بعض الأعمدة من جدول الطالب. عند حذف البيانات، لا يتم حذفها من الجدول على الفور. وبدلاً من ذلك، يتم تمييز البيانات المحذوفة بعلامة مميزة وتتم إزالتها بعد الضغط.

بناء الجملة

Delete from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

ما سبق Cassandra سيؤدي بناء جملة حذف الصف إلى حذف صف واحد أو أكثر بناءً على تصفية البيانات في جملة المكان.

Delete ColumnNames from KeyspaceName.TableName
	Where ColumnName1=ColumnValue

سيؤدي بناء الجملة أعلاه إلى حذف بعض الأعمدة من الجدول.

مثال

فيما يلي اللقطة التي توضح حالة قاعدة البيانات الحالية قبل حذف البيانات.

Cassandra حذف البيانات

فيما يلي لقطة للأمر الذي سيؤدي إلى إزالة صف واحد من جدول الطالب.

Cassandra حذف البيانات

Delete from University.Student where rollno=1;

بعد التنفيذ الناجح لأمر حذف CQL، سيتم حذف صف واحد من جدول الطالب حيث تكون قيمة رولنو هي 1.

فيما يلي اللقطة التي توضح حالة قاعدة البيانات بعد حذف البيانات.

Cassandra حذف البيانات

ابحث عن Cassandra لا يدعم

هناك القيود التالية في Cassandra لغة الاستعلام (CQL).

  1. لا يدعم CQL استعلامات التجميع مثل الحد الأقصى والحد الأدنى والمتوسط
  2. لا يدعم CQL المجموعة من خلال وجود استفسارات.
  3. لا يدعم CQL الصلات.
  4. لا يدعم CQL استعلامات OR.
  5. لا يدعم CQL استعلامات أحرف البدل.
  6. لا يدعم CQL استعلامات الاتحاد والتقاطع.
  7. لا يمكن تصفية أعمدة الجدول دون إنشاء الفهرس.
  8. يتم دعم الاستعلام الأكبر من (>) والأقل من (<) فقط في عمود التجميع. Cassandra لغة الاستعلام ليست مناسبة لأغراض التحليلات لأنها تحتوي على الكثير من القيود.

Cassandra حيث البند

In Cassandra، يعد استرداد البيانات مسألة حساسة. يتم تصفية العمود في Cassandra عن طريق إنشاء فهرس على أعمدة المفاتيح غير الأساسية.

بناء الجملة

Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND
	ColumnName2=Column2Value AND
	.
	.
	.

مثال

  • فيما يلي اللقطة التي توضح استرداد البيانات من جدول الطالب دون تصفية البيانات.

Cassandra حيث البند

select * from University.Student;

يتم استرداد سجلين من جدول الطالب.

  • فيما يلي اللقطة التي توضح استرداد البيانات من الطالب باستخدام تصفية البيانات. يتم استرداد سجل واحد.

تتم تصفية البيانات حسب عمود الاسم. يتم استرداد كافة السجلات التي لها اسم يساوي Guru99.

Cassandra حيث البند

select * from University. Student where name='Guru99';

تلخيص هذه التدوينة بـ: