SQL 创建表

SQL CREATE TABLE 语句用于在数据库中创建表。

如果要创建表,应为表命名并定义其列和每列的数据类型。

让我们看看创建表的简单语法。

create table "tablename"  
("column1" "data type",  
"column2" "data type",  
"column3" "data type",  
...  
"columnN" "data type");  

列的数据类型可能因一个数据库而异。例如,对于整数值,Oracle 数据库支持 NUMBER,而 MySQL 支持 INT。

让我们举个例子,创建一个以 ID 作为主键的 STUDENTS 表,NOT NULL 是约束,表明在表中创建记录时这些字段不能为 NULL。

SQL> CREATE TABLE STUDENTS (  
ID INT                           NOT NULL,  
NAME VARCHAR (20) NOT NULL,  
AGE INT                         NOT NULL,  
ADDRESS CHAR (25),  
PRIMARY KEY (ID)  
);  

您可以通过查看 SQL Server 显示的消息来验证是否已成功创建表,否则您可以使用 DESC 命令,如下所示:

SQL> DESC STUDENTS;
FIELDTYPENULLKEYDEFAULTEXTRA
ID Int(11) NO PRI    
NAME Varchar(20) NO      
AGE Int(11) NO      
ADDRESS Varchar(25) YES   NULL

现在您的数据库中有可用的 STUDENTS 表,您可以使用它来存储与学生相关的所需信息。

MySQL SQL 创建表 示例

让我们看看在 MySQL 数据库中创建表的命令。

CREATE TABLE Employee  
(  
EmployeeID int,  
FirstName varchar(255),  
LastName varchar(255),  
Email varchar(255),  
AddressLine varchar(255),  
City varchar(255)  
);  

Oracle SQL 创建表 示例

让我们看看在 Oracle 数据库中创建表的命令。

CREATE TABLE Employee  
(  
EmployeeID number(10),  
FirstName varchar2(255),  
LastName varchar2(255),  
Email varchar2(255),  
AddressLine varchar2(255),  
City varchar2(255)  
);  

SQL Server SQL 创建表 示例

让我们看看在 SQLServer 数据库中创建表的命令。它与 MySQL 和 Oracle 相同。

CREATE TABLE Employee  
(  
EmployeeID int,  
FirstName varchar(255),  
LastName varchar(255),  
Email varchar(255),  
AddressLine varchar(255),  
City varchar(255)  
);  

使用另一个表创建一个新表

我们可以使用 create table 命令创建现有表的副本。新表获得与旧表相同的列签名。我们可以选择所有列或某些特定列。

如果我们使用旧表创建新表,则新表将使用旧表中的现有值填充。

用另一个表创建一个表的基本语法是:

CREATE TABLE table_name  AS  
SELECT column1, column2,...   
FROM old_table_name WHERE ..... ;  
The following SQL creates a copy of the employee table.  
CREATE TABLE EmployeeCopy AS  
SELECT EmployeeID, FirstName, Email  
FROM Employee;  

带有 CREATE TABLE 语句的 SQL 主键

以下查询在创建“Employee”表时在“D”列上创建一个 PRIMARY KEY。

MySQL

CREATE TABLE Employee(  
EmployeeID NOT NULL,  
FirstName varchar(255) NOT NULL,  
LastName varchar(255),  
City varchar(255),  
PRIMARY KEY (EmployeeID)  
);  

SQL Server / Oracle / MS Access

CREATE TABLE Employee(  
EmployeeID NOT NULL PRIMARY KEY,  
FirstName varchar(255) NOT NULL,  
LastName varchar(255),  
City varchar(255)  
);  

使用以下查询在多个列上定义 PRIMARY KEY 约束,并允许命名 PRIMARY KEY 约束。

MySQL / SQL Server /Oracle / MS Access

CREATE TABLE Employee(  
EmployeeID NOT NULL,  
FirstName varchar(255) NOT NULL,  
LastName varchar(255),  
City varchar(255),  
CONSTRAINT     PK_Employee PRIMARY KEY (EmployeeID, FirstName)  
);  
posted @   只做喜欢的事  阅读(508)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示