SQL DDL 基础语法

1、SQL TRUNCATE TABLE 语句

设若我们无非要除去表内的数目,但连无删表本身,那么我们该如何做吗?

请求以 TRUNCATE TABLE 命令(仅仅删除表格中的多寡):

TRUNCATE TABLE 表名称

 2、AUTO INCREMENT 自增字段

咱俩普通要在每次插入新记录时,自动地开创主键字段的价值。

咱们得以表明中创造一个 auto-increment 字段。

用于 MySQL 的语法

下列 SQL 语句把 “Persons” 表中的 “P_Id” 列定义也 auto-increment 主键:

CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)

用于 SQL Server 的语法

下列 SQL 语句把 “Persons” 表中的 “P_Id” 列定义也 auto-increment 主键:

CREATE TABLE Persons
(
P_Id int PRIMARY KEY IDENTITY(20,10),     //从20开始,每次增加10
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

用于 Oracle 的语法

在 Oracle 中,代码稍微复杂一点。

你必须通过 sequence 对创建 auto-increment 字段(该目标十分成数字序列)。

求用下的 CREATE SEQUENCE 语法:

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

地方的代码创建名吧 seq_person 的队列对象,它坐 1 起起且因为 1
递增。该对象缓存 10 单价为加强性。CACHE
选项规定了以提高访问速度要存储多少个序列值。

倘若在 “Persons” 表中插入新记录,我们亟须以 nextval 函数(该函数从
seq_person 序列中拿走回下一个价值):

INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')

面的 SQL 语句会于 “Persons” 表中插一长新记录。”P_Id” 的赋值是来
seq_person 序列的生一个数字。”FirstName” 会被设置也 “Bill”,”LastName”
列会受装为 “Gates”。

相关文章