กวดวิชาSQL

SQL HOME บทนำ SQL ไวยากรณ์ SQL SQL Select SQL Select Distinct SQL ที่ไหน SQL และหรือไม่ใช่ คำสั่ง SQL โดย SQL แทรกลงใน ค่าว่างของ SQL SQL Update SQL Delete SQL Select Top SQL Min และ Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL ใน SQL ระหว่าง นามแฝงของ SQL การรวม SQL SQL Inner Join SQL เข้าร่วมด้านซ้าย SQL Right Join SQL เข้าร่วมแบบเต็ม เข้าร่วมด้วยตนเองของ SQL SQL Union กลุ่ม SQL โดย SQL มี SQL Exists SQL ใด ๆ ทั้งหมด SQL Select Into แทรก SQL ลงใน Select กรณี SQL ฟังก์ชัน SQL Null กระบวนงานที่เก็บไว้ของ SQL ข้อคิดเห็นของ SQL ตัวดำเนินการ SQL

ฐานข้อมูลSQL

SQL สร้าง DB SQL Drop DB ฐานข้อมูลสำรองของ SQL SQL สร้างตาราง SQL Drop Table SQL Alter Table ข้อจำกัดของ SQL SQL ไม่ใช่ Null SQL Unique คีย์หลักของ SQL คีย์ต่างประเทศของ SQL SQL Check SQL Default ดัชนี SQL SQL Auto Increment SQL Dates มุมมอง SQL การฉีด SQL SQL Hosting ประเภทข้อมูล SQL

การอ้างอิงSQL

คีย์เวิร์ด SQL ฟังก์ชัน MySQL ฟังก์ชันเซิร์ฟเวอร์ SQL ฟังก์ชัน MS Access SQL Quick Ref

ตัวอย่างSQL

ตัวอย่าง SQL แบบทดสอบ SQL แบบฝึกหัด SQL ใบรับรอง SQL

ฟิลด์การเพิ่มอัตโนมัติของ SQL


สนามเพิ่มอัตโนมัติ

การเพิ่มอัตโนมัติช่วยให้สามารถสร้างหมายเลขเฉพาะได้โดยอัตโนมัติเมื่อมีการแทรกระเบียนใหม่ลงในตาราง

บ่อยครั้งนี่คือฟิลด์คีย์หลักที่เราต้องการสร้างโดยอัตโนมัติทุกครั้งที่มีการแทรกเรกคอร์ดใหม่


ไวยากรณ์สำหรับ MySQL

คำสั่ง SQL ต่อไปนี้กำหนดคอลัมน์ "Personid" ให้เป็นฟิลด์คีย์หลักที่เพิ่มค่าอัตโนมัติในตาราง "บุคคล":

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL ใช้AUTO_INCREMENTคำหลักเพื่อดำเนินการคุณลักษณะการเพิ่มอัตโนมัติ

โดยค่าเริ่มต้น ค่าเริ่มต้นสำหรับAUTO_INCREMENTคือ 1 และจะเพิ่มขึ้น 1 สำหรับแต่ละระเบียนใหม่

เพื่อให้AUTO_INCREMENTลำดับเริ่มต้นด้วยค่าอื่น ให้ใช้คำสั่ง SQL ต่อไปนี้:

ALTER TABLE Persons AUTO_INCREMENT=100;

ในการแทรกระเบียนใหม่ลงในตาราง "บุคคล" เราจะไม่ต้องระบุค่าสำหรับคอลัมน์ "บุคคล" (ค่าที่ไม่ซ้ำกันจะถูกเพิ่มโดยอัตโนมัติ):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

คำสั่ง SQL ด้านบนจะแทรกระเบียนใหม่ลงในตาราง "บุคคล" คอลัมน์ "Personid" จะได้รับการกำหนดค่าที่ไม่ซ้ำ คอลัมน์ "FirstName" จะถูกตั้งค่าเป็น "Lars" และคอลัมน์ "LastName" จะถูกตั้งค่าเป็น "Monsen"


ไวยากรณ์สำหรับ SQL Server

คำสั่ง SQL ต่อไปนี้กำหนดคอลัมน์ "Personid" ให้เป็นฟิลด์คีย์หลักที่เพิ่มค่าอัตโนมัติในตาราง "บุคคล":

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS SQL Server ใช้IDENTITYคำสำคัญเพื่อดำเนินการคุณลักษณะการเพิ่มอัตโนมัติ

