How to create a MySQL table with indexes?

MySQLMySQLi Database

To create a MySQL table with indexes, the syntax is as follows −

create table yourTableName
(
yourColumnName1 dataType,
yourColumnName2 dataType
.
.
.
N
);
create index yourIndexName1 on(yourColumnName1 );
create index yourIndexName2 on(yourColumnName2 );

Let us first create a table −

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.63 sec)

Here is the query to create indexes with table −

mysql> create index id_index on DemoTable(Id);
Query OK, 0 rows affected (0.36 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> create index Name_index on DemoTable(Name);
Query OK, 0 rows affected (0.38 sec)
Records: 0 Duplicates: 0 Warnings: 0

Now you can check the structure of table −

mysql> show create table DemoTable;

This will produce the following output −

+---------------+-----------------------------------------------------------------------------------------+
| Table         | Create Table                                                                            |  
+---------------+-----------------------------------------------------------------------------------------+
| DemoTable     | CREATE TABLE `DemoTable` ( `Id` int(11) DEFAULT NULL, `Name` varchar(20) COLLATE                               utf8_unicode_ci DEFAULT NULL, KEY `id_index` (`Id`), KEY `Name_index` (`Name`) )                            ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci                             |
+---------------+------------------------------------------------------------------------------------------+
1 row in set (0.05 sec)
raja
Published on 17-Dec-2019 11:39:39
Advertisements