Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Khi làm việc với cơ sở dữ liệu rộng lớn trong SQL, một số bảng và trường dữ liệu sẽ yêu cầu các số duy nhất. Chẳng hạn, một cột của bảng có ràng buộc PRIMARY KEY hoặc UNIQUE sẽ luôn yêu cầu một số mới. Bạn có thể thực hiện thủ công ở một mức độ hạn chế. Tuy nhiên, khi nói đến cơ sở dữ liệu khổng lồ, bạn có thể quên số duy nhất cuối cùng mà bạn đã nhập hoặc chỉ bao gồm cùng một số hai lần vì không dễ nhớ mọi thứ. Bên cạnh vấn đề về bộ nhớ, việc cung cấp một số duy nhất cho tất cả các bản ghi cũng là một công việc tẻ nhạt. Đó là nơi tự động gia tăng trong SQL phát huy vai trò của nó

Tự động tăng trong SQL là gì?

Số gia tự động trong SQL là một tính năng được áp dụng cho một trường để nó có thể tự động tạo và cung cấp một giá trị duy nhất cho mọi bản ghi mà bạn nhập vào bảng SQL. Trường này thường được sử dụng làm cột KHÓA CHÍNH, nơi bạn cần cung cấp một giá trị duy nhất cho mỗi bản ghi mà bạn thêm vào. Tuy nhiên, nó cũng có thể được sử dụng cho các cột ràng buộc ĐỘC ĐÁO

Làm cách nào để thiết lập mức tăng tự động trong SQL?

Bây giờ, vì bạn đã biết trường tăng tự động SQL làm gì, hãy thiết lập nó để tự động tạo các số duy nhất cho các bản ghi bạn nhập vào bảng cơ sở dữ liệu. Một số cơ sở dữ liệu hỗ trợ các trường tăng tự động SQL. Bạn sẽ xem qua một số hệ thống DBMS chính và xem cách thiết lập cột tăng tự động. Bạn sẽ phải tạo bảng Sinh viên trong tất cả DBMS và đặt tăng tự động trong SQL

Khóa học MIỄN PHÍ. Giới thiệu về Phân tích dữ liệu

Nắm vững khái niệm cơ bản về phân tích dữ liệu chỉ bằng một cú nhấp chuột. Bắt đầu học

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tự động tăng trong SQL. Thiết lập cho MySQL

Trong máy chủ MySQL, nó áp dụng trường tăng tự động với từ khóa AUTO_INCREMENT. Theo mặc định, nó bắt đầu bằng số một và tăng giá trị lên một cho mỗi bản ghi mới. Trong ví dụ bên dưới, bạn sẽ sử dụng lệnh CREATE TABLE để tạo bảng Học sinh và áp dụng PRIMARY KEY và AUTO_INCREMENT cho cột ID. Sau khi tạo bảng, bạn sẽ sử dụng lệnh INSERT INTO để thêm hàng mà không cần cung cấp giá trị của cột ID

-- Tạo bảng

TẠO BẢNG Học sinh(

ID int PRIMARY KEY AUTO_INCREMENT,

FirstName varchar(25) NOT NULL,

Họ tên varchar(25),

tuổi int

);

-- Chèn giá trị

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23);

-- Tìm nạp giá trị

CHỌN * TỪ Học sinh;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Như bạn có thể thấy ở đầu ra, số tự động tăng trong SQL đã cung cấp cho cột ID các số duy nhất như mong đợi

Bạn cũng có thể tăng tự động trong SQL để bắt đầu từ một giá trị khác bằng cú pháp sau

THAY ĐỔI BẢNG tên_bảng AUTO_INCREMENT = start_value;

Trong cú pháp trên

  • start_value. Đó là giá trị từ nơi bạn muốn bắt đầu đánh số

Sử dụng cú pháp để bắt đầu đánh số từ 100 trong bảng Học sinh rồi thêm các hàng khác để xem hoạt động của nó

ALTER TABLE Sinh viên AUTO_INCREMENT = 100;

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('David', 'Tiwari', 26);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Hitesh', 'Patel', 29);

