ساخت یک جدول (Table) جدید، با CREATE TABLE ، در SQL
هنگامی که قصد داریم یک جدول (Table) جدید در SQL بسازیم، باید نام جدول (Table) و همچنین تعداد و نام و نوع ذخیره اطلاعات (Data Type) ستون های (Column) جدول مورد نظرمان را بدانیم تا این مشخصات را در query بنویسیم (نام ها به صورت اختیاری انتخاب می شوند).
قبل از هر چیز، باید نام جدول (Table) و همچنین تعداد ستون های (Column) مورد نظرتان برای جدول (Table) و نام ستون ها (Column) را به صورت اختیاری، انتخاب نمایید.
سپس باید ببینید که در هر ستون (Column)، چه نوع اطلاعاتی (Data Type) قرار است که ذخیره گردد و بر اساس آن، نوع ذخیره اطلاعات (Data Type) ستون (Column) را مشخص می کنید.
تمام این مواردی که ذکر کردیم، باید در یک query نوشته شده و سپس query مورد نظر اجرا گردد تا جدول (Table) با ستون های (Column) تعیین شده و مشخصاتی که برای جدول (Table) و ستون های (Column) آن در نظر گرفته ایم، ساخته شود.
در این کلید آموزشی قصد نداریم که همه انواع اطلاعات (Data Type) قابل ذخیره در ستون های (Column) جدول (Table) را شرح بدهیم، بلکه صرفا دو نوع INT و VARCHAR را شرح خواهیم داد تا بر اساس آنها، query مربوط به ساخت یک جدول (Table) جدید را آموزش بدهیم، بنابراین همه انواع اطلاعات (Data Type) قابل ذخیره در ستون های (Column) جدول (Table) را در یک کلید آموزشی دیگر شرح خواهیم داد.
اگر قصد داریم که فقط اعداد صحیح (Integer) را در یک ستون (Column) از جدول (Table) ذخیره کنیم (اعداد صحیح از 2147483648- تا 2147483647 و یا اعداد صحیح از 0 تا 4294967295 در حالتی دیگر)، باید نوع اطلاعات (Data Type) آن ستون (Column) را برابر INT انتخاب نماییم (البته نوع های دیگری هم برای اعداد صحیح به کار می روند که فعلا آنها را ذکر نمی کنیم).
اگر قصد داریم که ((متن)) در یک ستون (Column) از جدول (Table) ذخیره گردد (که می تواند شامل عدد و یا تنها عدد به صورت متن نیز باشد)، باید نوع اطلاعات (Data Type) آن ستون (Column) را برابر VARCHAR انتخاب نماییم (البته نوع های دیگری هم برای متن به کار می روند که فعلا آنها را ذکر نمی کنیم).
اکنون که با دو نوع اطلاعات INT و VARCHAR آشنا شدید، قصد داریم که بر اساس آنها، چند query مربوط به ساخت جدول (Table) جدید را مثال بزنیم.
ساخت یک جدول (Table) با دو ستون (Column) از نوع INT و یک ستون (Column) از نوع VARCHAR :
قصد داریم یک جدول (Table) جدید با نام kelidestan_table بسازیم که دارای 3 ستون (Column) با نام های kelidestan_id و kelidestan_text و kelidestan_number بوده، که دو تای آنها از نوع INT و یکی از آنها از نوع VARCHAR باشد. برای این منظور، query زیر را می نویسیم :
که در آن، طول ستون (Column) از نوع VARCHAR برابر 50 انتخاب شده است که باعث می شود بتوانیم 50 کاراکتر زبان انگلیسی را در آن ذخیره کنیم (برای سایر زبان ها ممکن است کمتر باشد، مثلا نصف این تعداد، یعنی 25 کاراکتر. در آینده که با زبان فارسی کار کنید، این موضوع را متوجه خواهید شد).
تعیین اینکه ستون ها (Column) مقادیر NULL را برای ذخیره شدن قبول نکنند :
حال قصد داریم که در همان query قبلی، تعیین کنیم که ستون ها (Column) مقادیر NULL را برای ذخیره شدن قبول نکنند. برای این منظور، NOT NULL را برای ستون ها (Column) در query ذکر می کنیم :
تعیین موتور ذخیره سازی اطلاعات (Engine) برای جدول (Table) :
برای ذخیره سازی اطلاعات در جدول (Table)، چند نوع موتور ذخیره سازی اطلاعات (Engine) وجود دارد که با استفاده از عبارت ENGINE در query ، می توانیم آن را مشخص کنیم. بنابراین همان query قبلی را به صورت زیر می نویسیم :
که در آن، موتور ذخیره سازی اطلاعات (Engine) برابر MyISAM تعیین شده است :
تعیین Collation پیش فرض برای ذخیره سازی کاراکترها در ستون های (Column) جدول (Table) :
وقتی نوع اطلاعاتی (Data Type) که در یک ستون (Column) از جدول (Table) ذخیره می شوند، از نوع مربوط به ذخیره کاراکتر (مثل نوع VARCHAR) باشند (ذخیره متن به صورت تعدادی کاراکتر)، آنگاه باید Collation مربوط به ذخیره سازی کاراکترها در آن ستون (Column) از جدول (Table) مشخص شده باشد، در غیر این صورت، از Collation پیش فرض تعیین شده برای جدول (Table) برای آن ستون استفاده می شود، یا حتی اگر Collation پیش فرض برای جدول (Table) نیز تعیین نشده باشد، یک Collation پیش فرض کلی برای آن ستون ها (Column) در نظر گرفته می شود.
Collation مناسب برای ذخیره سازی متن فارسی در یک ستون (Column)، برابر utf8_general_ci می باشد.
برای تعیین Collation پیش فرض (Default) برای جدول (Table)، باید query قبلی را به صورت زیر بنویسیم :
که در آن، عبارت زیر به query اضافه شده و Collation پیش فرض (Default) جدول (Table)، برابر utf8_general_ci (که به اختصار utf8 بیان می شود) تعیین شده است :
تعیین Collation برای یک ستون (Column) خاص از جدول (Table) :
برای تعیین Collation برای یک ستون (Column) خاص از جدول (Table)، باید عبارت CHARACTER SET utf8 را برای آن ستون (Column) ذکر نماییم (utf8 برای utf8_general_ci می باشد)، بنابراین query قبلی را به صورت زیر می نویسیم :
دقت کنید که عبارت CHARACTER SET utf8 باید قبل از عبارت NOT NULL برای آن ستون (Column) ذکر گردد :
Collation مناسب برای ذخیره سازی متن فارسی در یک ستون (Column)، برابر utf8_general_ci می باشد.
تعیین مقدار پیش فرض (Default) برای مقدار مربوط به یک ستون (Column) :
هنگامی که یک ردیف (Row) جدید در جدول (Table) قرار داده می شود، اگر برای یک ستون (Column)، مقداری تعیین نشده باشد، چنانچه در تعریف ستون (Column) مورد نظر، مقدار پیش فرضی (Default) در نظر گرفته شده باشد، آنگاه آن مقدار پیش فرض به عنوان مقدار در آن ستون (Column) قرار می گیرد.
به عنوان مثال، فرض کنید که بخواهیم ستون (Column) سوم، دارای مقدار پیش فرض (Default) برابر عدد 0 باشد، بنابراین query قبلی را به صورت زیر می نویسیم :
که در آن، عبارت زیر برای آن ستون (Column) ذکر شده است :
تععین یک ستون (Column) به صورت AUTO_INCREMENT (برای ایجاد id های منحصربفرد) :
اگر قصد دارید که یک ستون (Column) به صورت AUTO_INCREMENT باشد (برای ایجاد id های منحصربفرد که به صورت اعداد پشت سر هم و با افزایش یک واحدی خواهند بود)، باید عبارت AUTO_INCREMENT PRIMARY KEY را برای آن ذکر نمایید (باید PRIMARY KEY نیز برای آن ذکر گردد) :
بنابراین ستون (Column) اول به صورت AUTO_INCREMENT خواهد بود :
بنابراین سعی کردیم که برخی از بخش های مهم query مربوط به ساخت یک جدول (Table) جدید را برای شما به صورت جزء به جزء شرح بدهیم تا از هر یک از آنها که مورد نیازتان است، در query دلخواه خود استفاده نمایید.
- فهرست مباحث
- 1 معرفی زبان SQL برای کار با پایگاه های داده (Database)
- 2 اجرای دستورات (query های) SQL ، با استفاده از phpMyAdmin موجود در نرم افزار شبیه ساز سرور (Server) نصب شده بر روی کامپیوتر شخصی
- 3 آشنایی با مفاهیم پایگاه داده (Database)، جدول (Table)، ستون (Column) و ردیف (Row) و نکاتی در مورد طراحی آنها، در SQL
- 4 ساخت یک پایگاه داده (Database) جدید، با استفاده از CREATE DATABASE ، در SQL
- 5 کاربرد علامت ` (کاراکتر Backtick)، در SQL
- 6 قواعد اولیه نوشتن query ها، در SQL
- 7 حذف یک پایگاه داده (Database)، با استفاده از DROP DATABASE ، در SQL
- 8 ساخت یک جدول (Table) جدید، با CREATE TABLE ، در SQL
- 9 حذف کردن یک جدول (Table)، با عبارت DROP TABLE ، در SQL
- 10 درج یک ردیف (Row) جدید در جدول (Table)، با INSERT INTO ، در SQL
- 11 خواندن تمام ردیف های (Row) یک جدول (Table)، با SELECT * FROM ، در SQL
- 12 خواندن ردیف هایی (Row) از یک جدول (Table)، بر اساس شرطی بر مبنای مقدار یک یا چند ستون (Column)، با SELECT ... FROM ... WHERE ، در SQL
-
نکته : این فهرست مباحث، صرفا منتخبی از کلیدهای آموزشی این موضوع است (که خواندن متوالی آنها توصیه می شود) و برای دیدن کلیدهای آموزشی بیشتر از این موضوع، می توانید بر روی دسته بندی های ستون سمت راست کلیک نمایید.