فهرست سرفصل‌های SQL
خانه (HOME) مقدمه (Intro) نحو (Syntax) انتخاب (Select) انتخاب یکتا (Select Distinct) شرط WHERE (Where) مرتب سازی (Order By) و منطقی (And) یا منطقی (Or) نفی (Not) درج (Insert Into) مقادیر Null (Null Values) به روزرسانی (Update) حذف (Delete) انتخاب برتر (Select Top) توابع تجمعی (Aggregate Functions) کمینه و بیشینه (Min and Max) شمارش (Count) جمع (Sum) میانگین (Avg) الگویابی (Like) کاراکترهای عام (Wildcards) عضویت (In) بین (Between) نام مستعار (Aliases) جوین ها (Joins) اینر جوین (Inner Join) لفت جوین (Left Join) رایت جوین (Right Join) فول جوین (Full Join) سلف جوین (Self Join) یونیون (Union) یونیون آل (Union All) گروه بندی (Group By) Having (Having) وجود (Exists) Any, All (Any, All) انتخاب به جدول جدید (Select Into) درج از انتخاب (Insert Into Select) Case (Case) توابع Null (Null Functions) رویه های ذخیره شده (Stored Procedures) کامنت ها (Comments) عملگرها (Operators) ساخت پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) پشتیبان گیری (Backup DB) ساخت جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) غیرتهی (Not Null) یکتا (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) Check (Check) پیش فرض (Default) ایندکس (Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) تزریق SQL (SQL Injection) میزبانی (Hosting) انواع داده (Data Types) کلیدواژه ها (SQL Keywords) ADD (ADD) ADD CONSTRAINT (ADD CONSTRAINT) ALL (ALL) ALTER (ALTER) ALTER COLUMN (ALTER COLUMN) ALTER TABLE (ALTER TABLE) AND (AND) ANY (ANY) AS (AS) ASC (ASC) BACKUP DATABASE (BACKUP DATABASE) BETWEEN (BETWEEN) CASE (CASE) CHECK (CHECK) COLUMN (COLUMN) CONSTRAINT (CONSTRAINT) CREATE (CREATE) CREATE DATABASE (CREATE DATABASE) CREATE INDEX (CREATE INDEX) CREATE OR REPLACE VIEW (CREATE OR REPLACE VIEW) CREATE TABLE (CREATE TABLE) CREATE PROCEDURE (CREATE PROCEDURE) CREATE UNIQUE INDEX (CREATE UNIQUE INDEX) CREATE VIEW (CREATE VIEW) DATABASE (DATABASE) DEFAULT (DEFAULT) DELETE (DELETE) DESC (DESC) DISTINCT (DISTINCT) DROP (DROP) DROP COLUMN (DROP COLUMN) DROP CONSTRAINT (DROP CONSTRAINT) DROP DATABASE (DROP DATABASE) DROP DEFAULT (DROP DEFAULT) DROP INDEX (DROP INDEX) DROP TABLE (DROP TABLE) DROP VIEW (DROP VIEW) EXEC (EXEC) EXISTS (EXISTS) FOREIGN KEY (FOREIGN KEY) FROM (FROM) FULL OUTER JOIN (FULL OUTER JOIN) GROUP BY (GROUP BY) HAVING (HAVING) IN (IN) INDEX (INDEX) INNER JOIN (INNER JOIN) INSERT INTO (INSERT INTO) INSERT INTO SELECT (INSERT INTO SELECT) IS NULL (IS NULL) IS NOT NULL (IS NOT NULL) JOIN (JOIN) LEFT JOIN (LEFT JOIN) LIKE (LIKE) LIMIT (LIMIT) NOT (NOT) NOT NULL (NOT NULL) OR (OR) ORDER BY (ORDER BY) OUTER JOIN (OUTER JOIN) PRIMARY KEY (PRIMARY KEY) PROCEDURE (PROCEDURE) RIGHT JOIN (RIGHT JOIN) ROWNUM (ROWNUM) SELECT (SELECT) SELECT DISTINCT (SELECT DISTINCT) SELECT INTO (SELECT INTO) SELECT TOP (SELECT TOP) SET (SET) TABLE (TABLE) TOP (TOP) TRUNCATE TABLE (TRUNCATE TABLE) UNION (UNION) UNION ALL (UNION ALL) UNIQUE (UNIQUE) UPDATE (UPDATE) VALUES (VALUES) VIEW (VIEW) WHERE (WHERE) توابع MySQL (MySQL Functions) ASCII (ASCII) CHAR_LENGTH (CHAR_LENGTH) CHARACTER_LENGTH (CHARACTER_LENGTH) CONCAT (CONCAT) CONCAT_WS (CONCAT_WS) FIELD (FIELD) FIND_IN_SET (FIND_IN_SET) FORMAT (FORMAT) INSERT (INSERT) INSTR (INSTR) LCASE (LCASE) LEFT (LEFT) LENGTH (LENGTH) LOCATE (LOCATE) LOWER (LOWER) LPAD (LPAD) LTRIM (LTRIM) MID (MID) POSITION (POSITION) REPEAT (REPEAT) REPLACE (REPLACE) REVERSE (REVERSE) RIGHT (RIGHT) RPAD (RPAD) RTRIM (RTRIM) SPACE (SPACE) STRCMP (STRCMP) SUBSTR (SUBSTR) SUBSTRING (SUBSTRING) SUBSTRING_INDEX (SUBSTRING_INDEX) TRIM (TRIM) UCASE (UCASE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATAN2 (ATAN2) AVG (AVG) CEIL (CEIL) CEILING (CEILING) COS (COS) COT (COT) COUNT (COUNT) DEGREES (DEGREES) DIV (DIV) EXP (EXP) FLOOR (FLOOR) GREATEST (GREATEST) LEAST (LEAST) LN (LN) LOG (LOG) LOG10 (LOG10) LOG2 (LOG2) MAX (MAX) MIN (MIN) MOD (MOD) PI (PI) POW (POW) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SUM (SUM) TAN (TAN) TRUNCATE (TRUNCATE) ADDDATE (ADDDATE) ADDTIME (ADDTIME) CURDATE (CURDATE) CURRENT_DATE (CURRENT_DATE) CURRENT_TIME (CURRENT_TIME) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) CURTIME (CURTIME) DATE (DATE) DATEDIFF (DATEDIFF) DATE_ADD (DATE_ADD) DATE_FORMAT (DATE_FORMAT) DATE_SUB (DATE_SUB) DAY (DAY) DAYNAME (DAYNAME) DAYOFMONTH (DAYOFMONTH) DAYOFWEEK (DAYOFWEEK) DAYOFYEAR (DAYOFYEAR) EXTRACT (EXTRACT) FROM_DAYS (FROM_DAYS) HOUR (HOUR) LAST_DAY (LAST_DAY) LOCALTIME (LOCALTIME) LOCALTIMESTAMP (LOCALTIMESTAMP) MAKEDATE (MAKEDATE) MAKETIME (MAKETIME) MICROSECOND (MICROSECOND) MINUTE (MINUTE) MONTH (MONTH) MONTHNAME (MONTHNAME) NOW (NOW) PERIOD_ADD (PERIOD_ADD) PERIOD_DIFF (PERIOD_DIFF) QUARTER (QUARTER) SECOND (SECOND) SEC_TO_TIME (SEC_TO_TIME) STR_TO_DATE (STR_TO_DATE) SUBDATE (SUBDATE) SUBTIME (SUBTIME) SYSDATE (SYSDATE) TIME (TIME) TIME_FORMAT (TIME_FORMAT) TIME_TO_SEC (TIME_TO_SEC) TIMEDIFF (TIMEDIFF) TIMESTAMP (TIMESTAMP) TO_DAYS (TO_DAYS) WEEK (WEEK) WEEKDAY (WEEKDAY) WEEKOFYEAR (WEEKOFYEAR) YEAR (YEAR) YEARWEEK (YEARWEEK) BIN (BIN) BINARY (BINARY) CASE (CASE) CAST (CAST) COALESCE (COALESCE) CONNECTION_ID (CONNECTION_ID) CONV (CONV) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) DATABASE (DATABASE) IF (IF) IFNULL (IFNULL) ISNULL (ISNULL) LAST_INSERT_ID (LAST_INSERT_ID) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SYSTEM_USER (SYSTEM_USER) USER (USER) VERSION (VERSION) توابع SQL Server (SQL Server Functions) ASCII (ASCII) CHAR (CHAR) CHARINDEX (CHARINDEX) CONCAT (CONCAT) اتصال با + (Concat with +) CONCAT_WS (CONCAT_WS) DATALENGTH (DATALENGTH) DIFFERENCE (DIFFERENCE) FORMAT (FORMAT) LEFT (LEFT) LEN (LEN) LOWER (LOWER) LTRIM (LTRIM) NCHAR (NCHAR) PATINDEX (PATINDEX) QUOTENAME (QUOTENAME) REPLACE (REPLACE) REPLICATE (REPLICATE) REVERSE (REVERSE) RIGHT (RIGHT) RTRIM (RTRIM) SOUNDEX (SOUNDEX) SPACE (SPACE) STR (STR) STUFF (STUFF) SUBSTRING (SUBSTRING) TRANSLATE (TRANSLATE) TRIM (TRIM) UNICODE (UNICODE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATN2 (ATN2) AVG (AVG) CEILING (CEILING) COUNT (COUNT) COS (COS) COT (COT) DEGREES (DEGREES) EXP (EXP) FLOOR (FLOOR) LOG (LOG) LOG10 (LOG10) MAX (MAX) MIN (MIN) PI (PI) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SQUARE (SQUARE) SUM (SUM) TAN (TAN) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) DATEADD (DATEADD) DATEDIFF (DATEDIFF) DATEFROMPARTS (DATEFROMPARTS) DATENAME (DATENAME) DATEPART (DATEPART) DAY (DAY) GETDATE (GETDATE) GETUTCDATE (GETUTCDATE) ISDATE (ISDATE) MONTH (MONTH) SYSDATETIME (SYSDATETIME) YEAR (YEAR) CAST (CAST) COALESCE (COALESCE) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) IIF (IIF) ISNULL (ISNULL) ISNUMERIC (ISNUMERIC) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SESSIONPROPERTY (SESSIONPROPERTY) SYSTEM_USER (SYSTEM_USER) USER_NAME (USER_NAME) توابع MS Access (MS Access Functions) Asc (Asc) Chr (Chr) اتصال با & (Concat with &) CurDir (CurDir) Format (Format) InStr (InStr) InstrRev (InstrRev) LCase (LCase) Left (Left) Len (Len) LTrim (LTrim) Mid (Mid) Replace (Replace) Right (Right) RTrim (RTrim) Space (Space) Split (Split) Str (Str) StrComp (StrComp) StrConv (StrConv) StrReverse (StrReverse) Trim (Trim) UCase (UCase) Abs (Abs) Atn (Atn) Avg (Avg) Cos (Cos) Count (Count) Exp (Exp) Fix (Fix) Format (Number) Int (Int) Max (Max) Min (Min) Randomize (Randomize) Rnd (Rnd) Round (Round) Sgn (Sgn) Sqr (Sqr) Sum (Sum) Val (Val) Date (Date) DateAdd (DateAdd) DateDiff (DateDiff) DatePart (DatePart) DateSerial (DateSerial) DateValue (DateValue) Day (Day) Format (Date) Hour (Hour) Minute (Minute) Month (Month) MonthName (MonthName) Now (Now) Second (Second) Time (Time) TimeSerial (TimeSerial) TimeValue (TimeValue) Weekday (Weekday) WeekdayName (WeekdayName) Year (Year) کاربر جاری (CurrentUser) Environ (Environ) IsDate (IsDate) IsNull (IsNull) IsNumeric (IsNumeric) راهنمای سریع (SQL Quick Ref) نمونه ها (SQL Examples) ویرایشگر آنلاین (SQL Editor) کوییز (SQL Quiz) تمرین ها (SQL Exercises) سرور (SQL Server) سیلابس (SQL Syllabus) برنامه مطالعه (SQL Study Plan) بوت کمپ (SQL Bootcamp) گواهینامه (SQL Certificate) آموزش شرکتی (SQL Training)
نتیجه‌ای برای جستجو یافت نشد.
SQL

