فهرست سرفصل‌های MySQL
خانه (HOME) مقدمه (Intro) پایگاه داده رابطه ای (RDBMS) SQL (SQL) SELECT (SELECT) WHERE (WHERE) عملگرهای AND, OR, NOT (AND, OR, NOT) مرتب سازی (ORDER BY) افزودن رکورد (INSERT INTO) مقادیر NULL (NULL Values) بروزرسانی (UPDATE) حذف (DELETE) محدودیت تعداد (LIMIT) کمینه و بیشینه (MIN and MAX) COUNT، AVG، SUM (COUNT, AVG, SUM) LIKE (LIKE) کاراکترهای عام (Wildcards) IN (IN) BETWEEN (BETWEEN) نام های مستعار (Aliases) اتصال ها (Joins) INNER JOIN (INNER JOIN) LEFT JOIN (LEFT JOIN) RIGHT JOIN (RIGHT JOIN) CROSS JOIN (CROSS JOIN) خود-اتصالی (Self Join) UNION (UNION) UNION ALL (UNION ALL) گروه بندی (GROUP BY) HAVING (HAVING) EXISTS (EXISTS) ANY و ALL (ANY, ALL) INSERT SELECT (INSERT SELECT) CASE (CASE) توابع Null (Null Functions) کامنت ها (Comments) عملگرها (Operators) ایجاد پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) ایجاد جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) Not Null (Not Null) منحصر به فرد (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) CHECK (Check) پیش فرض (Default) ایندکس (Create Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) انواع داده (Data Types) توابع (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) مثال ها (MySQL Examples) ویرایشگر (MySQL Editor) آزمون (MySQL Quiz) تمارین (MySQL Exercises) سرفصل (MySQL Syllabus) برنامه مطالعه (MySQL Study Plan) گواهینامه (MySQL Certificate)
نتیجه‌ای برای جستجو یافت نشد.
MySQL

MySQL — نماها (Views)

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

نماها (Views)

«نما (View)» یک جدول مجازی است. یعنی نتیجه یک کوئری مثل یک جدول دیده می شود. ستون ها و سطرها واقعی نیستند؛ اما داده ها همیشه به روز برمی گردند.

ایجاد نما با CREATE VIEW

با دستور CREATE VIEW می توانیم نتیجه یک SELECT را مثل جدول ببینیم.

CREATE VIEW view_name AS
SELECT column1, column2
FROM table_name
WHERE condition;

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

نکته: نما همیشه داده به روز نشان می دهد؛ هر بار پرس وجو، دوباره ساخته می شود.

نمونه های CREATE VIEW

نمای مشتریان کشور برزیل:

CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';

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

کوئری گرفتن از نما:

SELECT *
FROM [Brazil Customers];

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

نمای محصولات با قیمت بالاتر از میانگین:

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);

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

کوئری گرفتن از این نما:

SELECT *
FROM [Products Above Average Price];

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

به روزرسانی نما با CREATE OR REPLACE VIEW

می خواهیم ستون شهر را به نمای «Brazil Customers» اضافه کنیم.

CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';

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

حذف نما با DROP VIEW

حذف یک نما بسیار ساده است.

DROP VIEW view_name;

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

مثال حذف نمای «Brazil Customers»:

DROP VIEW [Brazil Customers];

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

جمع بندی سریع

  • نما جدولِ مجازی از یک SELECT است.
  • داده نما همیشه به روز است.
  • با CREATE VIEW نما بساز؛ با DROP VIEW حذف کن.
  • برای تغییر، از CREATE OR REPLACE VIEW استفاده کن.

مطالب مرتبط: تاریخ ها (Dates) برای فیلترهای زمانی. همچنین نما در MySQL به عنوان مرجع همین بخش.