Làm cách nào tôi có thể lấy khóa mysql?

Trong MySQL, khóa chính là một trường hoặc tổ hợp các trường xác định duy nhất một bản ghi. Không có trường nào thuộc khóa chính có thể chứa giá trị NULL. Một bảng chỉ có thể có một khóa chính

Ghi chú

  • Trong MySQL, khóa chính được tạo bằng cách sử dụng câu lệnh CREATE TABLE hoặc câu lệnh ALTER TABLE
  • Bạn sử dụng câu lệnh ALTER TABLE trong MySQL để xóa, tắt hoặc bật khóa chính

Tạo khóa chính - Sử dụng câu lệnh CREATE TABLE

Bạn có thể tạo khóa chính trong MySQL bằng câu lệnh CREATE TABLE

cú pháp

Cú pháp tạo khóa chính sử dụng câu lệnh CREATE TABLE trong MySQL là

CREATE TABLE table_name
(
  column1 column_definition,
  column2 column_definition,
  ...

  CONSTRAINT [constraint_name] 
   PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, .. column_n)
);
table_nameTên của bảng mà bạn muốn tạo. cột1, cột2Các cột muốn tạo trong bảng. Xem câu lệnh MySQL CREATE TABLE để biết thêm chi tiết về cú pháp CREATE TABLE vì đây là sự đơn giản hóa quá mức để minh họa cách tạo Khóa chính. constraint_nameTên của khóa chính. cột1, cột2,. column_nCác cột tạo nên khóa chính

Ví dụ

Hãy xem một ví dụ về cách tạo khóa chính bằng cách sử dụng câu lệnh CREATE TABLE trong MySQL

CREATE TABLE contacts
( contact_id INT(11) NOT NULL AUTO_INCREMENT,
  last_name VARCHAR(30) NOT NULL,
  first_name VARCHAR(25),
  birthday DATE,
  CONSTRAINT contacts_pk PRIMARY KEY (contact_id)
);

Trong ví dụ này, chúng tôi đã tạo một khóa chính trên bảng danh bạ có tên là contact_pk. Nó chỉ bao gồm một cột - cột contact_id

Chúng ta cũng có thể tạo một khóa chính có nhiều trường như trong ví dụ bên dưới

CREATE TABLE contacts
( last_name VARCHAR(30) NOT NULL,
  first_name VARCHAR(25) NOT NULL,
  birthday DATE,
  CONSTRAINT contacts_pk PRIMARY KEY (last_name, first_name)
);

Ví dụ này tạo một khóa chính có tên là contact_pk được tạo thành từ sự kết hợp của các cột last_name và first_name. Vì vậy, mỗi kết hợp của last_name và first_name phải là duy nhất trong bảng danh bạ

Tạo khóa chính - Sử dụng câu lệnh ALTER TABLE

Bạn có thể tạo khóa chính trong MySQL bằng câu lệnh ALTER TABLE

cú pháp

Cú pháp tạo khóa chính sử dụng câu lệnh ALTER TABLE trong MySQL là

ALTER TABLE table_name
  ADD CONSTRAINT [ constraint_name ]
    PRIMARY KEY [ USING BTREE | HASH ] (column1, column2, .. column_n)
table_nameTên của bảng cần sửa đổi. constraint_nameTên của khóa chính. cột1, cột2,. column_nCác cột tạo nên khóa chính

Ví dụ

Hãy xem một ví dụ về cách tạo khóa chính bằng cách sử dụng câu lệnh ALTER TABLE trong MySQL

ALTER TABLE contacts
  ADD CONSTRAINT contacts_pk 
    PRIMARY KEY (contact_id);

Trong ví dụ này, chúng tôi đã tạo một khóa chính trên bảng liên hệ hiện có có tên là contact_pk. Nó bao gồm cột contact_id

Chúng ta cũng có thể tạo một khóa chính có nhiều trường như trong ví dụ bên dưới

ALTER TABLE contacts
  ADD CONSTRAINT contacts_pk
    PRIMARY KEY (last_name, first_name);

Ví dụ này chúng tôi đã tạo một khóa chính gọi là contact_pk được tạo thành từ sự kết hợp của các cột last_name và first_name

Bỏ khóa chính

Bạn có thể xóa khóa chính trong MySQL bằng câu lệnh ALTER TABLE

cú pháp

Cú pháp bỏ khóa chính trong MySQL là

ALTER TABLE table_name
  DROP PRIMARY KEY;
table_nameTên của bảng cần sửa đổi

Ví dụ

Hãy xem một ví dụ về cách xóa khóa chính bằng cách sử dụng câu lệnh ALTER TABLE trong MySQL

ALTER TABLE contacts
  DROP PRIMARY KEY;

Trong ví dụ này, chúng tôi đã bỏ khóa chính trên bảng danh bạ. Chúng tôi không cần chỉ định tên của khóa chính vì chỉ có thể có một trên một bảng

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

Làm cách nào tôi có thể lấy khóa mysql?

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

Làm cách nào tôi có thể lấy khóa mysql?

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

Ví 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

Làm cách nào tôi có thể lấy khóa mysql?

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

Làm cách nào để lấy khóa trong MySQL?

Làm cách nào để tìm Khóa MySQL chính? . COLUMNS WHERE TABLE_SCHEMA = 'Cơ sở dữ liệu của bạn' AND TABLE_NAME = 'Tên bảng của bạn' AND COLUMN_KEY = 'PRI';

Khóa chính trong MySQL ở đâu?

Ràng buộc PRIMARY KEY xác định duy nhất từng bản ghi trong bảng . Khóa chính phải chứa giá trị ĐỘC ĐÁO và không thể chứa giá trị NULL. Một bảng chỉ có thể có MỘT khóa chính; .

Làm thế nào để tìm khóa chính?

Nhận tên cột khóa chính theo chương trình .
chọn C. COLUMN_NAME TỪ
THÔNG TIN_SCHEMA. TABLE_CONSTRAINTS T
THÔNG TIN THAM GIA_SCHEMA. CONSTRAINT_COLUMN_USAGE C
BẬT C. CONSTRAINT_NAME=T. CONSTRAINT_NAME
Ở ĐÂU
C. TABLE_NAME='Nhân viên'
và T. CONSTRAINT_TYPE='KEY CHÍNH'

Từ khóa quan trọng trong MySQL là gì?

Khóa là đồng nghĩa với chỉ mục . Nếu bạn muốn tạo chỉ mục cho một cột, hãy sử dụng 'Khóa'. Như đã nêu trong các tài liệu chính thức. KEY thường là từ đồng nghĩa với INDEX. Thuộc tính khóa PRIMARY KEY cũng có thể được chỉ định là KEY khi được đưa ra trong định nghĩa cột.