• CREATE INDEX
  • ALTER TABLE
  • CREATE TABLE IF NOT EXISTS




    Download 1,82 Mb.
    bet10/20
    Sana27.05.2024
    Hajmi1,82 Mb.
    #254618
    1   ...   6   7   8   9   10   11   12   13   ...   20
    Bog'liq
    4-maruza

    CREATE TABLE IF NOT EXISTS newbook_mast(
    book_id varchar(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    book_name varchar(50),
    isbn_no varchar(15) NOT NULL UNIQUE,
    cate_id varchar(8),
    aut_id varchar(8),
    pub_id varchar(8),
    dt_of_pub date,
    pub_lang varchar(15) DEFAULT “O`zbek adabiyoti”
    no_page decimal(5,0) CHECK(no_page>0),
    book_price decimal(8,2),
    FOREIGN KEY (aut_id) REFERENCES newauthor(aut_id));

    Bu jadvalda book_id maydoniga avtohisoblagich o`rnatilgan birlamchi kalit maydon, pub_lang maydoniga dastlabki qiymat va no_page maydoniga cheklov o`rnatilgan. FOREIGN KEY orqali aut_id maydoni newauthor jadvalining aut_id maydoni orqali ikkilamchi kalit qilingan.


    Jadvaldagi ma`lumotlarni maydonlar bo`yicha qidirish-tanlash amalini yetarli darajada tezlatish uchun ma`lumotlarni berilgan maydon bo`yicha indeksatsiya qilish ishlatiladi. Indekslarni bitta yoki bir nechta maydon bo`yicha bajarish mumkin. Indeks buyuruqining sintaksisi quyidagicha:
    CREATE INDEX ON
    ([,]);

    Bu komanda bajarilishi uchun jadval yaratilgan va indeksda ko`rsatilgan ustunlar unda bo`lishi kerak. Masalan, xodimlar jadvalidan talabani fio maydoni qiymati bo`yicha maoshini qidirish tez-tez talab etilsa, unda shu maydon bo`icha indekslash bajariladi


    CREATE INDEX fio_index ON xodimlar (fio);
    Indeksni olib tashlash uchun (bunda uni nomini albatta bilish kerak) kuyidagi komanda ishlatiladi.
    DROP INDEX ;
    Masalan,
    DROP INDEX ;

    Yaratilib bo`lingan va ko`p hollarda unga ma`lumot kiritilgan jadvallarning tuzilmasini, ya`ni maydonlar bo`yicha tahrirlash ishlarini olib borishga to`g`ri keladi. Bunday amallarni DDL guruhning ALTER TABLE operatori bajaradi. Sodda ko`rinishda qaraladigan bo`lsa, mavjud jadvalga maydon qo`shish (Add) va olib tashlashda (Drop) quyidagi buyruqlardan foydalaniladi. alter table buyrug`ining umumiy ko`rinishi quyidagicha:


    ALTER TABLE r ADD A T;


    ALTER TABLE r DROP D;
    Bu yerda r - mavjud jadval nomi, A - yangi qo`shilgan maydon nomi, T - maydonning tipi, D – o`chiriladigan maydon nomi. Bunda jadvalga yangi kiritilgan maydonning barcha maydonlari null qiymati bilan to`ldirib chiqiladi. Umumiy holda ALTER TABLE operatori sintaksisi quyidagicha:
    ALTER [IGNORE] TABLE jadval_nomi [, ko`rsatma ...]

    Quyida ushbu operator ko`rsatmalar va ular parametrlari keltiriladi:


    ADD – ko`rsatilgan jadvalga yangidan maydon (ma`lumot tipi bilan) va kalitlar qo`shish imkonini beradi. Bu buyuruq bo`yicha mavjud jadval satrlariga yangi ustun qo`shiladi va unga NULL qiymati yoziladi. Jadvalga bir nechta ustun ham ko`shsa, ular bir biridan vergul bilan ajratiladi.

    ADD [COLUMN] create_definition [FIRST | AFTER column_name ]


    ADD [COLUMN] (create_definition, create_definition,...)
    ADD INDEX [index_name] (index_col_name,...)
    ADD PRIMARY KEY (index_col_name,...)
    ADD UNIQUE [index_name] (index_col_name,...)
    ADD FULLTEXT [index_name] (index_col_name,...)
    ADD [CONSTRAINT symb] FOREIGN KEY index_name (ind_col_name,...) [reference_def]
    Alter, Change, Modify – ko`rsatilgan maydonni taxrirlaydi. Ustun tasniflarini modifikatsiyalashda ushbu cheklanishlarni hisobga olish kerak:

    • Not Null o`rnatilishi uchun ustunda birorta ham Null qiymat bulmasligi;

    • Ma`lumot toifasini o`zgartirishni, faqat ustun bo`sh bo`lsa bajarish;

    • To`ldirilmagan ustun uchun o`lcham/aniqlik uzunliklarini o`zgartirish;

    • To`ldirilgan ustun uchun o`lcham/aniqlik faqat kattalashtirish;

    • Sukut bilan o`rnatilgan qiymatni har doim uzunligini o`zgartirish mumkin

    ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}


    CHANGE [COLUMN] old_col_name create_def [FIRST | AFTER col_name]
    MODIFY [COLUMN] create_definition [FIRST | AFTER column_name]


    DROP – ko`rsatilgan maydon va kalitlarni o`chiradi.

    DROP [COLUMN] col_name


    DROP PRIMARY KEY
    DROP INDEX index_name


    RENAME [TO] new_tbl_name – nomini o`zgartiradi.
    ORDER BY col – jadvaldagi ustunlar tartibini belgilaydi.
    table_options –jadval xususiyatlarini o`zgartiradi.
    Eslatma. Alter table operatorida faqat bitta ko`rsatma bajariladi va/yoki ko`rsatmalar vergul orqali ajratiladi. Misollar.



    Download 1,82 Mb.
    1   ...   6   7   8   9   10   11   12   13   ...   20




    Download 1,82 Mb.