CREATE TABLE: جداول ساختمان بندی پایه یک بانک اطلاعاتی اند که اطلاعات را در خود جای میدهند . برنامه های بسیاری هستند که بدون استفاده از کد های sql برای شما جدول میسازند . اما یادگیری این دستورات برای کسی که با جداول و دیتابیس کار میکند ضروری است.
قبل از یادگیری گرامر دستوری ساخت جدول ، باید منطق و اصول ساخت جدول را بیاموزید . جداول به سطرها (ROW) و ستون ها (COLUMN) تقسیم میشوند . هر سطر یک رکورد از اطلاعات را در خود جای داده است.هر سطر چند فیلد دارد .
مثال : مثلا کارنامه مدارس را در نظر بگیرید .مثلا ۳ ستون دروس ، نمره و تاریخ دارد و سطر های آن هر کدام شامل سه بخش هستند طبق دسته بندی ستون هایش .
سطر اول : ریاضی – ۱۲ – ۱۲/۳/۱۳۸۴
سطر دوم : فیزیک – ۱۴ – ۱۶/۳/۱۳۸۴
و بهمین ترتیب .پس هر سطر جدول را یک رکورد می نامیم . هر ستون جدول (فیلد) دارای یک نوع داده است . در مثال فوق ستون دروس از نوع string و ستون نمرات از نوع integer و ستون تاریخ از نوع date است . هنگام ساخت جدول که فیلد هایش را مشخص میکنید باید نوع داده ای فیلد ها نیز مشخص گردد. کد ساخت جدول بصورت زیر میباشد :
CREATE TABLE “table_name”
(“column 1″ “data_type_for_column_1″,
“column 2″ “data_type_for_column_2″,
… )
کد ساخت یک جدول نمونه :
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
DROP TABLE : گاهی ما دلمون میخواد که بهر دلیلی از دست یک جدول در پایگاه داده خود راحت شویم . SQL این امکان رو برای ما فراهم کرده و ما میتونیم برای پاک کردنش از کد زیر استفاده کنیم .
DROP TABLE “table_name”
مثال :
DROP TABLE customer.
TRUBCATE TABLE : گاهی ما میخواهیم که اطلاعات داخل یک جدول رو پاک کنیم . اما نمیخواهیم خود جدول پاک شود. برای اینکار ازین دستور کمک میگیریم
TRUNCATE TABLE “table_name”
مثال :
TRUNCATE TABLE customer.
INSERT INTO : برای ورود اطلاعات داخل یک جدول دو راه وجود دارد. یکی اینکه رکورد ها را تک تک وارد کنیم (سطر به سطر) و یکی اینکه یکدفعه چندین سطر را وارد جدول کنیم . برای وارد کردن اطلاعات بصورت سطر به سطر با کد زیر عمل میکنیم .
INSERT INTO “table_name” (“column1″, “column2″, …)
VALUES (“value1″, “value2″, …)
فرض کنید جدول با ساختار زیر داریم .
Table Store_Information
|
نام ستون ها |
نوع داده ستون |
|
store_name |
char(50) |
|
Sales |
float |
|
Date |
datetime |
و حالا ما میخواهیم یک رکورد(سطر) اطلاعات وارد جدول فروش کنیم . با مشخصات ذیل : لوس آنجلس – ۱۰ ژانویه ۱۹۹۹ و فروش ۹۰۰$ . بنابرین کد زیر را استفاده میکنیم.
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES (‘Los Angeles’, 900, ‘Jan-10-1999′)
نوع دوم از ورود اطلاعات وارد کردن چندین سطر با هم میباشد . بر خلاف بخش قبلی ، ما از کلمه SELECT برای مشخص کردن داده هایی که میخواهیم وارد جدول کنیم استفاده میکنیم . اگر فکر کرده اید که این اطلاعات از جدول دیگری در حال کپی در این جدول است درست فکر کرده اید.
INSERT INTO “table_name” (“column1″, “column2″, …)
SELECT “column1″, “column2″, …
FROM “table1″
توجه کنید که کد بالا ساده ترین حالت ممکن بود .جمله select شما می تواند دارای کلمات where , Group by , Having باشد .
بطور مثال اگر ما جدولی داشته باشیم که بخواهیم اطلاعات فروش سال ۱۹۹۸ را بگیرد و هم اکنون جدول دیگری دارید که اطلاعات تمام سال های ۱۹۹۵ تا ۲۰۰۰ را شامل میشود و اگر ساختار دو جدول یکسان باشد باید تایپ کنید :
INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998
در اینجا من اطلاعات را بر اساس یک تاریخ استخراج کردم و در جدول دیگری کپی کردم. اگر رابطه ها را در حالات دیگر بسازید کمی با این حالت فرق دارد . برای مثال در اوراکل تکه آخر کد بصورت زیر در میاید :
WHERE to_char(date,’yyyy’)=1998
UPDATE : گاهی ما در یک جدول اطلاعاتی داریم و میخواهیم مقداری را در جدول تغییر دهیم .برای اینکار از دستور UPDATE استفاده می کنیم .
UPDATE “table_name”
SET “column_1″ = [new value]
WHERE {condition}
مثال : ما جدول زیر را داریم .
Table Store_Information
|
store_name |
Sales |
Date |
|
Los Angeles |
$1500 |
Jan-05-1999 |
|
San Diego |
$250 |
Jan-07-1999 |
|
Los Angeles |
$300 |
Jan-08-1999 |
|
Boston |
$700 |
Jan-08-1999 |
مثلا ما متوجه میشویم که مقدار فروش فروشگاه لوس آنجلس در تاریخ ۰۱/۰۸/۱۹۹۹ در اصل ۵۰۰$ بوده و باید این مقدار را در جدول تصحیح کنیم . برای اینکار از کد زیر استفاده میکنیم.
UPDATE Store_Information
SET Sales = 500
WHERE store_name = “Los Angeles”
AND Date = “Jan-08-1999″
بعد از اجرای کد بالا مقادیر جدول بصورت زیر در میاید .
Table Store_Information
|
store_name |
Sales |
Date |
|
Los Angeles |
$1500 |
Jan-05-1999 |
|
San Diego |
$250 |
Jan-07-1999 |
|
Los Angeles |
$500 |
Jan-08-1999 |
|
Boston |
$700 |
Jan-08-1999 |
در جدول مذکور فقط یک رکورد بود که تاریخش Jan-08-1999 و نام فروشگاهش Los Angeles باشد . اگر لچند رکورد با این مشخصات وجود داشت نیز تمام آنها مقدارشان تغییر میکرد . در مثال فوق فوق یک رکورد وجود داشت با مشخصاتی که ما دادیم و فقط هم یک فیلدش را تغییر دادیم .
این امکان وجود دارد که مقدار چند فیلد را به یکباره تغییر دهیم . برای اینکار از گرامر کد زیر استفاده میشود .
UPDATE TABLE “table_name”
SET (“column_1″, “column_2″) = ([new value 1], [new value 2])
WHERE {condition}
UPDATE : برای پاک کردن یک رکورد از جدول ازین کد استفاده میکنیم .
DELETE FROM “table_name”
WHERE {condition}
مثال : جدول زیر را داریم .
Table Store_Information
|
store_name |
Sales |
Date |
|
Los Angeles |
$1500 |
Jan-05-1999 |
|
San Diego |
$250 |
Jan-07-1999 |
|
Los Angeles |
$300 |
Jan-08-1999 |
|
Boston |
$700 |
Jan-08-1999 |
فرض کنید بخواهیم اطلاعات فروشگاه لوس آنجلس را پاک کنیم . برای اینکار از کد زیر استفاده میکنیم .
DELETE FROM Store_Information
WHERE store_name = “Los Angeles”
نتیجه:
Table Store_Information
|
store_name |
Sales |
Date |
|
San Diego |
$250 |
Jan-07-1999 |
|
Boston |
$700 |
Jan-08-1999 |
با سلام و تشکر از زحمتی که میکشید . پیشنهاد میکنم سریعتر مفاهیم اولیه را به پایان رسانده و بحثهای تخصصی تر همچون function , stroed procedure , transaction ها که شاید تعداد زیادی از افراد مبتدی مثل من با اون مشکل دارن عنوان نمایید
ضمن نفس کار شما تمام ستاره هاش رنگیه
متشکرم
با سلام و تشکر
انشاالله به زودی مقالات دیگر ارائه خواهد شد