How to create database table in magento 2?

In Magento 2, You need to create InstallSchema.php file in Setup folder under your module. In my case, Module name is Rbj_Training,

Below code snippets is create database table name of create_form.

<?php

namespace Rbj\Training\Setup;

use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;

class InstallSchema implements InstallSchemaInterface
{

    /**
     * {@inheritdoc}
     */
    public function install(
        SchemaSetupInterface $setup,
        ModuleContextInterface $context
    ) {
        //Your install script

        $createform = $setup->getConnection()->newTable($setup->getTable('create_form'));

        $createform->addColumn(
            'entity_id',
            \Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
            null,
            ['identity' => true,'nullable' => false,'primary' => true,'unsigned' => true,],
            'Entity ID'
        );

        $createform->addColumn(
            'name',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            50,
            [],
            'name'
        );

        $createform->addColumn(
            'phone_no',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            20,
            [],
            'phone_no'
        );

        $createform->addColumn(
            'image',
            \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
            255,
            [],
            'Image'
        );

        $setup->getConnection()->createTable($createform);
    }
}

Above script create create_form table with 4 fields, entity_id,name,phone_no,image

entity_id is an auto-increment field, a name is for name display, phone_no used for phone and image is for image name store.