eEcho blog

is een halte van de gedachte

Archive for the ‘Database’ Category

Subquery Syntax Mysql

http://dev.mysql.com/doc/refman/5.0/en/subqueries.html
Subquery is nested voorbeeld:

SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);

They allow queries that are structured so that it is possible to isolate each part of a statement.
They provide alternative ways to perform operations that would otherwise require complex joins […]

Java eclipse jdbc connector

- Maak een nieuwe project aan. / File / New project / Java Project /
- Geef een naam voor de project, klik “Next”
- In volgende venster /tab Libraries/ klik op de knop “Add externeal JARS”
- Blader naar de map waar mysql-connector-java-X.X.X -bin.jar zich bevind en selecteer hem. “OK” […]

SQLite populatie exporteren in Mysql

Met sqlite kan een database geëxporteerd worden structuur + populatie. (.sql format )
http://sqlitebrowser.sourceforge.net/
Deze toepassing is platform onafhankelijk.
- Download toepassing.
- Run zonder installatie
- Blader naar Sqlite database
- Selecteer tabellen die geëxporteerd moeten worden
- Kies sql als formaat.
- Open deze (.sql ) bestand met tekst editor (zoals kladblok, geditor, ezv)
- Kies opslaan als
- Kies onderaan codering […]

Mysql installeren Debian

Om server te installeren
$ sudo apt-get install mysql-server
client om tabellen, users, backup, options van de mysql server in GUI te configureren (DD)

$ sudo apt-get install mysql-admin
client om gegevens te aanpassen (inport export ezv. ook SQL ref ingebouwd DM)
$ sudo apt-get install mysql-query-browser

Limit MySql

Probleem
Weergeven beperkte aantal records van mysql table.
Oplossing
Gebruik LIMIT op het eind van de sql opdracht
Voorbeeld
SELECT * FROM tbl_test LIMIT 10, 10
Dus selecteer alles van de tbl_test. Start vanaf de record nummer 10 en haal 10 achtervolgde records.
of
UPDATE tbl_test SET prijs=’50′ LIMIT 1
Opmerking: update met limit van 1 gaat veel rapper
In sql server
http://msmvps.com/blogs/pauldomag/archive/2006/04/10/90330.aspx

MySql Full-text searching

Full-text searching (zoeken in mysql)
Probleem
moet gezocht worden in meerdere velden tegelijkertijd in grootte database bestanden.
Oplossing
gebruik Full-text searching van MySQL.
Om index toe te voegen
ALTER TABLE some_tbl ADD FULLTEXT (body)
ALTER TABLE some_tbl ADD FULLTEXT (title,body)
(voor iedere index die gezocht moet worden maak een aparte fulltext sleutel)
Als een “GROUP BY domein ORDER BY ci DESC ” […]

MySQL Database Backups

MySQL Database Backups
Omdat mysql tabellen worden in bestanden bewaard het is gemakkelijk om backup van te maken.
Gebruik FLUSH TABLES om te zorgen dat niets geschreven wordt tijdens kopiëren.
Om sql kopie te nemen gebruik SELECT INTO … OUTFILE. Het is niet mogelijk om dergelijke bestand iets toe te voegen, het wordt iedere keer overgeschreven. Zie ook […]

MySQL INSERT … SELECT

Probleem
U wilt met een sql opdracht de inhoud van de meerdere tabellen in een tabel toevoegen.
Oplossing
Gebruik INSERT SELECT van mysql. (
INSERT [LOW_PRIORITY] [IGNORE] [INTO] tbl_name [(column_list)]
SELECT …
)
Voorbeeld
INSERT INTO eecho_sites.tbl_zoekwoorden (eecho_sites.tbl_zoekwoorden.zoekwoord)
SELECT CONCAT(24multimedia.tbl_ondersubcategorie.ondersubcategorie_naam, 24multimedia.tbl_ondersubcategorie.subcategorie_naam, 24multimedia.tbl_ondersubcategorie.categorie_naam)
FROM 24multimedia.tbl_ondersubcategorie
Of met ignore key

INSERT IGNORE INTO eecho_sites.tbl_zoekwoorden (eecho_sites.tbl_zoekwoorden.zoekwoord)
SELECT gids.tbl_pagina.ondersubcategorie_naam
FROM gids.tbl_pagina WHERE ondersubcategorie_naam “

MySQL XML

Probleem
U wilt een query resultaat converteren in xml.
Oplossing
Gebruik mysql parameters.
Voorbeeld

% mysql -e "SELECT * FROM limbs WHERE legs=0" uw_database
+————+——+——+
| thing | legs | arms |
+————+——+——+
| squid | 0 | 10 |
| octopus | 0 | 8 |
| fish | 0 | 0 |
| phonograph | 0 | 1 |
+————+——+——+
% mysql -X -e "SELECT * FROM […]

MySQL HTML

