Синтаксис мови запитів Кассандри (CQL) нагадує мову SQL.
- Створити таблицю
- Alter Table
- Падіння таблиці
- Зрізати таблицю
Як створити таблицю
Сім'я стовпців у Кассандрі схожа на таблицю RDBMS. Сім'я стовпців використовується для зберігання даних.
Команда 'Створити таблицю' використовується для створення сімейства стовпців у Кассандрі.
Синтаксис
Create table KeyspaceName.TableName(ColumnName DataType,ColumnName DataType,ColumnName DataType… Primary key(ColumnName)) with PropertyName=PropertyValue;
- Первинний ключ: Існує два типи первинного ключа.
- Єдиний первинний ключ: Один первинний ключ визначається наступним синтаксисом.
Синтаксис
Primary key (ColumnName)
В одному первинному ключі є лише один стовпець. Цей стовпець також називається секційним ключем. Дані розподіляються на основі цього стовпця. Дані розподіляються по різних вузлах на основі ключа розділу.
- Складений первинний ключ: Складений первинний ключ визначається наступним синтаксисом.
Синтаксис
Primary key(ColumnName1,ColumnName2… )
У наведеному вище синтаксисі ColumnName1 є ключем секціонування, а ColumnName2 - ключем кластеризації. Дані будуть розділені на основі ColumnName1, а дані будуть кластеризовані на основі ColumnName2. Кластеризація - це процес сортування даних у розділі.
- Складений розділовий ключ
Складений розділовий ключ визначається наступним синтаксисом.
Синтаксис
Primary Key((ColumnName1,ColumnName2),ColumnName3… ))
У наведеному вище синтаксисі ColumnName1 та ColumnName2 є ключем складеного розділу. Дані будуть розділені на основі обох стовпців ColumnName1 і ColumnName2, а дані будуть кластеризовані на основі ColumnName3. Якщо у вас занадто багато даних на одному розділі. Потім використовується комбінований ключ розділення. Складений розділовий ключ використовується для створення декількох розділів даних.
- Застереження
"With clause" використовується для вказівки будь-якої властивості та її значення для визначеної таблиці. Наприклад, якщо ви хочете стиснути дані таблиці Кассандри. Ви можете встановити властивість стиснення, вказавши значення властивості алгоритму стиснення в "With clause".
Приклад
Ось виконання команди 'Створити таблицю', яка створить ім'я таблиці 'Студент' у просторі ключів 'Університет'.
Після успішного виконання команди «Створити таблицю», у просторі ключів «Університет» буде створена таблиця «Студент» із стовпцями RollNo, Name та dept. RollNo - це первинний ключ. RollNo - це також розділовий ключ. Всі дані будуть у єдиному розділі.
Стіл Кассандри Альтер
Команда 'Змінити таблицю' використовується для скидання стовпця, додавання нового стовпця, зміни назви стовпця, зміни типу стовпця та зміни властивості таблиці.
Синтаксис
Далі наведено синтаксис команди "Змінити таблицю".
Alter table KeyspaceName.TableName +Alter ColumnName TYPE ColumnDataype |Add ColumnName ColumnDataType |Drop ColumnName |Rename ColumnName To NewColumnName |With propertyName=PropertyValue
Приклад
Ось знімок команди 'Змінити таблицю', яка додасть новий стовпець до таблиці Student.
Після успішного виконання команди 'Змінити таблицю' до таблиці Студент буде додано новий стовпець 'Семестр' із типом даних 'int'.
Ось знімок екрана, який показує оновлену таблицю студентів.
Падіння таблиці
Команда "Видалити таблицю" опускає вказану таблицю, включаючи всі дані з простору ключів. Перш ніж скинути таблицю, Кассандра робить знімок даних, а не схеми, як резервну копію.
Синтаксис
Drop Table KeyspaceName.TableName
Приклад
Ось моментальний знімок виконаної команди "Видалити таблицю", яка виведе таблицю Student із простору ключів "University".
Після успішного виконання команди "Видалити таблицю" таблиця Student буде видалена з клавішного простору University.
Ось знімок, який показує помилку, яку повернула Кассандра при спробі отримати доступ до неіснуючої таблиці Student.
Зрізати таблицю
Команда "Зрізати таблицю" видаляє всі дані із зазначеної таблиці. Перед тим, як скоротити дані, Кассандра робить знімок даних як резервну копію.
Синтаксис
Truncate KeyspaceName.TableName
Приклад
У таблиці Учень є три записи. Це записи в таблиці.
Ось знімок виконаної команди "Зрізати таблицю", яка видалить всі дані з таблиці Student.
Після успішного виконання команди "Зрізати таблицю" всі дані будуть видалені з таблиці Student.
Ось знімок стану бази даних, де в таблиці Student немає записів.