اسفند ۱۴, ۱۳۹۷ Mostafa بدون دیدگاه

اگر دنبال برنامه نویس برای ساخت افزونه ،قالب،سایت،برنامه ویندوز،اپلیکیشین اندروید،ربات تلگرام و.... هستید ،سفارش برنامه نویسی را مطالعه نمایید.

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

دستور CREATE DATABASE در sql

برای ایجاد یک پایگاه داده جدید از دستور CREATE DATABASE استفاده می شود.

ساختار دستور create database در اسکیوال به صورت زیر است:

    CREATE DATABASE database_name

برای ایجاد یک دیتابیس با نام mySite_db به صورت زیر عمل میکنیم :

    CREATE DATABASE mySite_db

دستور Create Table در sql

برای ایجاد یک جدول جدید در پایگاه داده sql ، از دستور Create Table استفاده می کنیم . برای ایجاد جدول در اسکیوال بایستی نکات زیر را در نظر گرفت :

تعیین یک نام منحصر به فرد برای جدول .
تعیین تعداد ستون های ( فیلد ها ) جدول و نام آنها که نباید تکراری باشد.
تعیین نوع داده ای ستون های جدول و اندازه آنها در صورت نیاز .

ساختار دستور create table در sql در ساده ترین حالت ، به صورت زیر است :

    CREATE TABLE table_name
    (
    column_name1 data_type,
    column_name2 data_type,
    column_name3 data_type,
    ....
    )
    .

 

