VIEW
STORED PROCEDURE
INDEX
FULL TEXT SEARCH
TRIGGER
TIPS
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Cách xóa Index trong MySQL - xóa khóa chính primary key

Trong bài này mình sẽ hướng dẫn các bạn cách xóa index trong MySQL bằng cách sử dụng lệnh DROP INDEX, lệnh này rất hữu ích vì nó giúp bạn quản lý được các index trong table của mình.

1. Cách sử dụng DROP INDEX trong MySQL

Để xóa một Index đã có sẵn trong table thì ta sử dụng câu lệnh DROP INDEX, cú pháp như sau:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
DROP INDEX index_name ON table_name
[algorithm_option | lock_option];

Trong đó:

  • DROP INDEX là câu lệnh khai báo bắt đầu yêu cầu xóa index
  • index_name là tên index mà bạn muốn xóa
  • table_name là table bạn muốn xóa
  • algorithm_option và lock_option là hai thông số tùy chọn, mình sẽ nói về nó ở phần tiếp theo.

Algorithm

Thông số algorithm_option là thuật toán àm bạn muốn sử dụng để xóa chỉ mục index, cú pháp của nó như sau:

ALGORITHM [=] {DEFAULT|INPLACE|COPY}

Để xóa chỉ mục, các thuật toán sau được hỗ trợ:

  • COPY: Table sẽ được copy sang một bảng mới, sau đó thực hiện xóa index trên table gốc, tất cả các câu lệnh khác như INSERT / UPDATE trên table này sẽ bị khóa không được thực hiện tại thời điểm đó.
  • INPLACE: Table được xây dựng lại tai chỗ thay vì sao chép sang bảng mới. Thuật toán này cho phép các câu lệnh khác thực hiện trong quá trình xóa.

Lưu ý rằng câu lệnh ALGORITHM là tùy chọn, nếu bạn không thiết lập thì nó sẽ sử dụng thuật toán INPLACE. Trong trường hợp INPLACE không hỗ trợ thì nó sẽ sử dụng COPY.

Nếu bạn sử dụng DEFAULT đồng nghĩa bạn bỏ qua mệnh đề ALGORITHM này.

Lock

Thông số Lock_option kiểm soát mức độ đọc và ghi đồng thời trên bảng trong khi chỉ mục đang bị xóa.

Sau đây cho thấy cú pháp của lock_option:

LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

Các chế độ lock đuọc hỗ trợ như sau:

  • DEFAULT: Cho phép bạn có mức độ đồng thời tối đa cho một thuật toán nhất định. Đầu tiên nó cho phép đọc và ghi đồng thời nếu được hỗ trợ. Nếu không nó cho phép đọc đồng thời nếu được hỗ trợ. Nếu không thì thực thi truy cập độc quyền.
  • NONE: nếu NONE được hỗ trợ, bạn có thể đọc và ghi đồng thời. Nếu không MySQL phát sinh lỗi.
  • SHARED: Nếu SHARED được hỗ trợ thì bạn có thể đọc đồng thời nhưng không ghi. MySQL phát sinh lỗi nếu các lần đọc đồng thời không được hỗ trợ.
  • EXCLUSIVE: điều này thực thi quyền truy cập độc quyền.

2. Sử dụng lệnh DROP INDEX để xóa chỉ mục trong MySQL

Trước tiên hãy tạo một table leads có cấu trúc như sau:

CREATE TABLE leads(
    lead_id INT AUTO_INCREMENT,
    first_name VARCHAR(100) NOT NULL,
    last_name VARCHAR(100) NOT NULL,
    email VARCHAR(255) NOT NULL,
    information_source VARCHAR(255),
    INDEX name(first_name,last_name),
    UNIQUE email(email),
    PRIMARY KEY(lead_id)
);

Câu lệnh dưới đây xóa chỉ mục name ra khỏi table leads.

DROP INDEX name ON leads;

Câu lệnh sau sẽ loại bỏ chỉ mục email từ leads với một thuật toán và khóa cụ thể:

DROP INDEX email ON leads
ALGORITHM = INPLACE 
LOCK = DEFAULT;

2. Xóa khóa chính Primary Key ra khỏi table

Chỉ mục Primary Key là loại đặc biệt có tên gọi là PRIMARY, vì vậy bạn sử dụng nó để áp dụng trong lệnh Drop Index.

DROP INDEX `PRIMARY` ON table_name;

Ví dụ: Tạo mới một table như sau.

CREATE TABLE t(
    pk INT PRIMARY KEY,
    c VARCHAR(10)
);

Và đây là câu lệnh xóa khóa chính:

DROP INDEX `PRIMARY` ON t;

Trên là hướng dẫn cách xóa khóa chỉ mục index trong MySQL bằng cách sử dụng lệnh DROP INDEX. Chúc bạn thực hiện thành công, hẹn gặp ở bài tiếp theo nhé.

Cùng chuyên mục:

Hàm ENCRYPT trong MySQL

Hàm ENCRYPT trong MySQL

Cách sử dụng ENCRYPT trong MySQL

Hàm MD5 trong MySQL

Hàm MD5 trong MySQL

Cách sử dụng MD5 trong MySQL

Hàm OLD_PASSWORD trong MySQL

Hàm OLD_PASSWORD trong MySQL

Cách sử dụng OLD_PASSWORD trong MySQL

Hàm PASSWORD trong MySQL

Hàm PASSWORD trong MySQL

Cách sử dụng PASSWORD trong MySQL

Hàm ASCII trong MySQL

Hàm ASCII trong MySQL

Cách sử dụng ASCII trong MySQL

Hàm CHAR_LENGTH trong MySQL

Hàm CHAR_LENGTH trong MySQL

Cách sử dụng CHAR_LENGTH trong MySQL

Hàm CHARACTER_LENGTH trong MySQL

Hàm CHARACTER_LENGTH trong MySQL

Cách sử dụng CHARACTER_LENGTH trong MySQL

Hàm CONCAT trong MySQL

Hàm CONCAT trong MySQL

Cách sử dụng CONCAT trong MySQL

Hàm CONCAT_WS trong MySQL

Hàm CONCAT_WS trong MySQL

Cách sử dụng CONCAT_WS trong MySQL

Hàm FIELD trong MySQL

Hàm FIELD trong MySQL

Cách sử dụng FIELD trong MySQL

Hàm FIND_IN_SET trong MySQL

Hàm FIND_IN_SET trong MySQL

Cách sử dụng FIND_IN_SET trong MySQL

Hàm FORMAT trong MySQL

Hàm FORMAT trong MySQL

Cách sử dụng FORMAT trong MySQL

Hàm INSERT trong MySQL

Hàm INSERT trong MySQL

Cách sử dụng INSERT trong MySQL

Hàm INSTR trong MySQL

Hàm INSTR trong MySQL

Cách sử dụng INSTR trong MySQL

Hàm LCASE trong MySQL

Hàm LCASE trong MySQL

Cách sử dụng LCASE trong MySQL

Hàm LEFT trong MySQL

Hàm LEFT trong MySQL

Cách sử dụng LEFT trong MySQL

Hàm LENGTH trong MySQL

Hàm LENGTH trong MySQL

Cách sử dụng LENGTH trong MySQL

Hàm LOCATE trong MySQL

Hàm LOCATE trong MySQL

Cách sử dụng LOCATE trong MySQL

Hàm LOWER trong MySQL

Hàm LOWER trong MySQL

Cách sử dụng LOWER trong MySQL

Hàm LPAD trong MySQL

Hàm LPAD trong MySQL

Cách sử dụng LPAD trong MySQL

Top