CREATE TABLE:
جداول ساختمان بندی پایه یک بانک اطلاعاتی اند که اطلاعات را در خود جای میدهند . برنامه های بسیاری هستند که بدون استفاده از کد های sql برای شما جدول میسازند . اما یادگیری این دستورات برای کسی که با جداول و دیتابیس کار میکند ضروری است.
قبل از یادگیری گرامر دستوری ساخت جدول ، باید منطق و اصول ساخت جدول را بیاموزید . جداول به سطرها (ROW) و ستون ها (COLUMN) تقسیم میشوند . هر سطر یک رکورد از اطلاعات را در خود جای داده است.هر سطر چند فیلد دارد .
مثال : مثلا کارنامه مدارس را در نظر بگیرید .مثلا 3 ستون دروس ، نمره و تاریخ دارد و سطر های آن هر کدام شامل سه بخش هستند طبق دسته بندی ستون هایش .
نام درس |
نمره |
تاریخ |
ریاضی |
12 |
5/3/1385 |
علوم |
15 |
10/3/1385 |
و بهمین ترتیب .پس هر سطر جدول را یک رکورد می نامیم . هر ستون جدول (فیلد) دارای یک نوع داده است . در مثال فوق ستون دروس از نوع string و ستون نمرات از نوع integer و ستون تاریخ از نوع date است . هنگام ساخت جدول که فیلد هایش را مشخص میکنید باید نوع داده ای فیلد ها نیز مشخص گردد. کد ساخت جدول بصورت زیر میباشد :
CREATE TABLE "table_name" ("column 1" "data_type_for_column_1", "column 2" "data_type_for_column_2", ... )
کد ساخت یک جدول نمونه :
CREATE TABLE Student (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date date)
DROP TABLE :
یک طراح پایگاه داده گاهی اوقات می خواهد که یکی از جداول موجود درپایگاه داده خودرا پاک کند، وبرای این کارازکدزیراستفاده می کند.
DROP TABLE "table_name"
مثال :
DROP TABLE Student.
TRUBCATE TABLE :
گاهی اوقات یک طراح می خواهد که اطلاعات داخل یک جدول را بدون ازدست دادن جدول پاک کند وبرای این کاراز دستورزیراستفاده می کند:
TRUNCATE TABLE "table_name"
مثال :
TRUNCATE TABLE Student.
INSERT INTO :
برای ورود اطلاعات به داخل یک جدول دوراه وجود دارد:
ü راه اول وارد کردن رکوردها به صورت تک تک( سطربه سطر )
ü راه دوم وارد کردن اطلاعات چند سطربه صورت یک باره
برای وارد کردن اطلاعات بصورت سطر به سطر با کد زیر عمل میکنیم .
INSERT INTO "table_name" ("column1", "column2", ...) VALUES ("value1", "value2", ...)
فرض کنید جدول با ساختار زیر داریم .
Table Store_Information
نام ستون ها |
نوع داده ستون |
store_name |
char(50) |
Sales |
float |
Date |
datetime |
و حالا ما میخواهیم یک رکورد(سطر) اطلاعات وارد جدول دانش آموزان کنیم . با مشخصات ذیل :محمد امینی – 19 – 10/2/1385 . بنابرین کد زیر را استفاده میکنیم.
INSERT INTO Student_Information (Studen_name, Mark, Date) VALUES ("mohamad amini", 19, "1385/2/10")
نوع دوم از ورود اطلاعات وارد کردن چندین سطر با هم میباشد . بر خلاف بخش قبلی ، ما از کلمه SELECT برای مشخص کردن داده هایی که میخواهیم وارد جدول کنیم استفاده میکنیم . اگر فکر کرده اید که این اطلاعات از جدول دیگری در حال کپی در این جدول است درست فکر کرده اید.
INSERT INTO "table_name" ("column1", "column2", ...) SELECT "column1", "column2", ... FROM "table1"
توجه کنید که کد بالا ساده ترین حالت ممکن بود .جمله select شما می تواند دارای کلمات where , Group by , Having باشد .
به طورمثال اگرما جدولی داشته باشیم که بخواهیم اطلاعات نمرات دانش آموزان سال 85 را بگیرد وهم اکنون جدول دیگری داریم که اطلاعات سالهای 80تا 85 را شامل می شود و اگرساختار هردوجدول یکی باشد می توانیم تایپ کنیم:
INSERT INTO Student_Information (Student_name, Mark, Date) SELECT Student_name,Mark, Date FROM Student WHERE Year(Date) = 1385
در اینجا من اطلاعات را بر اساس یک تاریخ استخراج کردم و در جدول دیگری کپی کردم. اگر رابطه ها را در حالات دیگر بسازید کمی با این حالت فرق دارد . برای مثال در اوراکل تکه آخر کد بصورت زیر در میاید :
WHERE to_char(date,"yyyy")=1385
UPDATE :
گاهی ما در یک جدول اطلاعاتی داریم و میخواهیم مقداری را در جدول تغییر دهیم .برای اینکار از دستور UPDATE استفاده می کنیم .
UPDATE "table_name" SET "column_1" = [new value] WHERE {condition}
مثال : ما جدول زیر را داریم .
Table Student_Information
Student_name |
Mark |
Date |
Mohamd amini |
19 |
10/2/1385 |
Yas amini |
17 |
9/2/1385 |
Mona Alipoor |
18 |
9/3/1385 |
Maryam hasanee |
15 |
8/2/1385 |
برای اینکار از کد زیر استفاده میکنیم.
UPDATE Student_Information SET Mark = 18 WHERE Student_name = “mohamd amini" AND Date = "9/5/1385"
بعد از اجرای کد بالا مقادیر جدول بصورت زیر در میاید .
Table Student_Information
Student_name |
Mark |
Date |
Mohamd amini |
19 |
9/5/1385 |
Yas amini |
17 |
9/2/1385 |
Mona Alipoor |
18 |
9/3/1385 |
Maryam hasanee |
15 |
8/2/1385 |
در جدول مذکور فقط یک رکورد با این مشخصات وجودداشت . اگر چند رکورد با این مشخصات وجود داشت نیز تمام آنها مقدارشان تغییر میکرد . در مثال فوق یک رکورد وجود داشت با مشخصاتی که ما دادیم و فقط هم یک فیلدش را تغییر دادیم .
این امکان وجود دارد که مقدار چند فیلد را به یکباره تغییر دهیم . برای اینکار از کد زیر استفاده میشود .
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 Student_Information
Student_name |
Mark |
Date |
Mohamd amini |
19 |
10/2/1385 |
Yas amini |
17 |
9/2/1385 |
Mona Alipoor |
18 |
9/3/1385 |
Maryam hasanee |
15 |
8/2/1385 |
فرض کنید بخواهیم اطلاعات جدول زیر را پاک کنیم . برای اینکار از کد زیر استفاده میکنیم .
DELETE FROM Student_Information WHERE Student_name = "Maryam hasanee"
نتیجه:
Table Student_Information
Student_name |
Mark |
Date |
Mohamd amini |
19 |
10/2/1385 |
Yas amini |
17 |
9/2/1385 |
Mona Alipoor |
18 |
9/3/1385 |
|