Trong bài viết này, bạn sẽ học-
- Chèn dữ liệu
- Nâng cấp dữ liệu
- Cập nhật dữ liệu
- Xóa dữ liệu
- Cassandra Where Mệnh đề
Chèn dữ liệu
Lệnh 'Chèn vào' ghi dữ liệu trong các cột Cassandra ở dạng hàng. Nó sẽ chỉ lưu trữ những cột được cung cấp bởi người dùng. Bạn nhất thiết phải chỉ định cột khóa chính.
Nó sẽ không chiếm bất kỳ khoảng trống nào cho các giá trị không cho trước. Không có kết quả nào được trả lại sau khi chèn.
Cú pháp
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3… )values (Column1Value, Column2Value, Column3Value… )
Thí dụ
Đây là ảnh chụp nhanh của lệnh được thực thi 'Chèn vào' sẽ chèn một bản ghi trong bảng Cassandra 'Sinh viên'.
Insert into University.Student(RollNo,Name,dept,Semester) values(2,'Michael','CS', 2);
Sau khi thực hiện thành công lệnh 'Insert Into', một hàng sẽ được chèn vào bảng Cassandra Student with RollNo 2, Name Michael, dept CS và Semester 2.
Đây là ảnh chụp nhanh trạng thái cơ sở dữ liệu hiện tại.
Nâng cấp dữ liệu
Cassandra thực sự ủng hộ. Nâng cấp có nghĩa là Cassandra sẽ chèn một hàng nếu khóa chính chưa tồn tại, ngược lại nếu khóa chính đã tồn tại, nó sẽ cập nhật hàng đó.
Cập nhật dữ liệu
Lệnh 'Cập nhật' được sử dụng để cập nhật dữ liệu trong bảng Cassandra. Nếu không có kết quả nào được trả về sau khi cập nhật dữ liệu, điều đó có nghĩa là dữ liệu được cập nhật thành công, nếu không sẽ trả về lỗi. Giá trị cột được thay đổi trong mệnh đề "Đặt" trong khi dữ liệu được lọc bằng mệnh đề "Ở đâu".
Cú pháp
Update KeyspaceName.TableNameSet ColumnName1=new Column1Value,ColumnName2=new Column2Value,ColumnName3=new Column3Value,… Where ColumnName=ColumnValue
Thí dụ
Đây là ảnh chụp màn hình hiển thị trạng thái cơ sở dữ liệu trước khi cập nhật dữ liệu.
Đây là ảnh chụp nhanh của lệnh được thực hiện 'Cập nhật' cập nhật bản ghi trong bảng Sinh viên.
Update University.StudentSet name='Hayden'Where rollno=1;
Sau khi thực hiện thành công lệnh 'Cập nhật sinh viên', tên sinh viên sẽ được đổi từ 'Clark' thành 'Hayden' có rollno 1.
Đây là ảnh chụp màn hình hiển thị trạng thái cơ sở dữ liệu sau khi cập nhật dữ liệu.
Cassandra Xóa dữ liệu
Lệnh 'Xóa' xóa toàn bộ hàng hoặc một số cột khỏi bảng Sinh viên. Khi dữ liệu bị xóa, nó không bị xóa khỏi bảng ngay lập tức. Thay vào đó, dữ liệu bị xóa được đánh dấu bằng bia mộ và được xóa sau khi nén.
Cú pháp
Delete from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Cú pháp trên sẽ xóa một hoặc nhiều hàng phụ thuộc vào việc lọc dữ liệu trong mệnh đề where.
Delete ColumnNames from KeyspaceName.TableNameWhere ColumnName1=ColumnValue
Cú pháp trên sẽ xóa một số cột khỏi bảng.
Thí dụ
Đây là ảnh chụp nhanh hiển thị trạng thái cơ sở dữ liệu hiện tại trước khi xóa dữ liệu.
Đây là ảnh chụp nhanh của lệnh sẽ xóa một hàng khỏi bảng Sinh viên.
Delete from University.Student where rollno=1;
Sau khi thực hiện thành công lệnh 'Delete', một hàng sẽ bị xóa khỏi bảng Student nơi giá trị rollno là 1.
Đây là ảnh chụp nhanh hiển thị trạng thái cơ sở dữ liệu sau khi xóa dữ liệu.
Những gì Cassandra không hỗ trợ
Có những hạn chế sau trong ngôn ngữ truy vấn Cassandra (CQL).
- CQL không hỗ trợ các truy vấn tổng hợp như max, min, avg
- CQL không hỗ trợ nhóm theo, có truy vấn.
- CQL không hỗ trợ tham gia.
- CQL không hỗ trợ truy vấn HOẶC.
- CQL không hỗ trợ các truy vấn ký tự đại diện.
- CQL không hỗ trợ các truy vấn Union, Intersection.
- Không thể lọc các cột trong bảng nếu không tạo chỉ mục.
- Truy vấn lớn hơn (>) và nhỏ hơn (<) chỉ được hỗ trợ trên cột phân cụm.
Ngôn ngữ truy vấn Cassandra không thích hợp cho mục đích phân tích vì nó có quá nhiều hạn chế.
Cassandra Where Mệnh đề
Ở Cassandra, việc truy xuất dữ liệu là một vấn đề nhạy cảm. Cột được lọc trong Cassandra bằng cách tạo chỉ mục trên các cột không phải khóa chính.
Cú pháp
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value ANDColumnName2=Column2Value AND…
Thí dụ
- Đây là ảnh chụp nhanh cho thấy việc truy xuất dữ liệu từ bảng Sinh viên mà không cần lọc dữ liệu.
select * from University.Student;
Hai bản ghi được truy xuất từ bảng Sinh viên.
- Đây là ảnh chụp nhanh cho thấy việc truy xuất dữ liệu từ Sinh viên với lọc dữ liệu. Một bản ghi được truy xuất.
Dữ liệu được lọc theo cột tên. Tất cả các bản ghi được truy xuất có tên bằng Guru99.
select * from University.Student where name='Guru99';