Chìa khóa trong bảng tạo mysql là gì?

MySQL là một cơ sở dữ liệu quan hệ đối tượng mã nguồn mở được xây dựng chú trọng đến tốc độ và độ tin cậy. Cộng đồng nhà phát triển lớn và tích cực của nó đã tạo ra nhiều ứng dụng, công cụ và thư viện của bên thứ ba giúp mở rộng chức năng của MySQL

Khóa chính là một trường hoặc tổ hợp các trường được xác định để trở thành mã định danh duy nhất cho một hàng trong bảng, chẳng hạn như số của hàng hoặc trường tên kết hợp với trường ngày sinh. Các khóa chính tăng độ chính xác và hiệu suất tìm kiếm, đồng thời tăng cường mối quan hệ tham chiếu chéo giữa các bảng. Một bảng chỉ có thể có một khóa chính và trường khóa chính không thể chứa giá trị null

Theo mặc định, các khóa chính là một yêu cầu trong tất cả các bảng cơ sở dữ liệu MySQL. Điều này đảm bảo sao chép dữ liệu đáng tin cậy. Tuy nhiên, bạn có thể tắt yêu cầu khóa chính của cơ sở dữ liệu bằng cách thực hiện yêu cầu cấu hình thông qua API của chúng tôi

Cách DigitalOcean sử dụng khóa chính

Chúng tôi sử dụng tính năng sao chép để giao tiếp giữa các nút trong cụm nhằm đảm bảo rằng các nút chính, nút dự phòng và chỉ đọc vẫn được đồng bộ hóa. Ngoài ra, chúng tôi áp dụng luồng sao chép đầy đủ bất cứ khi nào bạn tạo nút mới dựa trên bản sao lưu hiện có. Các tính năng sau của dịch vụ phụ thuộc vào việc sao chép

  • Khôi phục dịch vụ từ bản sao lưu
  • Tự động phục hồi sau sự cố nút
  • Forking một dịch vụ mới từ một dịch vụ hiện có
  • Di chuyển một dịch vụ hiện có sang một khu vực trung tâm dữ liệu mới
  • Mở rộng dịch vụ hiện có sang kích thước lớn hơn
  • Thêm các nút ở chế độ chờ hoặc chỉ đọc vào một dịch vụ hiện có

Cách thêm khóa chính theo cách thủ công

Để xác định bảng nào bị thiếu khóa chính, hãy sao chép và dán lệnh sau vào trình bao MySQL và chạy nó

SELECT
    tab.table_schema AS database_name,
    tab.table_name AS table_name,
    tab.table_rows AS table_rows
FROM information_schema.tables tab
LEFT JOIN information_schema.table_constraints tco
    ON [tab.table_schema = tco.table_schema
        AND tab.table_name = tco.table_name
        AND tco.constraint_type = 'PRIMARY KEY']
WHERE
    tab.table_schema NOT IN ['mysql', 'information_schema', 'performance_schema', 'sys']
    AND tco.constraint_type IS NULL
    AND tab.table_type = 'BASE TABLE';

Để xem định nghĩa bảng chính xác cho các bảng, hãy sử dụng câu lệnh SHOW, thay thế các giá trị giữ chỗ bằng giá trị của riêng bạn

SHOW CREATE TABLE your_database_name.your_table_name;

Để thêm khóa chính vào bảng hiện có, hãy sử dụng câu lệnh ALTER TABLE, thay thế các giá trị giữ chỗ bằng giá trị của riêng bạn

ALTER TABLE your_table_name ADD PRIMARY KEY [column1, column2, ...];

Ví dụ: lệnh bên dưới tạo bảng kết hợp cột ID khách hàng với cột tên khách hàng để tạo khóa chính

Khóa chính của MySQL là một hoặc một tổ hợp trường, được sử dụng để xác định duy nhất từng bản ghi trong một bảng. Nếu cột chứa các ràng buộc về khóa chính, thì cột đó không được để trống hoặc rỗng. Một bảng có thể có các cột trùng nhau, nhưng nó chỉ có thể chứa một khóa chính. Nó luôn chứa giá trị duy nhất vào một cột

Khi bạn chèn một hàng mới vào bảng, cột khóa chính cũng có thể sử dụng thuộc tính AUTO_INCREMENT để tự động tạo số thứ tự cho hàng đó. MySQL tự động tạo một chỉ mục có tên là "Chính" sau khi xác định khóa chính vào bảng. Vì nó có một chỉ mục được liên kết, nên chúng ta có thể nói rằng khóa chính giúp thực hiện truy vấn nhanh

Quy định về khóa chính

Sau đây là các quy tắc cho khóa chính

  1. Giá trị cột khóa chính phải là duy nhất
  2. Mỗi bảng chỉ được chứa một khóa chính
  3. Cột khóa chính không thể rỗng hoặc trống
  4. MySQL không cho phép chúng tôi chèn một hàng mới với khóa chính hiện có
  5. Nên sử dụng kiểu dữ liệu INT hoặc BIGINT cho cột khóa chính

