Cassandra-데이터 업데이트
테이블의 데이터 업데이트
UPDATE테이블의 데이터를 업데이트하는 데 사용되는 명령입니다. 다음 키워드는 테이블의 데이터를 업데이트하는 동안 사용됩니다-
Where −이 절은 업데이트 할 행을 선택하는 데 사용됩니다.
Set −이 키워드를 사용하여 값을 설정합니다.
Must − 기본 키를 구성하는 모든 열을 포함합니다.
행을 업데이트하는 동안 지정된 행을 사용할 수없는 경우 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 |
삼 | 라만 | 첸나이 | 9848022330 | 45000 |
이제 robin의 emp_city를 Delhi로 업데이트하고 그의 급여를 50000으로 업데이트하겠습니다. 다음은 필요한 업데이트를 수행하는 쿼리입니다.
cqlsh:tutorialspoint> UPDATE emp SET emp_city='Delhi',emp_sal=50000
WHERE emp_id=2;
확인
SELECT 문을 사용하여 데이터가 업데이트되었는지 여부를 확인합니다. SELECT 문을 사용하여 emp 테이블을 확인하면 다음과 같은 출력이 생성됩니다.
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를 사용하여 데이터 업데이트
Session 클래스의 execute () 메서드를 사용하여 테이블의 데이터를 업데이트 할 수 있습니다. 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 단계 : 세션 개체 생성
아래와 같이 Cluster 클래스의 connect () 메서드를 사용하여 Session 객체의 인스턴스를 생성합니다.
Session session = cluster.connect( );
이 메서드는 새 세션을 만들고 초기화합니다. 이미 키 스페이스가있는 경우 아래와 같이 문자열 형식의 키 스페이스 이름을이 메서드에 전달하여 기존 키 스페이스로 설정할 수 있습니다.
Session session = cluster.connect(“ Your keyspace name”);
여기서 우리는 tp. 따라서 아래와 같이 세션 개체를 생성합니다.
Session session = cluster.connect(“tp”);
3 단계 : 쿼리 실행
Session 클래스의 execute () 메서드를 사용하여 CQL 쿼리를 실행할 수 있습니다. 쿼리를 문자열 형식 또는 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
정상적인 조건에서 다음과 같은 출력을 생성해야합니다.
Data updated