Skip to content

SQL Create DB

CREATE DATABASE 语句是设置一个新的、独立的数据环境的基础。它指示数据库管理系统(DBMS)为新数据库分配空间和资源。

理解 CREATE DATABASE

将数据库想象成一个专用的数字文件柜。CREATE DATABASE 命令就像获得一个新的空文件柜,随时可以组织并填充特定信息(表、记录等)。

创建新数据库的基本语法非常直接:

CREATE DATABASE database_name;

其中 database_name 是你为新数据库选择的唯一名称。此名称不能与服务器上任何现有数据库名称冲突。

  • 权限:通常,你需要特定的管理权限(例如 CREATE DATABASE 权限)才能执行此命令。在生产环境中,这通常由数据库管理员(DBA)处理。
  • 唯一性:数据库名称在数据库服务器实例中必须是唯一的。
  • 命名约定:虽然 SQL 没有严格强制执行,但最好使用描述性的、小写字母、带下划线而不是空格的名称(例如 my_application_db, sales_data_2024)。请查看你的组织或 DBMS 的具体命名指南。
  • 高级选项:大多数 DBMS 提供 CREATE DATABASE 的附加选项,例如指定默认字符集(例如 UTF8MB4)、排序规则(用于字符串比较规则)和文件存储路径。例如: CREATE DATABASE my_app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 这些高级选项取决于具体的 DBMS(如 MySQL, PostgreSQL, SQL Server)。对于初学者,基本语法通常足以入门。

让我们创建一个名为 my_web_app_data 的数据库:

CREATE DATABASE my_web_app_data;

成功执行此命令后,将在你的数据库服务器上创建一个名为 my_web_app_data 的空数据库。

数据库创建后,它只是一个空壳。下一步通常是连接到这个新数据库,并通过使用 CREATE TABLE 语句来定义其结构,即创建表。例如:

-- 首先,连接到你的新数据库(语法取决于你的 SQL 客户端/工具)
-- USE my_web_app_data; -- MySQL 或 SQL Server 示例
-- \c my_web_app_data -- PostgreSQL 示例
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT, -- PostgreSQL 使用 SERIAL
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

创建一个新数据库是任何需要持久数据存储的新软件项目或应用程序的基础步骤。每个应用程序通常都有自己的数据库,以保持其数据逻辑分离和易于管理。

  • 权限不足(Permission Denied):因为当前用户缺少必要的权限而遇到错误。解决方案:确保你使用的账户具有创建数据库的权限,或向 DBA 请求协助。
  • 数据库已存在(Database Already Exists):尝试创建的数据库名称已在使用中。解决方案:选择一个唯一的名称,如果不再需要现有数据库且你具有权限,可以删除它(DROP DATABASE database_name; - 请务必谨慎使用!)。