SQL DDL 基础语法

1、SQL TRUNCATE TABLE 语句

如果我们只是须求除去表内的数额,但并不删除表本人,那么大家该咋做啊?

请使用 TRUNCATE TABLE 命令(仅仅删除表格中的数据):

TRUNCATE TABLE 表名称

 贰 、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 系列中取回下1个值):

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

上边的 SQL 语句会在 “Persons” 表中插入一条新记录。”P_Id” 的赋值是根源
seq_person 类别的下五个数字。”FirstName” 会被安装为 “Bill”,”LastName”
列会棉被服装置为 “Gates”。

相关文章