Avatar billede trp79 Nybegynder
16. september 2004 - 09:51 Der er 15 kommentarer og
2 løsninger

Få oversigt over tabeller mv.

Hejsa
Er det muligt i MySQL 4.0 at gøre følgende ved hjælp af SQL sætninger:
1) Få en liste over hvilke tabeller man har oprettet i databasen?
2) Få en liste over hvilke tabeller man ellers har adgang til?
3) Få en liste over kolonner i en given tabel?
4) At navngive en forespørgsel og bruge den (fx "expression expA = select * from tabelA;", og bruge den ved fx "create table b expA;"
5) At få en liste over de navngivne forespørgsler?

Der er 6 point til hvert spørgsmål. På forhånd tak, mvh
Torben
Avatar billede mahler Nybegynder
16. september 2004 - 09:52 #1
ad 1)
show tables;
Avatar billede mahler Nybegynder
16. september 2004 - 09:53 #2
ad 3)
desc <tabelnavn>;
Avatar billede mahler Nybegynder
16. september 2004 - 09:55 #3
ad 2)
Hmm...

ad 2)
i databasen "mysql" (som altid findes), ligger tabellen db, og der kan du finde svaret:

select db from db where user='<dit brugernavn>';

Hvis der står "%" har du adgang til alle databaser.
Avatar billede minau Nybegynder
16. september 2004 - 10:06 #4
Hvis du har adgang til php så prøv phpmyadmin

http://www.phpmyadmin.net/home_page/


et fulkomment værktøj til admin af sql DB
Avatar billede trp79 Nybegynder
16. september 2004 - 10:12 #5
--> Mahler
Du bliver nok lige nød til at forklare din sidste kommentar lidt mere, da jeg ikke kan få "select db from db where user='<dit brugernavn>';" til at virke.
Avatar billede trp79 Nybegynder
16. september 2004 - 10:13 #6
Jeg får en "no database selected" error.
Avatar billede mahler Nybegynder
16. september 2004 - 10:15 #7
Du skal være i databasen, der hedder "mysql" for at den virker.

use mysql;
select db from db where user='<dit brugernavn>';
Avatar billede trp79 Nybegynder
16. september 2004 - 10:16 #8
DESC kan jeg heller ikke får til at virke :(
Avatar billede mahler Nybegynder
16. september 2004 - 10:19 #9
Er du sikker på du har valgt en database?

Prøv "show databases;" til at starte med og så
"use <databasenavn>;". Så kan du bruge desc(ribe).
Avatar billede trp79 Nybegynder
16. september 2004 - 10:25 #10
Underligt. Jeg kan godt sige "show databases", "use Skole", men ved "desc(tabel)" får jeg en [root@localhost:3306] ERROR 1064: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'tabel)' at line 1
Avatar billede mahler Nybegynder
16. september 2004 - 10:26 #11
use Skole;
show tables;

Hvad giver det?
Avatar billede trp79 Nybegynder
16. september 2004 - 10:32 #12
emp (som er den tabel jeg kaldte "tabel" før - gjorde det for at vise det var en tabel jeg havde som argument til desc), auto, dept, og queryres
Avatar billede mahler Nybegynder
16. september 2004 - 10:37 #13
og virker:

use Skole;
desc emp;

så ikke?
Avatar billede trp79 Nybegynder
16. september 2004 - 10:41 #14
Jo selvfølgelig!
Jeg brugte parantes: desc(ribe)
og det skulle man selvfølgelig ikke som du også skrev i din kommentar 16/09-2004 09:53:27 - beklager du :(
Avatar billede trp79 Nybegynder
16. september 2004 - 10:57 #15
Der er ikke nogen, der har en ide til 4) og 5) ?
Avatar billede mahler Nybegynder
16. september 2004 - 11:02 #16
"Stored procedures and functions are a new feature in MySQL version 5.0."

http://dev.mysql.com/doc/mysql/en/Stored_Procedures.html

Vi er kun nået til 4.x.x serien :-(
Avatar billede trp79 Nybegynder
24. oktober 2004 - 12:35 #17
Det er super - mange tak for hjælpen. Beklager iøvrigt, at jeg havde forlagt spørgmålet indtil nu.

Mvh
Torben
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester