Kā nomest kolonnu no SQLite tabulas

Ka Nomest Kolonnu No Sqlite Tabulas



Datu bāze tiek izmantota lietojumprogrammu datu glabāšanai strukturētā formātā. Ir daudz datu bāzes rīku, lai saglabātu lietojumprogrammas datus tabulas formātā. SQLite ir viens no tiem. Tas ir ļoti viegls datu bāzes rīks, un to galvenokārt izmanto mobilo lietojumprogrammu ieviešanai. SQL sintakse SQLite datu bāzēm, lai veiktu dažāda veida datu bāzes darbības, nedaudz atšķiras no citiem standarta datu bāzes rīkiem, piemēram, MySQL, Oracle, SQL Server utt. Sqlite3 pēc noklusējuma ir instalēts operētājsistēmā Linux. Tātad, jums tas nav jāinstalē. Šajā apmācībā ir parādīta metode vienas vai vairāku kolonnu nomešanai no SQLite tabulas.

Priekšnosacījums:

Pirms šīs apmācības SQLite priekšrakstu praktizēšanas jums ir jāveic šādi uzdevumi:

A. Palaidiet šo komandu, lai izveidotu SQLite failu ar nosaukumu “company.db”, kurā ir datu bāzes tabulas:







sqlite3 company.db

B. Palaidiet šo SQLite komandu, lai pārbaudītu, vai datu bāze ir izveidota vai nav:



.datu bāzes

C. Palaidiet šo SQL priekšrakstu, lai izveidotu tabulu ar nosaukumu “products”. Tabulā ir pieci lauki un viena primārā atslēga:



IZVEIDOT TABULA produktiem (
id VESELS SKAITLIS PRIMĀRS ATSLĒGA ,
nosaukums TEKSTS NAV NULL UNIKĀLS ,
VEIDS TEKSTS NAV NULL ,
zīmols TEXT NAV NULL ,
cena INETEGER NAV NULL ) ;

D. Palaidiet šo SQL priekšrakstu, lai izveidotu tabulu ar nosaukumu “piegādātāji”. Tabulā ir pieci lauki, viena primārā atslēga un viena ārējā atslēga. Tātad tabula “produkti” un tabula “piegādātāji” ir savienotas ar ārējo atslēgu:





IZVEIDOT TABULA Piegādātāji (
id VESELS SKAITLIS PRIMĀRS ATSLĒGA ,
nosaukums TEKSTS NAV NULL UNIKĀLS ,
adrese TEXT NAV NULL ,
zīmols TEXT NAV NULL ,
product_id INETEGER NAV NULL ,
ĀRZEMES ATSLĒGA ( product_id ) ATSAUCES produktiem ( id ) ) ;

E. Palaidiet vajadzīgās komandas, lai formatētu izvadi, un pārbaudiet tabulas “produkti” struktūru ar galveni un tabulas formu.

Šī komanda parāda izvades galveni:



.header ieslēgts

Šī komanda parāda kolonnu izvadi:

.mode kolonna

Šī komanda tabulas veidā parāda “produktu” tabulas struktūru:

pragma table_info ( 'produkti' ) ;

Tabulas “Produkti” struktūra ir parādīta nākamajā attēlā ar virsrakstu:

Sintakse:

Tālāk ir norādīta SQL komandas sintakse, lai nomestu tabulas kolonnu. Paziņojums ALTER TABLE tiek izmantots, lai dzēstu vai pievienotu tabulas kolonnu.

ALTER TABULA TABLE_NAME NOLIETOT KOLONNA kolonnas_nosaukums;

Dažādi piemēri kolonnas nomešanai no SQLite tabulas

Trīs veidi, kā izmest kolonnu no SQLite tabulas, ir parādīti šajā apmācības daļā.

1. piemērs: nometiet kolonnu no tabulas

Izpildiet šo ALTER TABLE priekšrakstu, lai noņemtu lauku “zīmols” no “product s ' tabula:

ALTER TABULA produktiem NOLIETOT KOLONNA Zīmols;

Palaidiet šo SQLite komandu, lai pārbaudītu, vai lauks “zīmols” ir izdzēsts no tabulas “products”:

pragma table_info ( 'produkti' ) ;

Izvade parāda, ka lauks “zīmols” ir noņemts no tabulas “products”.

2. piemērs: nometiet kolonnu no tabulas, kas ir primārā atslēga

Primārā atslēga tiek izmantota tabulā, lai identificētu katru ierakstu atsevišķi. Tātad primāro nevar izmest no tabulas un parādās kļūda, ja primārās atslēgas lauka noņemšanai tiek izmantots priekšraksts ALTER TABLE. Palaidiet šo ALTER TABLE priekšrakstu, lai noņemtu lauku “id” no tabulas “products”, kas ir tabulas primārā atslēga:

ALTER TABULA produktiem NOLIETOT KOLONNA id;

Ja vēlaties nomest tabulas primāro atslēgu, tiek parādīta šāda kļūda:

3. piemērs: nometiet no tabulas kolonnu, kas ir svešā atslēga

Tāpat kā primāro atslēgu, arī tabulas ārējo atslēgu nevar atmest, kamēr nav noņemta saistība starp tabulām. Izpildiet šo ALTER TABLE priekšrakstu, lai noņemtu lauku “product_id” no tabulas “suppliers”, kas ir svešs tabulai:

ALTER TABULA Piegādātāji NOLIET KOLONNA product_id;

Ja vēlaties nomest tabulas ārējo atslēgu, tiek parādīta šāda kļūda:

Secinājums

Šajā apmācībā ir parādīti trīs dažādu veidu piemēri, lai izmestu kolonnu no SQLite tabulas, kurā tiek pārbaudīts, vai tabulas primārās un ārējās atslēgas laukus nevar atmest.