Cassandra Ví dụ về bảng: Tạo, thay đổi, xóa và cắt bớt bảng
Cú pháp của Cassandra ngôn ngữ truy vấn (CQL) giống với SQL ngôn ngữ.
Cách tạo bảng trong Cassandra
Họ cột trong Cassandra tương tự như bảng RDBMS. Họ cột được sử dụng để lưu trữ dữ liệu.
Lệnh 'Tạo bảng' được sử dụng để tạo họ cột trong Cassandra.
cú pháp
Create table KeyspaceName.TableName ( ColumnName DataType, ColumnName DataType, ColumnName DataType . . . Primary key(ColumnName) ) with PropertyName=PropertyValue;
1. Khóa chính: Có hai loại khóa chính.
- Khóa chính đơn: Khóa chính đơn được chỉ định theo cú pháp sau.
cú pháp
Primary key (ColumnName)
Trong khóa chính duy nhất, chỉ có một cột duy nhất. Cột đó còn được gọi là khóa phân vùng. Dữ liệu được phân vùng trên cơ sở cột đó. Dữ liệu được trải rộng trên các nút khác nhau trên cơ sở khóa phân vùng.
2. Khóa chính ghép: Khóa chính hợp thành được chỉ định theo cú pháp sau.
cú pháp
Primary key(ColumnName1,ColumnName2 . . .)
Trong cú pháp trên, ColumnName1 là khóa phân vùng và ColumnName2 là Clustering key. Dữ liệu sẽ được phân vùng dựa trên ColumnName1 và dữ liệu sẽ được nhóm dựa trên ColumnName2. Clustering là quá trình sắp xếp dữ liệu trong phân vùng.
3. Phím phân vùng phức hợp: Khóa phân vùng hợp chất được chỉ định theo cú pháp sau.
cú pháp
Primary Key((ColumnName1,ColumnName2),ColumnName3...))
Trong cú pháp trên, ColumnName1 và ColumnName2 là khóa phân vùng ghép. Dữ liệu sẽ được phân vùng trên cơ sở cả hai cột ColumnName1 và ColumnName2 và dữ liệu sẽ được phân cụm trên cơ sở ColumnName3. Nếu bạn có quá nhiều dữ liệu trên một phân vùng. Sau đó, phím phân vùng phức hợp được sử dụng. Khóa phân vùng phức hợp được sử dụng để tạo nhiều phân vùng cho dữ liệu.
- Với khoản
Mệnh đề With With được sử dụng để chỉ định bất kỳ thuộc tính nào và giá trị của nó cho bảng đã xác định. Ví dụ: nếu bạn muốn nén Cassandra bảng dữ liệu. Bạn có thể đặt thuộc tính nén bằng cách chỉ định giá trị thuộc tính thuật toán nén trong mệnh đề “Với”.
Ví dụ
Đây là cách thực hiện lệnh 'Tạo bảng' để tạo tên bảng 'Sinh viên' trong không gian khóa 'Đại học'.
Sau khi thực hiện thành công lệnh 'Tạo bảng', bảng 'Sinh viên' sẽ được tạo trong không gian phím 'Đại học' với các cột RollNo, Name và dept. RollNo là khóa chính. RollNo cũng là một khóa phân vùng. Tất cả dữ liệu sẽ nằm trong một phân vùng duy nhất.
Cassandra Bảng thay thế
Lệnh 'Thay đổi bảng' được sử dụng để bỏ cột, thêm cột mới, thay đổi tên cột, thay đổi loại cột và thay đổi thuộc tính của bảng.
cú pháp
Sau đây là cú pháp của lệnh 'Alter Table.'
Alter table KeyspaceName.TableName + Alter ColumnName TYPE ColumnDataype | Add ColumnName ColumnDataType | Drop ColumnName | Rename ColumnName To NewColumnName | With propertyName=PropertyValue
Ví dụ
Đây là ảnh chụp nhanh lệnh 'Thay đổi bảng' sẽ thêm cột mới vào bảng Học sinh.
Sau khi thực hiện thành công lệnh “Alter Table”, một cột mới “Semester” với kiểu dữ liệu “int” sẽ được thêm vào bảng Sinh viên.
Đây là ảnh chụp màn hình hiển thị bảng Sinh viên được cập nhật.
Cassandra Bảng thả
Lệnh 'Thả bảng' loại bỏ bảng được chỉ định bao gồm tất cả dữ liệu từ không gian phím. Trước khi bỏ bàn, Cassandra chụp ảnh nhanh dữ liệu chứ không phải lược đồ làm bản sao lưu.
cú pháp
Drop Table KeyspaceName.TableName
Ví dụ
Dưới đây là ảnh chụp nhanh lệnh 'Thả bảng' được thực thi sẽ xóa bảng Sinh viên khỏi không gian phím 'Đại học'.
Sau khi thực hiện thành công lệnh 'Thả bảng', sinh viên trong bảng sẽ bị loại khỏi keyspace University.
Đây là ảnh chụp nhanh cho thấy lỗi được trả về bởi Cassandra khi cố gắng truy cập bảng Sinh viên nhưng bảng đó không tồn tại.
Cassandra Bảng cắt ngắn
Lệnh 'Cắt bớt bảng' sẽ xóa tất cả dữ liệu khỏi bảng đã chỉ định. Trước khi cắt bớt dữ liệu, Cassandra lấy ảnh chụp nhanh của dữ liệu làm bản sao lưu.
cú pháp
Truncate KeyspaceName.TableName
Ví dụ
Có ba bản ghi trong bảng Sinh viên. Đây là những bản ghi trong bảng.
Dưới đây là ảnh chụp nhanh lệnh 'Truncate table' đã thực thi sẽ xóa tất cả dữ liệu khỏi bảng Sinh viên.
Sau khi thực hiện thành công lệnh “Truncate Table”, toàn bộ dữ liệu sẽ bị xóa khỏi bảng Sinh viên.
Đây là ảnh chụp nhanh trạng thái cơ sở dữ liệu khi không có bản ghi nào trong bảng Sinh viên.