SQL — پیش فرض (Default)

آخرین بروزرسانی: 1404/08/17

پیش فرض (Default)

اینجا درباره «مقدار پیش فرض (Default)» صحبت می کنیم. «قید (Constraint)» یعنی قانونی روی ستون یا جدول. مقدار «پیش فرض» وقتی استفاده می شود که کاربر چیزی وارد نکند. مثل نمره واردنشده که خودکار صفر می شود.

قید DEFAULT چیست؟

«قید DEFAULT» برای یک ستون مقدار خودکار تعیین می کند. اگر رکورد جدید مقدار ندهد، همین مقدار ذخیره می شود. بنابراین فرم های ناقص هم قابل ذخیره هستند.

DEFAULT هنگام ساخت جدول

در این نمونه، ستون City در جدول Persons مقدار Sandnes را به صورت پیش فرض می گیرد.

MySQL / SQL Server / Oracle / MS Access

CREATE TABLE Persons
(
  ID int NOT NULL;
  LastName varchar(255) NOT NULL;
  FirstName varchar(255);
  Age int;
  City varchar(255) DEFAULT 'Sandnes';
);

مشاهده در ادیتور

DEFAULT با مقدارهای سیستمی

می توان مقدار پیش فرض را با توابع سیستمی گذاشت. مانند تاریخِ امروز در ستون OrderDate.

