If you want create a database table while a activating the plugin then you have to register_activation_hook() function. The following code can be placed in your main plugin file. The function will create tables in your Database.
function myplugin_install() {
global $wpdb;
$table_name = $wpdb->prefix . "mytable";
$db_version = '1.0';
/**Execute the sql statement to create table**/
$sql = "CREATE TABLE IF NOT EXISTS " . $table_name . " (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`field1` varchar(300) DEFAULT NULL,
`field2` varchar(300) DEFAULT NULL,
`field3` varchar(300) DEFAULT NULL,
`field4` varchar(300) DEFAULT NULL,
`field5` varchar(300) DEFAULT NULL,
PRIMARY KEY (`ID`));";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
add_option( "db_version", '1.0' );
}
// plugin activation hook
register_activation_hook(__FILE__,'myplugin_install');
Then activate your plugin.If already activated then reactivate the plugin. It automatically create table in your database. That’s it.
Have any doubt, then comment here!