SQL CREATE TABLE语句

SQL CREATE TABLE语句

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

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

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

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

列的数据类型在不同数据库中可能会有所不同。例如,Oracle数据库支持INTEGER类型的数值,而MySQL支持INT类型。

让我们以创建一个名为STUDENTS的表为例,其中ID是主键,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

在设置中有4行(0.00秒)

现在你的数据库中有可用的STUDENTS表,并且你可以用它来存储与学生有关的必要信息。

MySQL中的SQL CREATE TABLE示例

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

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

在Oracle中SQL CREATE TABLE示例

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

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

SQL CREATE TABLE在Microsoft SQLServer中的示例

让我们看一下在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 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;

SQL创建表语句中的主键

下面的查询在创建”Employee”表时在”D”列上创建了一个主键。

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)
);

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

对于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)
);

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程