CREATE TABLE Orders
(
  ID int NOT NULL;
  OrderNumber int NOT NULL;
  OrderDate date DEFAULT GETDATE();
);

مشاهده در ادیتور

افزودن DEFAULT با ALTER TABLE

اگر جدول قبلاً ساخته شده است، می توان قید پیش فرض را بعداً افزود.

MySQL

ALTER TABLE Persons
ALTER City SET DEFAULT 'Sandnes';

مشاهده در ادیتور

SQL Server

ALTER TABLE Persons
ADD CONSTRAINT df_City
DEFAULT 'Sandnes' FOR City;

مشاهده در ادیتور

MS Access

ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'Sandnes';

مشاهده در ادیتور

Oracle

ALTER TABLE Persons
MODIFY City DEFAULT 'Sandnes';

مشاهده در ادیتور

نکته: نام گذاری قید در SQL Server با CONSTRAINT انجام می شود. سپس حذفش آسان تر می شود.

حذف قید DEFAULT

برای حذف، از دستورهای زیر استفاده کن. دقت کن نحو در سیستم ها متفاوت است.

MySQL

ALTER TABLE Persons
ALTER City DROP DEFAULT;

مشاهده در ادیتور

SQL Server / Oracle / MS Access

ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;

مشاهده در ادیتور

تمرین گام به گام

  1. یک جدول با ستون City بساز.
  2. برای City مقدار پیش فرض تعیین کن.
  3. یک ردیف بدون City اضافه کن.
  4. مقدار ثبت شده City را بررسی کن.

نکته: برای قوانینِ داده، صفحه Check را ببین. سپس برای بهبود سرعت جست وجو، ایندکس را بررسی کن. همچنین از «مقدار پیش فرض» در فرم ها هوشمندانه استفاده کن.

جمع بندی سریع

  • DEFAULT وقتی مقدار نیست، کمک می کند.
  • می توان با تابع سیستمی مقدار داد.
  • افزودن با ALTER هم ممکن است.
  • حذف در هر سیستم کمی فرق دارد.
  • نام گذاری قید مدیریت را ساده می کند.