Probleem
U wilt een query resultaat converteren in html.
Oplossing
Gebruik mysql parameters.
Voorbeeld
% mysql -e "SELECT * FROM limbs WHERE legs=0" uw_database
+————+——+——+
| thing | legs | arms |
+————+——+——+
| squid | 0 | 10 |
| octopus | 0 | 8 |
| fish | 0 | 0 |
| phonograph | 0 | 1 |
+————+——+——+
% mysql -H -e "SELECT * […]

MySQL tab

Probleem
U wilt een mysql resultaat weergeven of opslaan met verschillende scheiding tekens. Om deze resultaat leesbaarder te maken.

Oplossing
Gebruik mysql parameters.
Voorbeeld
% mysql uw_database < inputfile | sed -e "s/ TAB /:/g" > outputfile
% mysql uw_database < inputfile | tr " TAB " ":" > outputfile
% mysql uw_database < inputfile | tr “\011″ “:” […]

MySQL Query Output

Probleem
U wilt query output (resultaat) op het scherm, in een bestand, in een programma weergeven/afhandelen.
Oplossing
Redirect mysql output of gebruik pipe
Voorbeeld
Mysql output (resultaat) op het scherm afdrukken.
mysql> SELECT * FROM limbs;
+————–+——+——+
| thing | legs | arms |
+————–+——+——+
| human | 2 | 2 |
| insect | 6 | 0 |
| squid | 0 | 10 |
| […]

MySQL paging

Probleem
U wilt precies met mysql een paging uitvoeren om meerdere records te kunnen doorbladeren. (met scrollback, zonder gebruik van programmeertalen)
Oplossing
Gebruik parameter –pager=/usr/bin/less om een mysql resultaat in pagina’s te laten verdelen. (deze parameter is niet beschikbaar onder windows)
Voorbeeld
% mysql –pager=/usr/bin/less

Mysql Queries in de opdrachtprompt

Probleem
U wilt een query specificeren direct in de opdrachtprompt.

Oplossing
Mysql kan queries lezen. Gebruik -e (of –execute) om een query te specificeren.
Voorbeeld

% mysql -e “SELECT COUNT(*) FROM limbs” uw_database
+———-+
| COUNT(*) |
+———-+
| 12 |
+———-+

Queries van andere programmetje lezen

Probleem
U wilt uw uitvoer van andere toepassing lezen in mysql.
Oplossing
Gebruik pipe.
Voorbeeld
% generate-test-data | mysql eecho
% cat limbs.sql | mysql eecho
is een synoniem voor
% mysql eecho< limbs.sql
lezen uitvoer van mysqldump met andere woorden database kopiëren van een server naar de andere server.
% mysqldump eecho | mysql -h some.other.host.com eecho

Mysql Queries van bestand lezen

Probleem
U wilt queries lezen die in een bestand (file) bewaard worden.
Oplossing
Redirect mysql’s invoer of gebruik “SOURCE” opdracht. Deze methoden worden gebruikt om een mysql backup terug te zetten.
Voorbeeld

% mysql uw_database < filename
mysql> SOURCE loop.sql;

SQL Variables in Queries

Probleem
U wilt een waarde bewaren om het later in de volgende query te kunnen gebruiken.
Oplossing
SQL variable bewaart de waarden voor het latere gebruik.
Voorbeeld
mysql> SELECT @id := cust_id FROM customers WHERE cust_id=’ customer name’;
mysql> DELETE FROM customers WHERE cust_id = @id;
mysql> DELETE FROM orders WHERE cust_id = @id;
mysql> SELECT @max_limbs := MAX(arms+legs) FROM limbs;
mysql> […]

MySQL queries herhalen bijwerken

Probleem
Nu juist ingevoerde query wilt u opnieuw herhalen of bijwerken en niet intypen.
Oplossing
Gebruik ingebouwde query editor.
Up Arrow Scroll up: through statement history
Down Arrow Scroll down: through statement history
Left Arrow: Move left within line
Right Arrow: Move right within line
Ctrl-A: Move to beginning of line
Ctrl-E: Move to end of line
Backspace Delete: previous character
Ctrl-D: Delete character under […]

MySQL query verwerpen

Probleem
In bepaalde situaties wilt u een lopende query onderbreken.
Oplossing
Gebruik onderbreek teken “\C” of “Ctrl+C”
Voorbeeld
mysql> SELECT *
-> FROM limbs
-> ORDER BY\c
mysql>

MySQL Database selecteren

Probleem
U wilt een database selecteren voor het gebruik.
Oplossing
Het is mogelijk om databasenaam als een parameter door te geven in “mysql” opdracht of met de opdracht “use” wordt database gewijzigd in interactive prompt.
Voorbeeld
% mysql -h host -p -u user Uw_database
of
mysql> USE Uw_database;
Database changed
Functie DATABASE() toont naam van de geselecteerde database
mysql> SELECT DATABASE( );
+————+
| […]

 

Home | info@eecho.info | Voorwaarden | Blog