نقطه سرخط

تلفیق دنیای مجازی ,علوم ,احساسات و تجربیات

نقطه سرخط

تلفیق دنیای مجازی ,علوم ,احساسات و تجربیات

مشوش استــ حــالم
خیــال رفتــنـ دارمـ

طبقه بندی موضوعی
آخرین نظرات

۸ مطلب با کلمه‌ی کلیدی «sql» ثبت شده است

تغییر ستون در اسکوال

 

برای تغییر data type ستون , اندازه , مقدار پیشفرض و constraint  از نوع  NOT NULL از دستور ALTER TABLE با عبارت MODIFY  استفاده می کنیم

ALTER TABLE tablename

MODIFY(column datatyp [DEFULT EXPR][NOT NULL][,column datatyp]…);

برای مثال

ALTER TABLE student

MODIFY (Lname varchar , name Nvarchar2);

با استفاده از این دستور می شود اعمال زیر را انجام داد

افزاریش اندازه یک ستون با مقدار اعشار

کاهش اندازه یک ستون اگر جدول خالی یا مقدار ستون NULL باشد

تغییر قدار پیشفرض

تعریف Constraint  از نوع NOT NULL اگر جدول  دارای هیچ مقدار تکراری در ان ستون نبشد

 

با استفاده از دستورALTER TABLE  امکان افزودن ستون جدید وجود دارد

ALTER TABLE tabalename

Add(clumn datatype [DEFULT EXPR][NOT NULL][,clumn datataype..]);

برای نمونه

ALTER TABLE student

Add(Nom NUMBER);

نکاتی که در استفاده از این دستور می بایست بدان توجه ویژه داشت

اول اینکه با استفاده از دستور فوق امکان ایجاد ستون و ستون های جدید در یک جدول وجود دارد

دوم امکان تعریف مقدار پیشفرض برای هر ستون وجود دارد

و سوم اینکه نمی توان محل فیزیکی ستون ها را مشخص کرد و ستون ها به پیشفرض بعد از اخرین ستن جدول ایجاد ی شود

 

ORDER BY clause in SQL

با این دستور میشه فیلد هایی از جدول که با  استفاده از select  میگیریم به صورت  ASC | DESC 

نزولی و صعودی مرتب کنیــم

SELECT column1, SUM(column2) FROM "list-of-tables" ORDER BY "column-list" [ASC | DESC];

[ ] = optional

برای نمونه 

select name,Lname,age,brith from student

where age>10

ORDER BYE age,brith DESC

یا 

select name,Lname,age,brith from student

where age>10

ORDER BYE age,brith ASC

 

GROUP BYE in SQL

GROUP BYE 

این عبارت در دستور select  ردیف های یک جدول را به قسمت های کوچکتر تقسیم می کند در این صورت توابع گروهی به جای اینکه بر روی تمامی ردیف های جدول اعمال بشن بر روی یک گروه خاص تاثیر میزارن 

SELECT column1, 
SUM(column2)
 
FROM "list-of-tables"
 
GROUP BY "column-list";

items_ordered

customerid order_date item quantity price
10330 30-Jun-1999 Pogo stick 1 28.00
10101 30-Jun-1999 Raft 1 58.00
10298 01-Jul-1999 Skateboard 1 33.00
10101 01-Jul-1999 Life Vest 4 125.00
10299 06-Jul-1999 Parachute 1 1250.00
10339 27-Jul-1999 Umbrella 1 4.50
10449 13-Aug-1999 Unicycle 1 180.79
10439 14-Aug-1999 Ski Poles 2 25.50
10101 18-Aug-1999 Rain Coat 1 18.30
10449 01-Sep-1999 Snow Shoes 1 45.00
10439 18-Sep-1999 Tent 1 88.00
10298 19-Sep-1999 Lantern 2 29.00
10410 28-Oct-1999 Sleeping Bag 1 89.22
10438 01-Nov-1999 Umbrella 1 6.75
10438 02-Nov-1999 Pillow 1 8.50
10298 01-Dec-1999 Helmet 1 22.00
10449 15-Dec-1999 Bicycle 1 380.50
10449 22-Dec-1999 Canoe 1 280.00
10101 30-Dec-1999 Hoola Hoop 3 14.75
10330 01-Jan-2000 Flashlight 4 28.00
10101 02-Jan-2000 Lantern 1 16.00
10299 18-Jan-2000 Inflatable Mattress 1 38.00
10438 18-Jan-2000 Tent 1 79.99
10413 19-Jan-2000 Lawnchair 4 32.00
10410 30-Jan-2000 Unicycle 1 192.50
10315 2-Feb-2000 Compass 1 8.00
10449 29-Feb-2000 Flashlight 1 4.50
10101 08-Mar-2000 Sleeping Bag 2 88.70
10298 18-Mar-2000 Pocket Knife 1 22.38
10449 19-Mar-2000 Canoe paddle 2 40.00
10298 01-Apr-2000 Ear Muffs 1 12.50
10330 19-Apr-2000 Shovel 1 16.75
 
 

 

خوب برای مثال محسوس تر این جدول رو در نظر بگیرین 

SELECT quantity, max(price)
 
FROM items_ordered
 
GROUP BY quantity;

 

Aggregate Functions in SQL

دستوراتی که در استفاده از select  به کار میرن 

MIN  کمترین مقدار رو از جدول میگیره و برمی گردونه 

select min(age) from student;  جوونترین دانش اموز رو میگیره 

MAX برخلاف min بیشترین مقدار رو از جدول گرفته و برمیگردونه 

select Max(age) from studetn;   پیرترین دانس اموز رو  میگیره 

SUM جمع همه ی اعدادی رو که تو یک ستون خاص هست رو برمیگردونه 

select sum(age) from student;

avg  مثل sum  هستش فقط بعد این که همه رو با هم جمع کرد بر تعدادشون تقسیم هم میکنه و برمی گردونه 

count : تعداد کل اعداد تو یک ستون رو برمی گردونه 

Count(*): تعداد کل اعداد تو یک ردیف رو برمیگردونه 

مثال مواردی رو هم که ننوشتیم مثل بالایی هاست و دستورات جای sum ,max,min می شینن

 

select از پرکاربرد ترین دستورات سکوال می تونه باش دلیل عمدش هم اینه که شاید تنها دستوریه که می شه باهاش مقادیری رو از جداول پایگاه داده رو نمایش میده 

دستور کلیش به این صورت هستش 

 SELECT [ALL | DISTINCT] column1[,column2] FROM table1[,table2] [WHERE "conditions"] [GROUP BY "column-list"] [HAVING "conditions] [ORDER BY "column-list" [ASC | DESC] ]

 

درسته که یه خورده گیج کننده است ولی با مثال روشن تر میشه البته نکته ای که اینجا باید توجه داشته باشید بهش اینه و دلیلی که کد