SQL教程
SQL数据库
SQL表
SQL查询
SQL子句
SQL排序
SQL插入
SQL更新
SQL删除
SQL联接查询
SQL键

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
4 rows in set (0.00 sec)
现在数据库中已有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命令创建现有表的副本。新表获得与旧表相同的列签名。我们可以选择所有列或某些特定列。
如果使用旧表创建新表,则新表将被旧表中的现有值填充。
与另一个表一起创建表的基本语法为:
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)
);

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4