MySQL - Create Database



After establishing connection with MySQL, to manipulate data in it you need to connect to a database. You can connect to an existing database or, create your own.

You would need special privileges to create or to delete a MySQL database. So, if you have access to the root user, you can create any database using the MySQL CREATE DATABASE statement.

MySQL CREATE Database Statement

The CREATE DATABASE statement is a DDL (Data Definition Language) statement used to create a new database in MySQL RDBMS.

If you are creating your database on Linux or Unix, then database names are case-sensitive, even though keywords SQL are case-insensitive. If you are working on Windows then this restriction does not apply.

Syntax

Following is the syntax to create a database in MySQL

CREATE DATABASE DatabaseName;

Where, the "DatabaseName" is just a placeholder representing the name of the database that we want to create.

Example

Let us create a database TUTORIALS in MySQl using the CREATE DATABASE statement as follows −

CREATE DATABASE TUTORIALS;

Make sure you have the necessary privilege before creating any database.

Verification

Once the database TUTORIALS is created, we can check it in the list of databases using the SHOW statement as shown below −

SHOW DATABASES;

Following are the list of databases present in the server −

Database
information_schema
mysql
performance_schema
tutorials

CREATE Database with IF NOT EXISTS clause

If you try to create a database with an existing name an error will be generated. Suppose there is an existing database in MySQL with the name mydb and if we try to create another database with the same name as −

CREATE DATABASE myDatabase

An error will be generated as shown below −

ERROR 1007 (HY000): Can't create database 'mydb'; database exists

If you use the IF NOT EXISTS clause along with the CREATE statement as shown below a new database will be created and if a database with the given name, already exists the query will be ignored.

CREATE DATABASE IF NOT EXISTS myDatabase

Create Database Using mysqladmin

You would need special privileges to create or to delete a MySQL database. So assuming you have access to the root user, you can create any database using the mysql mysqladmin binary.

Example

Here is a simple example to create a database named TUTORIALS using mysqladmin −

[root@host]# mysqladmin -u root -p create TUTORIALS
Enter password:******

This will create a MySQL database called TUTORIALS.

Creating Database Using a Client Program

Besides creating a database in MySQL RDBMS with a MySQL query, you can also use a client program in programming languages such as Node.js, PHP, Java, and Python to achieve the same result.

Syntax

Following are the syntaxes of this operation in various programming languages −

To create a database in MySQL RDBMS through a PHP program, we need to execute the 'CREATE DATABASE' statement using the mysqli function named query() as shown below −

$sql = "CREATE DATABASE DatabaseName";
$mysqli->query($sql);

To create a database in MySQL RDBMS through a Node.js program, we need to execute the 'CREATE DATABASE' statement using the query() function of the mysql2 library as follows −

sql = "CREATE DATABASE DatabaseName";
con.query(sql, function (err, result) {
   if (err) throw err;
      console.log(result);
});

To create a database in MySQL RDBMS through a Java program, we need to execute the 'CREATE DATABASE' statement using the JDBC function executeUpdate() as follows −

String sql = "CREATE DATABASE DatabaseName";
st.executeUpdate(sql);

To create a database in MySQL RDBMS through a Python program, we need to execute the 'CREATE DATABASE' statement using the execute() function of the MySQL Connector/Python as follows −

sql = "CREATE DATABASE DatabaseName"
cursorObj.execute(sql)

Example

Following are the programs −

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'root@123';
$mysqli = new mysqli($dbhost, $dbuser, $dbpass);

if($mysqli->connect_errno ) {
   printf("Connect failed: %s<br />", $mysqli->connect_error);
   exit();
}
printf('Connected successfully.<br />');

if ($mysqli->query("CREATE DATABASE TUTORIALS")) {
   printf("Database created successfully.<br />");
}
if ($mysqli->errno) {
   printf("Could not create database: %s<br />", $mysqli->error);
}
$mysqli->close();     

Output

The output obtained is as follows −

Connected successfully.
Database created successfully.
var mysql = require('mysql2');
var con = mysql.createConnection({
   host: "localhost",
   user: "root",
   password: "Nr5a0204@123"
});
  //Connecting to MySQL
  con.connect(function (err){
  if (err) throw err;
  console.log("Connected!");
  console.log("--------------------------");
  //Creating a Database
  sql = "create database TUTORIALS"
  con.query(sql, function(err){
   if (err) throw err
     console.log("Database created successfully...")
   });
});

Output

The output produced is as follows −

Connected!
--------------------------
Database created successfully...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class createDatabase {
    public static void main(String[] args) {
		String url = "jdbc:mysql://localhost:3306/";
        String user = "root";
        String password = "password";
        ResultSet rs;
        try {
        	Class.forName("com.mysql.cj.jdbc.Driver");
            Connection con = DriverManager.getConnection(url, user, password);
            Statement st = con.createStatement();
            //System.out.println("Connected successfully...!");
            String sql = "CREATE DATABASE TUTORIALS";
            st.execute(sql);
            System.out.println("Database created successfully...!");
        }catch(Exception e) {
        	e.printStackTrace();
        }
	}
}

Output

The output obtained is as shown below −

Database created successfully...!
import mysql.connector
# creating the connection object
connection = mysql.connector.connect(
host ="localhost",
user ="root",
password ="password"
)
# creating cursor object
cursorObj = connection.cursor()
# creating the database 
cursorObj.execute("CREATE DATABASE MySqlPythonDB")
print("Database Created Successfully")
# disconnecting from server
connection.close()

Output

Following is the output of the above code −

Database Created Successfully
Advertisements