Master IT
Bine ati venit.Pe acest forum veti gasii tot ce va intereseaza din domeniul IT.Jocuri,filme,muzica,hackuri,tutoriale,tutoriale c++,tutoriale html,tutoriale java script,tutoriale mysql si multe altele.Va asteptam cu mare drag.WWW.MASTERIT.3XFORUM.RO WWW.MASTERIT.3XFORUM.RO WWW.MASTERIT.3XFORUM.RO
|
Nou pe simpatie: bruneta_mara
 | Femeie 24 ani Ialomita cauta Barbat 27 - 64 ani |
|
|
Master ITReguliInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
|
| #1 |
spyrootAdministratorDin: Brasov
Postari: 76
|
|
Iti voi arata in acest tutorial ce sa faci atunci cand rulezi o interogare care iti returneaza un set de rezultate si vrei ca acest set de rezultate sa se salveze intr-o alta tabela care insa nu exista.
Poti fie crea mai intai tabela si apoi s-o populezi cu rezultatele din interogarea ta sau o poti crea in acelasi timp cu interogarea care iti returneaza setul de rezultate.
Daca tabela nu exista o poti crea cu o instructiune CREATE TABLE si apoi sa folosesti o instructiune INSERT ... SELECT pentru a copia setul de rezultate in ea.
A doua posibilitate este sa utilizezi o instructiune CREATE TABLE ... SELECT care va crea tabela de destinatie direct din setul de rezultate returnat de catre instructiunea SELECT.
De exemplu pentru a crea tabela tbl_destinatie si de a copia in ea continutul tabelei tbl_sursa faci in felul urmator:
Code:
CREATE TABLE tbl_destinatie SELECT * FROM tbl_sursa; |
MySQL creeaza tabela cu coloanele exacte din tabela sursa, cu acelasi tip si numar si nume. Daca adaugi o clauza WHERE poti copia doar anumite inregistrari si daca vrei ca tabela sa fie goala, foloseste clauza WHERE care este intotdeauna false.
Code:
CREATE TABLE tbl_destinatie SELECT * FROM tbl_sursa WHERE 0; |
Daca vrei sa copiezi doar anumite coloane, numeste-le in instructiunea SELECT. De exemplu, daca tabela sursa contine campurile a, b, c, d si e si vrei sa copiezi doar campurile c si e, faci in felul urmator:
Code:
CREATE TABLE tbl_destinatie SELECT c, e FROM tbl_sursa |
Pentru a crea tabela cu o alta ordine a campurilor si pornind de la structura urmatoare a tabelei sursa: a, b, c, d, e, faci in felul urmator:
Code:
CREATE TABLE tbl_destinatie SELECT c, e, d, a, b FROM tbl_sursa; |
Daca vrei sa adaugi o coloana noua pe langa cele returnate de setul de rezultate, adaugi coloana/coloanele noi in instuctiunea CREATE TABLE, astfel:
Code:
CREATE TABLE tbl_destinatie
(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
)
SELECT a, b, c FROM tbl_sursa; |
Tabela noua va contine campurile id, a, b, c in aceasta ordine. Id va avea o valoare prestabilita si restul valorile din tabela sursa.
Daca vei folosi in instructiunea SELECT o expresie, este bine sa folosesti un alias pentru ea pentru a nu se crea confuzii in denumire. Iata un exemplu:
Code:
CREATE TABLE tbl_destinatie
SELECT numar, SUM(pret * cantitate) AS cost
FROM tbl_sursa
GROUP BY numar; |
De fapt, din versiunea 4.0 aliasul este obligatoriu nu doar optional.
_______________________________________ Cand esti baiat bun lumea tot de prost te ia.
|
|
| |
|