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ọcTự độ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
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
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
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
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á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
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
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ả
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