Cassandra Ngôn ngữ truy vấn(CQL): Chèn vào, cập nhật (Ví dụ)
Chèn dữ liệu
Sản phẩm Cassandra câu lệnh chèn ghi dữ liệu vào Cassandra cột ở dạng hàng. Cassandra truy vấn chèn sẽ chỉ lưu trữ những cột do người dùng cung cấp. 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 được đưa ra. Không có kết quả nào được trả về sau khi chèn.
cú pháp
Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .) values (Column1Value, Column2Value, Column3Value . . . .)
Ví dụ
Đây là ảnh chụp nhanh của việc thực hiện Cassandra Chèn vào truy vấn bảng sẽ chèn một bản ghi vào Cassandra bảng '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 vào Cassandra, một hàng sẽ được chèn vào Cassandra bảng Học sinh có RollNo 2, Tên Michael, khoa CS và Học kỳ 2.
Đây là ảnh chụp nhanh về trạng thái cơ sở dữ liệu hiện tại.
Cập nhật dữ liệu
Cassandra không ủng hộ. Upsert 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
Sản phẩm Cassandra Truy vấn cập nhật được sử dụng để cập nhật dữ liệu trong Cassandra bàn. 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 đề 'Set' trong khi dữ liệu được lọc bằng mệnh đề 'Where'.
cú pháp
Update KeyspaceName.TableName Set ColumnName1=new Column1Value, ColumnName2=new Column2Value, ColumnName3=new Column3Value, . . . Where ColumnName=ColumnValue
Ví 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 việc thực hiện Cassandra Lệnh cập nhật cập nhật bản ghi trong bảng Sinh viên.
Update University.Student Set name='Hayden' Where rollno=1;
Sau khi thực hiện thành công truy vấn cập nhật trong Cassandra 'Cập nhật sinh viên', tên sinh viên sẽ được đổi từ 'Clark' thành 'Hayden' có số 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ộ một hàng hoặc một số cột khỏi bảng Học sinh. 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 đã xóa sẽ được đánh dấu bằng bia mộ và bị xóa sau khi nén.
cú pháp
Delete from KeyspaceName.TableName Where ColumnName1=ColumnValue
Trên đây Cassandra Cú pháp xóa hàng sẽ xóa một hoặc nhiều hàng tùy thuộc vào việc lọc dữ liệu trong mệnh đề Where.
Delete ColumnNames from KeyspaceName.TableName Where ColumnName1=ColumnValue
Cú pháp trên sẽ xóa một số cột khỏi bảng.
Ví 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 Xóa CQL, một hàng sẽ bị xóa khỏi bảng Sinh viên có 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.
Điều gì Cassandra không hỗ trợ
Có những hạn chế sau đây trong Cassandra ngôn ngữ truy vấn (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ợ kết nối.
- CQL không hỗ trợ truy vấn OR.
- CQL không hỗ trợ truy vấn ký tự đại diện.
- CQL không hỗ trợ các truy vấn Union, Intersection.
- Các cột trong bảng không thể được lọc mà 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. Cassandra ngôn ngữ truy vấn không phù hợp cho mục đích phân tích vì nó có quá nhiều hạn chế.
Cassandra Trường hợp khoản
In 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óa không chính.
cú pháp
Select ColumnNames from KeyspaceName.TableName Where ColumnName1=Column1Value AND ColumnName2=Column2Value AND . . .
Ví dụ
- Dưới đây là ảnh chụp nhanh hiển thị quá trình 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 lấy từ bảng Sinh viên.
- Dưới đây là ảnh chụp nhanh hiển thị quá trình truy xuất dữ liệu từ Sinh viên bằng quá trình lọc dữ liệu. Một bản ghi được lấy ra.
Dữ liệu được lọc theo cột tên. Tất cả các bản ghi có tên bằng Guru99 được lấy ra.
select * from University. Student where name='Guru99';