Go to content Go to navigation Go to search
Kategori: SQL

: Webbaseret administration af MySQL med SQL Buddy

2008-09-23 07:24 af Thomas Damgaard Nielsen - Kommentarer

SQL Buddy

SQL Buddy ser ud til at være et interessant projekt. Det er tilsyneladende et alternativ til phpMyAdmin. Det ser ud til at være en markant pænere GUI end phpMyAdmin.
Jeg kender så godt som intet til det ud over hvad der står på websitet. Jeg har ikke prøvet det endnu.

Det er dejligt at se lidt konkurrence på det punkt. Jeg har aldrig været helt den store fan af phpMyAdmin.

Kategori: HOWTO

: Nulstil glemt MySQL root password

2008-09-01 07:52 af Thomas Damgaard Nielsen - Kommentarer

MySQL logo

Hvis du har glemt root password til din MySQL-database, kan du nulstille det ved at følge denne lille guide. Bemærk at denne procedure kræver, at du har root-adgang til selve operativsystemet, hvor serveren kører på.

Stop mysqld:

/etc/init.d/mysqld stop

Start mysqld uden grant tabeller:

mysqld_safe --skip-grant-tables

Opret forbindelse til MySQL-serveren:

mysql --user=root mysql

Sæt et nyt root password ved at skrive:

UPDATE user SET Password=PASSWORD('hemmelighed');
FLUSH PRIVILEGES;

Herefter stopper du den kørende mysqld og starter den igen som normalt.

Kategori: SQL

: Kontaktdatabase

2008-05-23 12:24 af Thomas Damgaard Nielsen - Kommentarer

Jeg har lige fået ny laptop. Derfor er jeg i gang med at udfase den gamle laptop. Dette involverer en del oprydningsarbejde. Under oprydningen faldt jeg over strukturen til en kontaktdatabase, jeg engang har lavet. Den er forholdsvis simpel og er lavet til eget brug. Jeg har imidlertid aldrig fået brugt den. Måske kan den være til gavn for andre. Derfor lægger jeg den op her.

Nedenstående er koden til databasestrukturen. Koden er hermed i public domain.

/******************** Add Table: contact ************************/
CREATE SEQUENCE contact_id_seq INCREMENT 1;
/* Build Table Structure */
CREATE TABLE contact
(
        id INTEGER NOT NULL DEFAULT nextval('contact_id_seq'),
        firstname TEXT NULL,
        lastname TEXT NULL,
        nickname TEXT NULL,
        email1 TEXT NULL,
        email2 TEXT NULL,
        phone_home TEXT NULL,
        phone_mobile TEXT NULL,
        phone_work TEXT NULL,
        fax TEXT NULL,
        address TEXT NULL,
        city TEXT NULL,
        zipcode TEXT NULL,
        country TEXT NULL,
        website TEXT NULL,
        notes TEXT NULL
);
/* Table Items: contact */
ALTER TABLE contact ADD CONSTRAINT pkcontact
        PRIMARY KEY (id);
/******************** Add Table: contact_group ************************/
/* Build Table Structure */
CREATE TABLE contact_group
(
        fk_contact_id INTEGER NOT NULL,
        group_name TEXT NOT NULL
);
/* Table Items: contact_group */
ALTER TABLE contact_group ADD CONSTRAINT pkcontact_group
        PRIMARY KEY (fk_contact_id, group_name);
/************ Add Foreign Keys to Database ***************/
/************ Foreign Key: fk_contact_group_contact ***************/
ALTER TABLE contact_group ADD CONSTRAINT fk_contact_group_contact
        FOREIGN KEY (fk_contact_id) REFERENCES contact (id) ON UPDATE NO ACTION ON DELETE NO ACTION;

Koden er lavet til PostgreSQL 7.4, men burde også virke under nyere versioner. Databasen blev, så vidt jeg husker, designet i dbWrench. Nedenstående XML-fil burde kunne åbnes i dbWrench og derfra burde det være muligt at generere SQL-kode til andre databaser, f.eks. MySQL, MS SQL Server og MS Access.

Kategori: SQL

: Vælg naborækker i MySQL

2008-04-07 19:35 af Thomas Damgaard Nielsen - Kommentarer

I dag havde jeg brug for at udtrække naborækker for en given række i MySQL. Det klares med følgende forespørgsel:

(SELECT id FROM mytable 
WHERE id < $X 
ORDER BY id DESC LIMIT 1) 
UNION 
(SELECT id FROM mytable 
WHERE id > $X 
ORDER BY id ASC LIMIT 1);

Hvor $X er værdien for id for den givne række.

Bemærk, at jeg i ovenstående antager, at mytable har en numerisk primary key, og at denne har navnet id.