SQL AUTO INCREMENT字段
Auto-increment 会在新记录插入表中时生成一个唯一的数字。
我们通常希望在每次插入新记录时自动创建主键字段的值。
我们可以在表中创建一个自动增量(auto-increment)字段。
用于 MySQL 的语法
以下SQL语句将 "Persons" 表中的“ID”列定义为自动递增(auto-increment)主键字段:
CREATE TABLE Persons ( ID int NOT NULL AUTO_INCREMENT, 姓名 varchar(255) NOT NULL, 地址 varchar(255), 城市 varchar(255), 省份 varchar(255), PRIMARY KEY (ID) )
MySQL使用AUTO_INREMENT关键字来执行自动增量( auto-increment )任务。
默认情况下,AUTO_INREMENT的起始值为1,每个新记录增加1。
若要以其他值开始AUTO_INREMENT序列,请使用以下SQL语法:
ALTER TABLE Persons AUTO_INCREMENT=100
要在 "Persons" 表中插入新记录,我们不需要为"ID"栏指定值(自动添加唯一值):
INSERT INTO Persons (姓名,城市) VALUES ('王磊','上海市')
上面的SQL语句在 "Persons" 表中插入一个新记录。“ID”栏将得到唯一值。"姓名"栏设置为"王磊","城市"栏设置为"上海市"。
用于 SQL Server 的语法
以下SQL语句将 "Persons" 表中的“ID”列定义为自动递增( auto-increment )主键字段:
CREATE TABLE Persons ( ID int IDENTITY(1,1) PRIMARY KEY, 姓名 varchar(255) NOT NULL, 地址 varchar(255), 城市 varchar(255), 省份 varchar(255) )
MS SQL Server使用IDENTITY关键字执行自动增量( auto-increment )任务。
在上面的示例中,IDENTITY的起始值为1,每个新记录增量为1。
提示:指定“ID”列以10开头,并递增5,将标识( identity )更改为IDENTITY(105)。
要在 "Persons" 表中插入新记录,我们不需要为"ID"栏指定值(自动添加唯一值):
INSERT INTO Persons (姓名,城市) VALUES ('王磊','上海市')
上面的 SQL 语句在 "Persons" 表中插入一个新记录。“ID”栏将得到唯一值。"姓名"栏设置为"王磊","城市"栏设置为"上海市"。
用于 Access 的语法
以下 SQL 语句将 "Persons" 表中的“ID”列定义为自动递增( auto-increment )主键字段:
CREATE TABLE Persons ( ID Integer PRIMARY KEY AUTOINCREMENT, 姓名 varchar(255) NOT NULL, 地址 varchar(255), 城市 varchar(255), 省份 varchar(255) )
MS Access使用 AUTOINCREMENT 关键字执行自动增量( auto-increment )任务。
默认情况下,AUTOINCREMEN的起始值为1,每个新记录递增 1。
提示:指定“ID”栏以10开头,并递增5,将自动递增( autoincrement )更改为自动递增(105)( AUTOINCREMENT(10,5))。
要在 "Persons" 表中插入新记录,我们不需要为"ID"栏指定值(自动添加唯一值):
INSERT INTO Persons (姓名,城市) VALUES ('王磊','上海市')
上面的 SQL 语句在 "Persons" 表中插入一个新记录。“ID”栏将得到唯一值。"姓名"栏设置为"王磊","城市"栏设置为"上海市"。
用于Oracle中用法
在 Oracle 中,代码有点复杂。
您必须使用序列( sequence )对象(该对象生成数字序列)创建自动增量( auto-increment )字段。
使用以下CREATSEQUENT语法:
CREATE SEQUENCE seq_person MINVALUE 1 START WITH 1 INCREMENT BY 1 CACHE 10
上面的代码创建了一个名为seq_pean的序列( sequence) 对象,它以1开头,以1递增。此对象缓存10个值以提高性能。缓存选项指定要存储多少序列值以提高访问速度。
要在"Persons" 表中插入新记录,我们必须使用nextval函数,该函数从seq_hor序列检索下一个值:
INSERT INTO Persons (ID,姓名,城市) VALUES (seq_person.nextval,'王磊','上海市')
上面的SQL语句在 "Persons" 表中插入一个新记录。"ID" 列从 seq_person 序列中分配下一个数字。"姓名"栏设置为"王磊","城市"栏设置为"上海市"。
原文链接: https://www.yukx.com/moran/article/details/995.html 优科学习网SQL AUTO INCREMENT字段
-
mysql只支持一种join算法:Nested-LoopJoin(嵌套循环连接),但Nested-LoopJoin有三种变种:SimpleNested-LoopJoin,IndexNested-LoopJoin,BlockNested-LoopJoin(简单-索引-缓冲区)原理:1.SimpleNe
-
redis是一个内存数据库,一旦断电或服务器进程退出,内存数据库中的数据将全部丢失,所以需要redis持久化 redis持久化就是把数据保存在磁盘上,利用永久性存储介质将数据保存,在特定的时间将保存的数据进行恢复的工作机制redis提供两种持久化机制RDB:存储数据结果,关注点在数据AOF:存储操作
-
通过SQL的执行过程来介绍MySQL的基础结构. 首先有一个user_info表,表里有一个id字段,执行下面这条查询语句:Select * form user_info where i
-
索引(Index)是帮助MySQL高效获取数据的数据结构,索引的目的在于提高查询效率,就像字典和书籍的目录一样,有了目录,可以帮助你快速查找你需要的内容。可以理解为一个排好序的快速查找数据结构。也就是
-
说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什么要有四个隔离级别。今天我们就先来聊聊MySQL中事务的隔离性的实现原理,后续还会继续出文章分析其他特性的
-
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句