ในตัวอย่างข้างต้น ค่าเริ่มต้น IDENTITYคือ 1 และจะเพิ่มขึ้น 1 สำหรับแต่ละระเบียนใหม่

เคล็ดลับ:ในการระบุว่าคอลัมน์ "Personid" ควรเริ่มต้นที่ค่า 10 และเพิ่มขึ้นทีละ 5 ให้เปลี่ยนIDENTITY(10,5)เป็น

ในการแทรกระเบียนใหม่ลงในตาราง "บุคคล" เราจะไม่ต้องระบุค่าสำหรับคอลัมน์ "บุคคล" (ค่าที่ไม่ซ้ำกันจะถูกเพิ่มโดยอัตโนมัติ):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

คำสั่ง SQL ด้านบนจะแทรกระเบียนใหม่ลงในตาราง "บุคคล" คอลัมน์ "Personid" จะได้รับการกำหนดค่าที่ไม่ซ้ำ คอลัมน์ "FirstName" จะถูกตั้งค่าเป็น "Lars" และคอลัมน์ "LastName" จะถูกตั้งค่าเป็น "Monsen"



ไวยากรณ์สำหรับการเข้าถึง

คำสั่ง SQL ต่อไปนี้กำหนดคอลัมน์ "Personid" ให้เป็นฟิลด์คีย์หลักที่เพิ่มค่าอัตโนมัติในตาราง "บุคคล":

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS Access ใช้AUTOINCREMENTคำสำคัญเพื่อดำเนินการคุณลักษณะการเพิ่มอัตโนมัติ

โดยค่าเริ่มต้น ค่าเริ่มต้นสำหรับAUTOINCREMENTคือ 1 และจะเพิ่มขึ้น 1 สำหรับแต่ละระเบียนใหม่

เคล็ดลับ:ในการระบุว่าคอลัมน์ "Personid" ควรเริ่มต้นที่ค่า 10 และเพิ่มขึ้นทีละ 5 ให้เปลี่ยนการเพิ่มค่าอัตโนมัติ AUTOINCREMENT(10,5)เป็น

ในการแทรกระเบียนใหม่ลงในตาราง "บุคคล" เราจะไม่ต้องระบุค่าสำหรับคอลัมน์ "บุคคล" (ค่าที่ไม่ซ้ำกันจะถูกเพิ่มโดยอัตโนมัติ):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

คำสั่ง SQL ด้านบนจะแทรกระเบียนใหม่ลงในตาราง "บุคคล" คอลัมน์ "Personid" จะได้รับการกำหนดค่าที่ไม่ซ้ำ คอลัมน์ "FirstName" จะถูกตั้งค่าเป็น "Lars" และคอลัมน์ "LastName" จะถูกตั้งค่าเป็น "Monsen"


ไวยากรณ์สำหรับ Oracle

ใน Oracle รหัสนั้นซับซ้อนกว่าเล็กน้อย

คุณจะต้องสร้างฟิลด์การเพิ่มอัตโนมัติด้วยวัตถุลำดับ (วัตถุนี้สร้างลำดับตัวเลข)

ใช้CREATE SEQUENCEไวยากรณ์ต่อไปนี้:

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

โค้ดด้านบนสร้างอ็อบเจ็กต์ลำดับที่เรียกว่า seq_person ซึ่งเริ่มต้นด้วย 1 และจะเพิ่มขึ้นทีละ 1 และจะแคชถึง 10 ค่าสำหรับประสิทธิภาพ ตัวเลือกแคชระบุจำนวนค่าลำดับที่จะเก็บไว้ในหน่วยความจำเพื่อการเข้าถึงที่รวดเร็วยิ่งขึ้น

ในการแทรกระเบียนใหม่ลงในตาราง "บุคคล" เราจะต้องใช้ฟังก์ชัน nextval (ฟังก์ชันนี้จะดึงค่าถัดไปจากลำดับ seq_person):

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

คำสั่ง SQL ด้านบนจะแทรกระเบียนใหม่ลงในตาราง "บุคคล" คอลัมน์ "Personid" จะได้รับหมายเลขถัดไปจากลำดับ seq_person คอลัมน์ "FirstName" จะถูกตั้งค่าเป็น "Lars" และคอลัมน์ "LastName" จะถูกตั้งค่าเป็น "Monsen"