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 字段(该对象好成数字序列)。
吁以下的MySQL 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”。