برای مثال برای ایجاد جدول Persons با فیلدهای زیر به صورت زیر عمل میکنیم :

    CREATE TABLE Persons
    (
    P_Id int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

 

 

دستور Drop در اسکیوال

تمامی جدول ها ، اندیس ها ، و حتی دیتابیس ها میتوانند با دستور Drop در sql حذف شوند. شیوه های استفاده از دستور drop در sql به شرح زیر است :

دستور Drop Index

از دستور DROP INDEX  برای حذف یک اندیس موجود در یک فیلد جدول استفاده می شود.

    DROP INDEX table_name.index_name

دستور Drop Table

از دستور DROP TABLE برای حذف یک جدول در پایگاه داده استفاده می شود.

    DROP TABLE table_name

دستور Drop Database

از دستور DROP DATABASE برای حذف  یک پایگاه داده به صورت کامل استفاده می شود

    DROP DATABASE database_name

دستور TRUNCATE

برای حذف کلیه اطلاعات موجود در یک جدول بدون حذف ستون های آن از دستور TRUNCATE استفاده می کنیم :

    TRUNCATE TABLE table_name

این دستور باعث خالی شدن جدول از اطلاعات می شود ، بدون اینکه خود آن و ساختارش تغییری کند .

مثال :

     Truncate Table Mydb;

دستور Create Index در sql

از دستور Create Index در اسکیوال برای ایجاد اندیس در ستون های جدول استفاده می شود .
در یک جدول می توان برای یک یا چند ستون جدول اندیس ایجاد کرد ، که این اندیس ها باعث بالا رفتن سرعت جستجو در رکوردهای جدول می شود .
اندیس یک شماره است که به هر سطر جدول اختصاص داده می شود و معمولا از صفر شروع می شود . اندیس ها از دید کاربر مخفی هستند و هر اندیس یک نام منحصر به فرد دارد .

برای ایجاد یک اندیس با داده های تکراری به صورت زیر عمل میکنیم :

CREATE INDEX index_name
    ON table_name (column_name)

مثال :

    CREATE INDEX PIndex
    ON Persons (LastName)

برای ایجاد یک اندیس یا index ، با داده های منحصر به فرد (unique) به صورت زیر عمل میکنیم :

    CREATE UNIQUE INDEX index_name
    ON table_name (column_name)

برای ایجاد یک اندیس ( index ) برای بیش از یک فیلد ، باید نام فیلد های مورد نظر را به ترتیب در پرانتز بعد از نام جدول وارد کرد .

    CREATE INDEX PIndex
    ON Persons (LastName, FirstName)

دستور Alter Table در sql

از دستور Alter Table برای اضافه کردن یا حذف کامل یک ستون از یک جدول و یا تغییر نوع داده ی فیلد موجود در پایگاه داده sql استفاده می شود.

اضافه کردن فیلد به جدول در اسکیوال

برای اضافه کردن یک ستون ( فیلد ) جدید به یک جدول موجود در اسکیوال از دستور ALTER TABLE  استفاده می شود:

    ALTER TABLE table_name
    ADD column_name datatype

حذف یک فیلد جدول در sql

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

    ALTER TABLE table_name
    DROP COLUMN column_name

تغییر نوع داده ی یک فیلد جدول در sql

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

    ALTER TABLE table_name
    ALTER COLUMN column_name datatype

همانطور که دیدید ، دستور alter table یکی از مهمترین دستورات در sql است که با ۳ پارامتر  و کلمه ی کلیدی زیر ، تغییرات جدول را با استفاده از کد در sql راحت میکنند :

    ADD
    DROP COLUMN
    DROP COLUMN

 

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

برای تغییر نام فیلد در جدول از تغییر کد باید به روش زیر و با کمک stored procedure های خود اسکیوال ، عمل کرد :

    sp_RENAME 'table_name.old_name' , 'new_name', 'COLUMN'

مثال از تغییر نام ستون و فیلد TerritoryID به TerrID از جدول Sales از پایگاه داده ی Db_name :

    USE Db_name;
    GO
    EXEC sp_rename 'Sales.TerritoryID', 'TerrID', 'COLUMN';
    GO

ایجاد محدودیت برای فیلد ها در اسکیوال (Constraints)

Constraint ها در sql یا همان محدودیت ها در اس کیو ال ، برای محدود کردن نوع داده هایی که میتواند در جدول تعریف شود مورد استفاده قرار میگیرد.

این محدودیت ها را زمانی که یک جدول جدید ایجاد میکنیم یا زمانی که نوع داده ای جدول را تغییر میدهیم بایستی در نظر داشته باشیم.

Constraint های sql شامل موارد زیر میشوند :

    NOT NULL
    UNIQUE
    PRIMARY KEY
    FOREIGN KEY
    CHECK
    DEFAULT

 

محدودیت Primary Key , SQL PRIMARY KEY Constraint یا کلید اصلی در اس کیو ال

از محدودیت Primary Key زمانی استفاده میکنیم که میخواهیم فیلد کلید اصلی در sql ، تعریف کنیم.

محدودیت Primary Key یکی از مهمترین محدودیت‌ها می‌باشد. فیلد کلید، مقدار تکراری قبول نمی‌کند و بیشتر برای تفکیک و جستجوی رکورد‌ها مورد استفاده قرار می‌گیرد.

فیلد کلید اصلی در اسکیوال هیچ وقت Null نمی‌پذیرد. پس ستون Allow Nulls  برای این فیلد نباید چک خورده باشد.
هر جدول فقط می تواند یک کلید اولیه (Primary Key) داشته باشد.

اعمال محدودیت PRIMARY KEY در هنگام ساخت جدول

برای تعریف محدودیت Primary Key در دستور create table از دستور SQL زیر استفاده می کنیم:

    CREATE TABLE Persons
    (
    P_Id int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

برای تعریف محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم:

    CREATE TABLE Persons
    (
    P_Id int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255),
    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
    )

محدودیت PRIMARY KEY پس از ساخته شدن جدول

برای تغییر دادن محدودیت Primary Key روی یک ستون از دستور SQL زیر استفاده می کنیم:

    ALTER TABLE Persons
    ADD PRIMARY KEY (P_Id)

برای تغییر دادن محدودیت Primary Key روی چند ستون از دستور SQL زیر استفاده می کنیم

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

برای از بین بردن یک PRIMARY KEY

برای از بین بردن محدودیت Primary Key یا کلید اصلی ، از دستور SQL زیر پیروی می کنیم:

    ALTER TABLE Persons
    DROP CONSTRAINT pk_PersonID

محدودیت Foreign Key , SQL FOREIGN KEY Constraint یا کلید خارجی در اس کیوال

یک FOREIGN KEY یا کلید خارجی در اسکیوال ، در یک جدول به یک PRIMARY KEY در جدولی دیگر اشاره می کند.

برای ارتباط بین جداول از محدودیت Foreign Key استفاده می‌شود و در اصل Relational Integrity را فراهم می‌کند.
به عبارت ساده تر ، کلید خارجی همان مقدار کلید اصلی از جدول دیگر است.
مقدار یک کلید خارجی میتواند تکراری باشد.

فیلد‌های کلید خارجی ، سه نوع محدودیت را ایجاد می‌کنند :

اجازه حذف رکوردی از جدول پدر نداریم که فرزندی داشته باشد.
اجازه insert رکورد در جدول فرزند با کد پدری که در جدول پدر موجود نیست را نداریم.
مقدار کلید پدری را که دارای فرزند هست را نمی‌توانیم تغییر دهیم.

همچنین محدودیت FOREIGN KEY  از وارد کردن داده های نامعتبر در جدول جلوگیری میکند. (در فیلد foreign key) ، دلیل آن هم، این است که با مقادیر جدول دیگر که به آن اشاره می کند تطابق ندارد.

برای تعریف یک محدودیت FOREIGN KEY در دستور create table ، روی یک ستون از دستور SQL زیر استفاده می کنیم:

    CREATE TABLE Orders
    (
    O_Id int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
    )

برای تعریف یک محدودیت FOREIGN KEY  روی چند ستون از دستور SQL زیر استفاده می کنیم:

    CREATE TABLE Orders
    (
    O_Id int NOT NULL,
    OrderNo int NOT NULL,
    P_Id int,
    PRIMARY KEY (O_Id),
    CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
    REFERENCES Persons(P_Id)
    )

محدودیت FOREIGN KEY پس از ساخته شدن جدول

برای تغییر دادن یک محدودیت FOREIGN KEY  روی یک ستون از دستور SQL زیر استفاده می کنیم:

    ALTER TABLE Orders
    ADD FOREIGN KEY (P_Id)
    REFERENCES Persons(P_Id)

برای تغییر دادن محدودیت FOREIGN KEY  روی چند ستون، از دستور SQL زیر استفاده می کنیم:

    ALTER TABLE Orders
    ADD CONSTRAINT fk_PerOrders
    FOREIGN KEY (P_Id)
    REFERENCES Persons(P_Id)

از بین بردن FOREIGN KEY

برای از بین بردن محدودیت FOREIGN KEY ، از دستور SQL زیر استفاده می کنیم:

    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders

 

 


نظرات

توجه : لطفاً فقط نظرات خود را از این طریق ارسال نمایید و سوالات و مشکلات خود را در انجمن سایت مطرح نمایید.

دیدگاهتان را بنویسید