Учебники

Кассандра — Обновить данные

UPDATE — это команда, используемая для обновления данных в таблице. Следующие ключевые слова используются при обновлении данных в таблице —

  • Где — это предложение используется для выбора строки, подлежащей обновлению.

  • Set — установить значение, используя это ключевое слово.

  • Должен — включает все столбцы, составляющие первичный ключ.

Где — это предложение используется для выбора строки, подлежащей обновлению.

Set — установить значение, используя это ключевое слово.

Должен — включает все столбцы, составляющие первичный ключ.

При обновлении строк, если данная строка недоступна, UPDATE создает новую строку. Ниже приведен синтаксис команды UPDATE —

UPDATE <tablename>
SET <column name> = <new value>
<column name> = <value>....
WHERE <condition>

пример

Предположим, есть таблица с именем emp . В этой таблице хранятся данные о сотрудниках определенной компании, и она имеет следующие данные —

emp_id emp_name emp_city emp_phone emp_sal
1 баран Хайдарабад 9848022338 50000
2 Робин Хайдарабад 9848022339 40000
3 рахман Chennai 9848022330 45000

Давайте теперь обновим emp_city робина до Дели, а его зарплату до 50000. Ниже приведен запрос на выполнение необходимых обновлений.

cqlsh:tutorialspoint> UPDATE emp SET emp_city='Delhi',emp_sal=50000
   WHERE emp_id=2;

верификация

Используйте оператор SELECT, чтобы проверить, были ли данные обновлены или нет. Если вы проверите таблицу emp с помощью оператора SELECT, она выдаст следующий вывод.

cqlsh:tutorialspoint> select * from emp;

 emp_id |  emp_city | emp_name |  emp_phone | emp_sal
--------+-----------+----------+------------+---------
      1 | Hyderabad |      ram | 9848022338 | 50000
      2 |     Delhi |    robin | 9848022339 | 50000
      3 |   Chennai |   rahman | 9848022330 | 45000
      
(3 rows)

Здесь вы можете наблюдать, как обновляются данные таблицы.

Обновление данных с использованием Java API

Вы можете обновить данные в таблице, используя метод execute () класса Session. Следуйте приведенным ниже инструкциям, чтобы обновить данные в таблице с помощью Java API.

Шаг 1: Создайте объект кластера

Создайте экземпляр класса Cluster.builder пакета com.datastax.driver.core , как показано ниже.

//Creating Cluster.Builder object
Cluster.Builder builder1 = Cluster.builder();

Добавьте контактную точку (IP-адрес узла), используя метод addContactPoint () объекта Cluster.Builder . Этот метод возвращает Cluster.Builder .

//Adding contact point to the Cluster.Builder object
Cluster.Builder builder2 = build.addContactPoint("127.0.0.1");

Используя новый объект компоновщика, создайте объект кластера. Для этого у вас есть метод build () в классе Cluster.Builder . Используйте следующий код для создания объекта кластера.

//Building a cluster
Cluster cluster = builder.build();

Вы можете построить кластерный объект, используя одну строку кода, как показано ниже.

Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

Шаг 2. Создание объекта сеанса

Создайте экземпляр объекта Session, используя метод connect () класса Cluster, как показано ниже.

Session session = cluster.connect( );

Этот метод создает новый сеанс и инициализирует его. Если у вас уже есть пространство ключей, то вы можете установить его на существующее, передав этому методу имя KeySpace в строковом формате, как показано ниже.

Session session = cluster.connect(“ Your keyspace name”);

Здесь мы используем KeySpace с именем tp . Поэтому создайте объект сеанса, как показано ниже.

Session session = cluster.connect(“tp”);

Шаг 3: Выполнить запрос

Вы можете выполнять CQL-запросы, используя метод execute () класса Session. Передайте запрос либо в строковом формате, либо в виде объекта класса Statement в метод execute (). Все, что вы передадите этому методу в строковом формате, будет выполнено в cqlsh .

В следующем примере мы обновляем таблицу emp. Вы должны сохранить запрос в строковой переменной и передать его в метод execute (), как показано ниже:

String query = “ UPDATE emp SET emp_city='Delhi',emp_sal=50000
WHERE emp_id = 2;” ;

Ниже приведена полная программа для обновления данных в таблице с использованием Java API.

import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Session;

public class Update_Data {
  
   public static void main(String args[]){
      
      //query
      String query = " UPDATE emp SET emp_city='Delhi',emp_sal=50000"
          
      //Creating Cluster object
      Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
         
      //Creating Session object
      Session session = cluster.connect("tp");
         
      //Executing the query
      session.execute(query);

      System.out.println("Data updated");
   }
 }

Сохраните вышеупомянутую программу с именем класса, за которым следует .java, перейдите к месту, где она была сохранена. Скомпилируйте и выполните программу, как показано ниже.

$javac Update_Data.java
$java Update_Data

В нормальных условиях он должен выдавать следующий результат: