SQL教程重溫(9)

2021-07-28 09:43:09 字數 2734 閱讀 9272

auto-increment 會在新記錄插入表中時生成乙個唯一的數字。

我們通常希望在每次插入新記錄時,自動地建立主鍵欄位的值。

我們可以在表中建立乙個 auto-increment 字段。

下面的 sql 語句把 "persons" 表中的 "id" 列定義為 auto-increment 主鍵字段:

create table persons (

id int not null auto_increment,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255),

primary key (id) )

mysql 使用 auto_increment 關鍵字來執行 auto-increment 任務。

預設地,auto_increment 的開始值是 1,每條新記錄遞增 1。

要讓 auto_increment 序列以其他的值起始,請使用下面的 sql 語法:

alter table persons auto_increment=100

要在 "persons" 表中插入新記錄,我們不必為 "id" 列規定值(會自動新增乙個唯一的值):

insert into persons (firstname,lastname)

values ('lars','monsen')

上面的 sql 語句會在 "persons" 表中插入一條新記錄。"id" 列會被賦予乙個唯一的值。"firstname" 列會被設定為 "lars","lastname" 列會被設定為 "monsen"。

下面的 sql 語句把 "persons" 表中的 "id" 列定義為 auto-increment 主鍵字段:

create table persons (

id int identity(1,1) primary key,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255) )

ms sql server 使用 identity 關鍵字來執行 auto-increment 任務。

在上面的例項中,identity 的開始值是 1,每條新記錄遞增 1。

要在 "persons" 表中插入新記錄,我們不必為 "id" 列規定值(會自動新增乙個唯一的值):

insert into persons (firstname,lastname)

values ('lars','monsen')

上面的 sql 語句會在 "persons" 表中插入一條新記錄。"id" 列會被賦予乙個唯一的值。"firstname" 列會被設定為 "lars","lastname" 列會被設定為 "monsen"。

下面的 sql 語句把 "persons" 表中的 "id" 列定義為 auto-increment 主鍵字段:

create table persons (

id integer primary key autoincrement,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255) )

ms access 使用 autoincrement 關鍵字來執行 auto-increment 任務。

預設地,autoincrement 的開始值是 1,每條新記錄遞增 1。

要在 "persons" 表中插入新記錄,我們不必為 "id" 列規定值(會自動新增乙個唯一的值):

insert into persons (firstname,lastname)

values ('lars','monsen')

上面的 sql 語句會在 "persons" 表中插入一條新記錄。"id" 列會被賦予乙個唯一的值。"firstname" 列會被設定為 "lars","lastname" 列會被設定為 "monsen"。

在 oracle 中,**稍微複雜一點。

您必須通過 sequence 物件(該物件生成數字序列)建立 auto-increment 字段。

請使用下面的 create sequence 語法:

create sequence seq_person

minvalue 1

start with 1

increment by 1

cache 10

上面的**建立乙個名為 seq_person 的 sequence 物件,它以 1 起始且以 1 遞增。該物件快取 10 個值以提高效能。cache 選項規定了為了提高訪問速度要儲存多少個序列值。

要在 "persons" 表中插入新記錄,我們必須使用 nextval 函式(該函式從 seq_person 序列中取回下乙個值):

insert into persons (id,firstname,lastname)

values (seq_person.nextval,'lars','monsen')

上面的 sql 語句會在 "persons" 表中插入一條新記錄。"id" 列會被賦值為來自 seq_person 序列的下乙個數字。"firstname"列 會被設定為 "lars","lastname" 列會被設定為 "monsen"。

SQL教程重溫(8)

default 約束用於向列中插入預設值。如果沒有規定其他的值,那麼會將預設值新增到所有的新記錄。下面的 sql 在 persons 表建立時在 city 列上建立 default 約束 my sql sql server oracle ms access create table persons ...

SQL教程重溫(10)

只要您的資料報含的只是日期部分,執行查詢就不會出問題。但是,如果涉及時間部分,情況就有點複雜了。在討論日期查詢的複雜性之前,我們先來看看最重要的內建日期處理函式。下面的 列出了 mysql 中最重要的內建日期函式 函式描述 now 返回當前的日期和時間 curdate 返回當前的日期 curtime...

重溫12年4月9號

今天是2012年4月9號,隨著國考的逼近,壓力漸增,更多的卻是 於不久就要面臨的就業。想努力卻沒有恆心,等到好不容易有了點心態,別人也有了,也就是說跟大部分人始終站在同一起點,很難超越別人。然而年少時隨著年齡的增長,想超越別人的慾望卻愈來愈強。終於明白,只有在你的那個年齡段,做一般人做不到的事,那就...