Жок кылуу жана кыскартуунун ортосундагы айырма

Жок кылуу жана кыскартуунун ортосундагы айырма
Жок кылуу жана кыскартуунун ортосундагы айырма

Video: Жок кылуу жана кыскартуунун ортосундагы айырма

Video: Жок кылуу жана кыскартуунун ортосундагы айырма
Video: Түйүлдүк качан жана эмне үчүн кыймылдайт? 2024, Ноябрь
Anonim

Жок кылуу жана Кыскартуу

SQL (Түзүмдүк суроо тили) буйруктары тең, Жок кылуу жана Кыскартуу маалымат базасындагы таблицаларда сакталган маалыматтардан арылуу үчүн колдонулат. Delete - бул DML (Data Manipulation Language) билдирүүсү жана ал таблицадагы кээ бир же бардык саптарды жок кылат. "Кайда пункту" жок кылынышы керек болгон саптарды көрсөтүү үчүн колдонулат, ал эми кайда пункту Delete оператору менен колдонулбаса, ал таблицадагы бардык маалыматтарды жок кылат. Truncate - бул DDL (Data Definition Language) билдирүүсү жана ал таблицадагы маалыматтарды толугу менен жок кылат. Бул буйруктардын экөө тең таблицанын структурасын жана таблицага шилтемелерди жок кылбайт жана керек болсо маалыматтар гана алынып салынат.

Белдирүүнү жок кылуу

Delete оператору колдонуучуга берилген шарттын негизинде берилиштер базасындагы бар таблицадан маалыматтарды алып салууга мүмкүндүк берет жана бул шартты аныктоо үчүн "Кайда пункту" колдонулат. Жок кылуу буйругу журналга жазылган аткаруу деп аталат, анткени ал бир эле учурда бир сапты жок кылат жана транзакциялар журналында ар бир сапты өчүрүү үчүн жазууну сактайт. Демек, бул операциянын жайыраак болушуна алып келет. Жок кылуу - бул DML билдирүүсү, ошондуктан ал буйрукту аткарууда автоматтык түрдө аткарылбайт. Ошондуктан, талап кылынса, кайра маалыматтарга жетүү үчүн өчүрүү операциясын артка жылдырса болот. Жок кылуу буйругу аткарылгандан кийин, өзгөртүүлөрдү биротоло сактоо үчүн ал аткарылышы же артка кайтарылышы керек. Delete оператору таблицанын таблица структурасын маалымат базасынан алып салбайт. Ошондой эле ал таблица колдонгон эс мейкиндигин бөлүштүрбөйт.

Жок кылуу буйругунун типтүү синтаксиси төмөндө келтирилген.

ДАН ЖОЮУ

же

КАЙДАГЫ ЖОК

Кыскартуу

Truncate оператору маалымат базасындагы бар таблицадагы бардык маалыматтарды жок кылат, бирок ал ошол эле таблицанын структурасын, ошондой эле бүтүндүк чектөөлөрүн, кирүү артыкчылыктарын жана башка таблицалар менен болгон мамилелерди сактайт. Ошентип, таблицаны кайра аныктоо талап кылынбайт жана колдонуучу таблицаны кайра колдонууну кааласа, эски таблица структурасын колдонсо болот. Truncate дайындарды сактоо үчүн колдонулган маалымат барактарын бөлүштүрүү аркылуу бүт маалыматтарды жок кылат жана транзакциялар журналында ушул барактарды бөлүштүрүү гана сакталат. Ошондуктан, кыскартуу буйругу иштөө үчүн системанын жана транзакция журналынын ресурстарын азыраак гана колдонот, ошондуктан ал башка тиешелүү буйруктарга караганда ылдамыраак. Truncate - бул DDL буйругу, андыктан ал билдирүү аткарылганга чейин жана кийин авто милдеттенмелерди колдонот. Демек, кыскартуу кандайдыр бир жол менен маалыматтарды кайра артка жылдыра албайт. Ал аткарылгандан кийин таблица тарабынан колдонулган эс мейкиндигин бошотот. Бирок Truncate билдирүүсүн чет элдик ачкыч чектөөлөрү менен шилтемеленген таблицаларда колдонууга болбойт.

Төмөнкү - Кыскартуу билдирүүсү үчүн жалпы синтаксис.

ТАБЛИЦАНЫ КЫСКЫРУУ

Жок кылуу менен кыскартуунун ортосунда кандай айырма бар?

1. Жок кылуу жана Кыскартуу буйруктары таблицанын структурасына же таблицага башка шилтемелерге зыян келтирбестен, берилиштерди базадагы бар таблицалардан жок кылат.

2. Бирок, Жок кылуу буйругун тиешелүү шартты колдонуу менен таблицадагы белгилүү саптарды гана жок кылуу үчүн же бардык саптарды эч кандай шартсыз жок кылуу үчүн колдонсо болот, ал эми Кыскартуу буйругун таблицадагы маалыматтарды толугу менен жок кылуу үчүн гана колдонсо болот.

3. Жок кылуу - бул DML буйругу жана ал керек болсо операцияны артка жылдыра алат, бирок Кыскартуу - DDL буйругу, андыктан бул автоматтык түрдө аткаруу билдирүүсү жана аны эч кандай түрдө артка жылдыруу мүмкүн эмес. Андыктан бул буйрукту маалымат базасын башкарууда кылдаттык менен колдонуу маанилүү.

4. Кыскартуу операциясы Жок кылуу операциясына караганда система ресурстарын жана транзакциялар журналынын ресурстарын азыраак сарптайт, андыктан Кыскартуу Жок кылууга караганда тезирээк деп эсептелет.

5. Ошондой эле, Delete таблица тарабынан колдонулган мейкиндикти бошотпойт, ал эми Кыскартуу аткарылгандан кийин колдонулган мейкиндикти бошотот, андыктан Өчүрүү маалымат базасынын таблицасынан бардык маалыматтарды жок кылган учурда натыйжалуу болбойт.

6. Бирок, таблицага чет өлкөлүк ачкыч чектөөсү менен шилтеме берилгенде Кыскартууну колдонууга уруксат берилбейт жана мындай учурда, Кыскартуунун ордуна Жок кылуу буйругун колдонсо болот.

7. Акыр-аягы, бул буйруктардын экөөнүн тең артыкчылыктары жана кемчиликтери бар, аларды Маалымат базасын башкаруу тутумдарында колдонуучу жакшы натыйжаларга жетүү үчүн бул буйруктарды туура колдонууну билиши керек.

Сунушталууда: