Databases are known to store a humongous amount of data in a logical format. But, have you ever thought about a situation, wherein you have to mention a unique number for every new record in a table? Well, I think, it’s practically impossible to enter the numbers manually. So, instead, you can use Auto Increment in SQL, to automatically enter a unique number for every new record in the table.
What is auto increment in SQL?
I am sure the name suggests its functionality by itself. Auto Increment is a field used to generate a unique number for every new record added into a table. This is generally used for the primary key column as it becomes easy for the developers to automatically generate a unique number for every new record.
Now, that you know, what is auto increment in SQL, let us discuss how to use this field in various DBMS.
How do you set up Auto Increment?
For your better understanding, I will consider the following table:
CustomerID | CustomerName | Age | PhoneNumber |
If you wish to know how to create a table, you can refer to my article on CREATE TABLE command. .Let us start with the syntax and examples of the Auto Increment field in different DBMS.
Syntax and Example for SQL Server
To use the auto increment field, in SQL Server, you have to use the IDENTITY keyword.
Syntax:
CREATE TABLE TableName ( Column1 DataType IDENTITY(starting value, increment by), Column2 DataType, );
Example:
Create a table with the name Customers, and columns CustomerID, CustomerName, Age and PhoneNumber. Here, auto-increment the CustomerID and make it the primary key for the table.
CREATE TABLE Customers ( CustomerID int IDENTITY(1,1) PRIMARY KEY, CustomerName varchar(255), Age int, PhoneNumber int);
In the above example, the starting value for IDENTITY is 1 and it should increment by 1 for every new record added. You can mention these values, according to your wish. Also, to insert values in the above table, you have to use the INSERT query in the following way:
INSERT INTO Customers (CustomerName,Age, PhoneNumber) VALUES ('Abhay','25','9876543210');
Here, if you observe, I have not mentioned the CustomerID column, as the ID will be automatically generated. So, if you see insert 4 more values using the below queries:
INSERT INTO Customers (CustomerName,Age, PhoneNumber) VALUES ('Sonal','22','9812313210'); INSERT INTO Customers (CustomerName,Age, PhoneNumber) VALUES ('Anuj','19','9956413210'); INSERT INTO Customers (CustomerName,Age, PhoneNumber) VALUES ('Mona','24','9876543911'); INSERT INTO Customers (CustomerName,Age, PhoneNumber) VALUES ('Sanjay','31','9657154310');
Then, you will see the below output:
CustomerID | CustomerName | Age | PhoneNumber |
1 | Abhay | 25 | 9876543210 |
2 | Sonal | 22 | 9812313210 |
3 | Anuj | 19 | 9956413210 |
4 | Mona | 24 | 9876543911 |
5 | Sanjay | 31 | 9657154310 |
Next, in this article on auto increment in SQL, let us see how to auto-increment a column in MySQL.
Syntax and Example for MySQL
To use the auto increment field, in MySQL, you have to use the AUTO_INCREMENT keyword. The starting value for AUTO_INCREMENT is 1 by default, and it will increment by 1 for each new record.
Syntax:
CREATE TABLE TableName ( Column1 DataType AUTO_INCREMENT, Column2 DataType, );
Example:
Create a table with the name Customers, and columns CustomerID, CustomerName, Age and PhoneNumber. Here, auto-increment the CustomerID and make it the primary key for the table.
CREATE TABLE Customers ( CustomerID int AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(255), Age int, PhoneNumber int);
If you wish to start the AUTO_INCREMENT value by any other number, then you can use the keyword in the following way:
Syntax:
ALTER TABLE TableName AUTO_INCREMENT=50;
Example:
ALTER TABLE Customers AUTO_INCREMENT=50;
Similar to that of SQL Server, you can INSERT values into the table, by using the INSERT statement. On inserting values, you will see the same output, like that of the above table. Next, in this article on auto increment in SQL, let us see how to auto-increment a column in MS Access.
Syntax and Example for MS Access
To use the auto increment field, in MS Access, you have to use the AUTOINCREMENT keyword.
Syntax:
CREATE TABLE TableName ( Column1 DataType AUTOINCREMENT, Column2 DataType, );
Example:
Create a table with the name Customers, and columns CustomerID, CustomerName, Age and PhoneNumber. Here, auto-increment the CustomerID and make it the primary key for the table.
CREATE TABLE Customers ( CustomerID int AUTOINCREMENT PRIMARY KEY, CustomerName varchar, Age int, PhoneNumber int);
The default starting value of AUTOINCREMENT is 1 and it will also increment by 1 for each record. But, if you wish to change this, and let us say, you want to set the starting value to be 20 and increment by 2, you can use the auto-increment feature as below:
AUTOINCREMENT(20,2)
Find out our MS SQL Course in Top Cities
India | India |
SQL Training in Bangalore | SQL Course in Pune |
SQL Training in Chennai | SQL Course in Mumbai |
SQL Training in hyderabad | SQL Course in Kolkata |
Similar to that of SQL Server, you can INSERT values into the table, by using the INSERT statement. On inserting values, you will see the same output, as that of the above table. Next, in this article on auto increment in SQL, let us see how to auto-increment a column in Oracle.
Syntax and Example for Oracle
To use the auto increment field, in Oracle, you have to create an auto-increment field with the sequence object. The sequence object generates a number sequence.
Syntax to create a sequence:
CREATE SEQUENCE name_of_sequence MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10;
In the above syntax,
- Name_of_sequence – Creation of sequence named name_of_sequence
- START – Mentions the starting value
- INCREMENT BY – Mentions the value incremented by
- CACHE – Mentions the maximum number of values to be stored for faster access.
Example:
Create a sequence object where the starting value is 1, is incremented by 3, and a maximum number of values to be stored is 20.
CREATE SEQUENCE seq_customers MINVALUE 1 START WITH 1 INCREMENT BY 3 CACHE 20;
Discover the secrets of efficient data management through our SQL Online Course.
Similar to that of MySQL and SQL Server, you can INSERT values into the table, by using the INSERT statement. On inserting values, you will see the same output, as that of the above table. Next, in this article on auto increment in SQL, let us see how to auto-increment a column in PostgreSQL.
Syntax and Example for PostgreSQL
To use the auto increment field, in PostgreSQL, you have to create an auto-increment field with the sequence object. The sequence object generates a number sequence.
Syntax:
CREATE TABLE TableName ( Column1 DataType SERIAL PRIMARY KEY, Column2 DataType, );
Example:
Create a table with the name Customers, and columns CustomerID, CustomerName, Age and PhoneNumber. Here, auto-increment the CustomerID and make it the primary key for the table.
CREATE TABLE Customers ( CustomerID int SERIAL PRIMARY KEY, CustomerName varchar(255), Age int, PhoneNumber int);
Similar to that of MySQL, SQL Server, and other DBMS you can INSERT values into the table, by using the INSERT statement. On inserting values, you will see the same output, like that of the above table.
With this, we come to an end to this article on Auto Increment in SQL. I hope you understood how to use the above commands. If you wish to learn more about MySQL and get to know this open-source relational database, then check out our MySQL DBA Certification Training which comes with instructor-led live training and real-life project experience. This training will help you understand MySQL in-depth and help you achieve mastery over the subject.
Got a question for us? Please mention it in the comments section of this article on “Auto Increment in SQL” and I will get back to you.