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;
FIELD TYPE NULL KEY DEFAULT EXTRA
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)  
);  

 

热门文章

优秀文章