CHỌN * TỪ Học sinh;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tự động tăng trong SQL. Thiết lập cho máy chủ SQL

Máy chủ SQL sử dụng từ khóa IDENTITY để đặt tăng tự động theo cú pháp sau trong khi tạo bảng

IDENTITY (giá_trị_ban_đầu,_giá_trị_tăng);

Trong cú pháp trên

  • giá trị ban đầu. Đó là giá trị từ nơi bạn muốn đánh số bắt đầu
  • gia_trị. Đó là mức tăng giữa mỗi số được tạo tự động

Hãy tạo cùng một bảng Sinh viên trong Máy chủ SQL và sử dụng từ khóa IDENTITY để đặt tăng tự động. Lần này, bạn sẽ bắt đầu trực tiếp với 1000 và có khoảng cách là 5 giữa mỗi số của hàng

-- Tạo bảng

TẠO BẢNG Học sinh(

ID int IDENTITY(1000, 5) KHÓA CHÍNH,

FirstName varchar(25) NOT NULL,

Họ tên varchar(25),

tuổi int

);

-- Chèn giá trị

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23);

-- Tìm nạp giá trị

CHỌN * TỪ Học sinh;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tự động tăng trong SQL. Thiết lập cho MS Access

Từ khóa AUTOINCREMENT dùng để thiết lập tự động tăng trong MS Access. Các giá trị bắt đầu và gia tăng mặc định cho AUTOINCREMENT lần lượt là 1 và 1. Tuy nhiên, bạn có thể dễ dàng thay đổi nó trong khi cài đặt tăng tự động theo cú pháp sau

AUTOINCREMENT(giá trị_bắt đầu, giá trị_gia tăng);

Trong cú pháp trên

  • start_value. Đó là giá trị từ nơi bạn muốn đánh số bắt đầu
  • gia_trị. Đó là mức tăng giữa mỗi số được tạo tự động

Lần này, bạn sẽ tạo một bảng Students1 trong ví dụ bên dưới với máy chủ MS Access và thiết lập tăng tự động trong SQL với các giá trị đầu vào giống nhau. Trong trường hợp này, bạn phải đặt start_value thành 200 và increment_value thành 4

-- Tạo bảng

TẠO BẢNG Học sinh1(

ID int AUTOINCREMENT(200,4) KHÓA CHÍNH,

FirstName varchar(25) NOT NULL,

Họ tên varchar(25),

tuổi int

);

-- Chèn giá trị

CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Rahul', 'Kumar', 24);

CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Aakash', 'Roy', 25);

CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Nick', 'Chopra', 23);

-- Tìm nạp giá trị

CHỌN * TỪ Học sinh1;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Chương trình Thạc sĩ Phân tích Kinh doanh

Nhận kiến ​​thức chuyên môn về các công cụ phân tích Doanh nghiệp Chương trình Khám phá

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tự động tăng trong SQL. Thiết lập cho Oracle

Để thiết lập tăng tự động trong Oracle, trước tiên bạn sẽ phải tạo một đối tượng chuỗi. Đối tượng này được sử dụng để tạo ra một dãy số. Đây là cách bạn có thể sử dụng câu lệnh CREATE SEQUENCE trong Oracle để tạo một đối tượng chuỗi cho bảng Students'

TẠO TRÌNH TỰ seq_Students

GIÁ TRỊ NHỎ 1

BẮT ĐẦU VỚI 20

TĂNG 2

CỤM 20;

Cú pháp trên sẽ tạo một đối tượng chuỗi có tên seq_Students bắt đầu bằng 20 và tăng thêm 2 với bộ đệm là 20 (số lượng giá trị chuỗi được lưu trong bộ nhớ). Bây giờ, bạn sẽ sử dụng hàm nextval tích hợp sẵn để thêm giá trị với tính năng tự động tăng và xem nó hoạt động. Hãy tạo bảng Học sinh và chèn các giá trị

TẠO BẢNG Học sinh(

Số ID(10) KHÓA CHÍNH,

FirstName varchar2(50) NOT NULL,

Họ varchar2(50),

Số tuổi(10)

);

CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Rahul', 'Kumar', 24);

CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Aakash', 'Roy', 25);

CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Nick', 'Chopra', 23);

-- Tìm nạp giá trị

CHỌN * TỪ Học sinh;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tự động tăng trong SQL. Thiết lập cho PostgreSQL

Trong PostgreSQL, từ khóa SERIAL được sử dụng để thiết lập cột tăng tự động. SERIAL trong PostgreSQL là một kiểu dữ liệu, như BIGSERIAL và SMALLSERIAL. Nhưng nó hoạt động tương tự như tăng tự động trong SQL. Tuy nhiên, bạn không thể đặt giá trị bắt đầu hoặc giá trị gia tăng theo lựa chọn của mình một cách rõ ràng. Đây là cách bạn có thể tạo một bảng và sử dụng từ khóa SERIAL để đặt tăng tự động trong PostgreSQL

-- Tạo bảng

TẠO BẢNG Học sinh(

ID NỐI TIẾP KHÓA CHÍNH,

FirstName TEXT NOT NULL,

Họ Văn bản,

tuổi int

);

-- Chèn giá trị

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25);

CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23);

-- Tìm nạp giá trị

CHỌN * TỪ Học sinh;

đầu ra

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?

Tích lũy kiến ​​thức chuyên môn về các công cụ và kỹ thuật phân tích Kinh doanh mới nhất với Chương trình Chứng chỉ Chuyên viên Phân tích Kinh doanh. đăng ký ngay bây giờ

Phần kết luận

Trong bài viết này, bạn đã học mọi thứ về tăng tự động trong SQL. Bạn đã trải qua việc sử dụng tăng tự động và cách thiết lập nó trong các máy chủ DBMS khác nhau. Biết cách thức và vị trí sử dụng gia số tự động sẽ giúp bạn quản lý hiệu quả các cơ sở dữ liệu khổng lồ, đặc biệt là khi làm việc với các bảng ràng buộc PRIMARY KEY. Bạn có bất kỳ câu hỏi nào liên quan đến bài viết về Auto Increment trong SQL này không? . Đội ngũ của chúng tôi sẽ giúp bạn giải quyết chúng. Nếu bạn muốn tìm hiểu các khái niệm SQL thú vị hơn, bạn có thể chọn tham gia Khóa đào tạo chứng chỉ SQL của Simplilearn.  

học tập vui vẻ

Thông tin về các Tác giả

Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?
đơn giản

Simplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác

Khóa chính có thể là AUTO_INCREMENT không?

Tự động tăng cho phép một số duy nhất được tạo tự động khi bản ghi mới được chèn vào bảng. Thường thì đây là trường khóa chính mà chúng tôi muốn được tạo tự động mỗi khi bản ghi mới được chèn vào .

Làm cách nào để nhận giá trị gia tăng tự động trong MySQL?

Có thể đạt được giá trị của cột sử dụng AUTO_INCREMENT sau câu lệnh INSERT theo một số cách khác nhau. Để lấy giá trị ngay sau INSERT , sử dụng truy vấn SELECT với hàm LAST_INSERT_ID() .

Làm cách nào để đặt ID được tạo tự động trong MySQL?

MySQL có từ khóa AUTO_INCREMENT để thực hiện tự động tăng. Giá trị bắt đầu cho AUTO_INCREMENT là 1, là giá trị mặc định. Nó sẽ tăng thêm 1 cho mỗi bản ghi mới. Để lấy id tăng tự động tiếp theo trong MySQL, chúng ta có thể sử dụng hàm last_insert_id() từ MySQL hoặc auto_increment với SELECT .

Có thể đặt giá trị trường AUTO_INCREMENT theo cách thủ công không?

Có nếu giá trị trường tự động tăng lên; . Giá trị mặc định là có. Nếu bạn muốn gán giá trị theo cách thủ công cho trường có thuộc tính AutoIncrement được đặt thành Có, thì bạn phải là thành viên của bộ quyền cơ sở dữ liệu db_owner của SQL Server .