MySQL - 创建数据库
与 MySQL 建立连接后,要操作其中的数据,您需要连接到数据库。您可以连接到现有数据库,也可以创建自己的数据库。
您需要特殊权限才能创建或删除 MySQL 数据库。因此,如果您拥有 root 用户权限,则可以使用 MySQL CREATE DATABASE 语句创建任何数据库。
MySQL CREATE 数据库语句
CREATE DATABASE 语句是一种 DDL(数据定义语言)语句,用于在 MySQL RDBMS 中创建新数据库。
如果您在 Linux 或 Unix 上创建数据库,则数据库名称区分大小写,即使 SQL 关键字不区分大小写。如果您在 Windows 上工作,则此限制不适用。
语法
以下是在 MySQL 中创建数据库的语法 -
CREATE DATABASE DatabaseName;
其中,"DatabaseName"只是一个占位符,代表我们要创建的数据库的名称。
示例
让我们使用 CREATE DATABASE 语句在 MySQl 中创建数据库 TUTORIALS,如下所示 -
CREATE DATABASE TUTORIALS;
在创建任何数据库之前,请确保您拥有必要的权限。
验证
创建数据库 TUTORIALS 后,我们可以使用 SHOW 语句在数据库列表中查看它,如下所示 -
SHOW DATABASES;
以下是服务器中现有的数据库列表 -
Database |
---|
information_schema |
mysql |
performance_schema |
tutorials |
使用 IF NOT EXISTS 子句创建数据库
如果您尝试使用现有名称创建数据库,则会生成错误。假设 MySQL 中存在一个名为 mydb 的现有数据库,如果我们尝试创建另一个同名数据库 -
CREATE DATABASE myDatabase
将生成如下所示的错误 -
ERROR 1007 (HY000): Can't create database 'mydb'; database exists
如果您将 IF NOT EXISTS 子句与 CREATE 语句一起使用(如下所示),则会创建一个新的数据库;如果指定名称的数据库已存在,则查询将被忽略。
CREATE DATABASE IF NOT EXISTS myDatabase
使用 mysqladmin 创建数据库
您需要特殊权限才能创建或删除 MySQL 数据库。假设您拥有 root 用户权限,则可以使用 mysql mysqladmin 二进制文件创建任何数据库。
示例
以下是使用 mysqladmin 创建名为 TUTORIALS 数据库的简单示例 -
[root@host]# mysqladmin -u root -p create TUTORIALS Enter password:******
这将创建一个名为 TUTORIALS 的 MySQL 数据库。
使用客户端程序创建数据库
除了使用 MySQL 查询在 MySQL RDBMS 中创建数据库外,您还可以使用 Node.js、PHP、Java 和 Python 等编程语言的客户端程序来实现相同的功能。结果。
语法
以下是此操作在各种编程语言中的语法 -
要通过 PHP 程序在 MySQL 关系型数据库管理系统 (RDBMS) 中创建数据库,我们需要使用名为 query() 的 mysqli 函数执行"CREATE DATABASE"语句,如下所示 -
$sql = "CREATE DATABASE DatabaseName"; $mysqli->query($sql);
要通过 Node.js 程序在 MySQL RDBMS 中创建数据库,我们需要使用 mysql2 库的 query() 函数执行"CREATE DATABASE"语句,如下所示 -
sql = "CREATE DATABASE DatabaseName"; con.query(sql, function (err, result) { if (err) throw err; console.log(result); });
要通过 Java 程序在 MySQL RDBMS 中创建数据库,我们需要使用 JDBC 函数 executeUpdate() 执行"CREATE DATABASE"语句,如下所示 -
String sql = "CREATE DATABASE DatabaseName"; st.executeUpdate(sql);
要通过 Python 程序在 MySQL RDBMS 中创建数据库,我们需要使用 MySQL Connector/Python 的 execute() 函数执行"CREATE DATABASE"语句,如下所示 -
sql = "CREATE DATABASE DatabaseName" cursorObj.execute(sql)
示例
以下是程序 -
$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();
输出
获得的输出如下 -
Connected successfully. Database created successfully.
var mysql = require('mysql2'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "Nr5a0204@123" }); //连接到 MySQL con.connect(function (err){ if (err) throw err; console.log("Connected!"); console.log("--------------------------"); //创建数据库 sql = "create database TUTORIALS" con.query(sql, function(err){ if (err) throw err console.log("Database created successfully...") }); });
输出
生成的输出如下 -
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(); } } }
输出
获得的输出如下所示 -
Database created successfully...!
import mysql.connector # 创建连接对象 connection = mysql.connector.connect( host ="localhost", user ="root", password ="password" ) # 创建游标对象 cursorObj = connection.cursor() # 创建数据库 cursorObj.execute("CREATE DATABASE MySqlPythonDB") print("Database Created Successfully") # 断开与服务器的连接 connection.close()
输出
以下是上述代码的输出 -
Database Created Successfully