Chúng ta có thể tạo khóa chính theo hai cách

  • TẠO BẢNG Tuyên bố
  • Câu lệnh ALTER TABLE

Hãy để chúng tôi thảo luận chi tiết từng người

Khóa chính sử dụng câu lệnh CREATE TABLE

Trong phần này, chúng ta sẽ xem cách tạo khóa chính bằng cách sử dụng câu lệnh CREATE TABLE

cú pháp

Sau đây là cú pháp được sử dụng để tạo khóa chính trong MySQL

Nếu chúng ta chỉ muốn tạo một cột khóa chính trong bảng, hãy sử dụng cú pháp dưới đây

Nếu chúng ta muốn tạo nhiều hơn một cột khóa chính trong bảng, hãy sử dụng cú pháp dưới đây

Giải thích thông số

Bảng sau giải thích chi tiết các thông số

Tham số NameDescriptionsTable_nameĐó là tên của bảng mà chúng ta sẽ tạo. Col1, col2Là tên các cột chứa trong bảng. Constraint_nameĐó là tên của khóa chính. [Các] tên_cộtĐó là [các] tên cột sẽ là khóa chính

Ví dụ về khóa chính

Ví dụ sau giải thích cách khóa chính được sử dụng trong MySQL

Câu lệnh này tạo một bảng có tên "Đăng nhập" có cột "login_id" chứa khóa chính

Tiếp theo, sử dụng truy vấn chèn để lưu trữ dữ liệu vào bảng

đầu ra

Trong kết quả bên dưới, chúng ta có thể thấy rằng truy vấn chèn đầu tiên thực hiện thành công. Trong khi câu lệnh chèn thứ hai không thành công và đưa ra lỗi cho biết. Sao chép mục nhập cho cột khóa chính

Nếu bạn muốn xác định khóa chính trên nhiều cột, hãy sử dụng truy vấn như bên dưới

Ở đầu ra, chúng ta có thể thấy rằng giá trị khóa chính chứa hai cột là Student_ID và Roll_No

Khóa chính sử dụng câu lệnh ALTER TABLE

Tuyên bố này cho phép chúng tôi thực hiện sửa đổi vào bảng hiện có. Khi bảng không có khóa chính, câu lệnh này được sử dụng để thêm khóa chính vào cột của bảng hiện có

cú pháp

Sau đây là cú pháp của câu lệnh ALTER TABLE để tạo khóa chính trong MySQL

Thí dụ

Câu lệnh sau tạo một bảng "Người" không có cột khóa chính trong định nghĩa bảng

Sau khi tạo bảng, nếu muốn thêm khóa chính cho bảng này, chúng ta cần thực hiện câu lệnh ALTER TABLE như bên dưới

Chúng ta có thể thấy đầu ra nơi cả hai câu lệnh được thực thi thành công

Nếu bảng cần thêm khóa chính vào bảng đã có dữ liệu vào cột thì phải đảm bảo cột không chứa giá trị trùng lặp hoặc giá trị null

DROP khóa chính

Câu lệnh ALTER TABLE cũng cho phép chúng ta xóa khóa chính khỏi bảng. Cú pháp sau đây được sử dụng để loại bỏ khóa chính

một chìa khóa trong một bảng là gì?

Khóa hoặc chỉ mục, như chính thuật ngữ này chỉ ra, mở khóa quyền truy cập vào các bảng . Nếu bạn biết khóa, bạn sẽ biết cách xác định các bản ghi cụ thể và mối quan hệ giữa các bảng. Mỗi khóa bao gồm một hoặc nhiều trường hoặc tiền tố trường. Thứ tự của các cột trong một chỉ mục là quan trọng.

Cột khóa trong SQL là gì?

Cột chính [hoặc tổ hợp các cột] được dùng để xác định duy nhất các hàng trong bảng và các phần tử bảng cơ sở dữ liệu trong quá trình so sánh . Với mục đích này, các giá trị chính phải khác nhau trong mỗi hàng. Thông thường, các cột chính chứa một số mã định danh duy nhất, chẳng hạn như ID nhân viên hoặc SSN.

Chúng ta có thể tạo một bảng không có khóa không?

Bạn có nên tạo bảng cơ sở dữ liệu không có khóa chính không? . Mỗi bảng phải có một số cột [hoặc tập hợp các cột] xác định duy nhất một và chỉ một hàng. Nó làm cho nó dễ dàng hơn nhiều để duy trì dữ liệu. No. Every table should have some column [or set of columns] that uniquely identifies one and only one row. It makes it much easier to maintain the data.

Phím có ý nghĩa gì trong cơ sở dữ liệu?

Khóa trong DBMS là một thuộc tính hoặc một tập hợp các thuộc tính giúp xác định duy nhất một bộ [hoặc hàng] trong một quan hệ [hoặc bảng]. Keys are also used to establish relationships between the different tables and columns of a relational database. Individual values in a key are called key values.

Chủ Đề