Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Náš Lopuch Vám
vytře zrak

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub Database (mysql,...) [ŽP: neomezená] (kategorie Programování) moderuje melkor_unlimited.
Archiv
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: hjoeypy
[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 30.11.2022 17:44  1508
v databázi mám:

vypsat CHARACTER_SETS
vypsat CLIENT_STATISTICS
vypsat COLLATIONS
vypsat COLLATION_CHARACTER_SET_APPLICABILITY
vypsat COLUMNS
vypsat COLUMN_PRIVILEGES
vypsat INDEX_STATISTICS
vypsat KEY_COLUMN_USAGE
vypsat PROFILING
vypsat ROUTINES
vypsat SCHEMATA
vypsat SCHEMA_PRIVILEGES
vypsat STATISTICS
vypsat TABLES
vypsat TABLE_CONSTRAINTS
vypsat TABLE_PRIVILEGES
vypsat TABLE_STATISTICS
vypsat TRIGGERS
vypsat USER_PRIVILEGES
vypsat USER_STATISTICS
vypsat VIEWS
misa Misa Záviďte mi - máte proč :o) 30.11.2022 17:35  1507
Některé hostingy to můžou mít trochu jinak, třeba u Wedosu koukám je to v databázi "information_schema", tabulka "GLOBAL_VARIABLES" a položka "INNODB_VERSION".
misa Misa Záviďte mi - máte proč :o) 30.11.2022 17:28  1506
puschpull [1505]: můžeš v phpMyAdmin, přes které patrně lezeš do DB, jít na hlavní stránce do záložky "Proměnné" a tam položka "version", já tam mám "5.7.29-32-log", tj. verzi 5.7.29.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 30.11.2022 17:00  1505
Misa [1504]: dík za poivzbudivé info.
Jak vlastně jednoduše zjistím verzi MySQL serveru?
Je něco jako phpinfo() ?
misa Misa Záviďte mi - máte proč :o) 30.11.2022 16:58  1504
puschpull [1503]: zatímco přechod u PHP může bolet (mění tam různě některé funkce, parametry funkcí, tu něco vyhodí, tu něco přidají), u MySQL bych problémy nečekal. Pořád musí podporovat standardní SQL a být v tom zpětně kompatibilní, tj. před přechodem vyexportovat kompletní DB do souboru by mělo bohatě stačit. Hostingy přechod na novější SQL server dělají většinou automaticky, transparentně, že si uživatel ani nevšimne. Já snad ani nepotkal hosting, kde bych si verzi MySQL mohl nějak měnit.
puschpull puschpull být nad věcí, pohoda a klid ... - AV-Com (Homepage) 30.11.2022 16:14  1503
DotazSnad to tu není úplně mrtvé.
Na hostingu řeším poslední dobou víc věcí
přechod na zabezpečený protokol (https / SSL)
postupný přechod na PHP 8.1
a nyní jsem narazil na věc, kde mi admin na Ebole (tam hostuji) navrhl přejít na vyšší verzi MySQL (zatím tam mám, tuším, 5.6)
Takže patrně přechod na verzi 8
!!
Což mám strach, ale proč to nezkusit.
Pro postupný vývoj různých subdomén na php 8.1 mám možnost si pro každou tuto subdoménu nastavit takovou verzi php, jakou potřebuji
U MySQL toto asi nepůjde...

Ptám se, jaké největší záludnosti asi budu řešit při přechodu databázoveho serveru na vyšší verzi?
Počítám, že všechny databáze, mám jich tam 20, si zazálohuji - vyexportuji s možností databáze CREATE a tabulky DROP+CREATE
používám Adminer
Adminer - Správa databáze v jednom PHP souboru

Databáze pak budu muset odstranit a až poběží nová verze db serveru tak je znovu vytvořit
Takže co mi radíte, aby to vše klaplo?
Děkuji
straka82 Straka82 20.10.2017 14:07  1502
Diky za rady, zkousel jsem to a nejrychlejsi je ta prvni verze s NOT EXISTS.
themajkl themajkl All those moments will be lost in time - like tears in rain. 19.10.2017 20:23  1501
pepak [1500]: A jo, já jsem to bral tak, že chce řádky jméno - datum.
pepak pepak - Pepak.net 19.10.2017 19:21  1500
TheMajkl: A sloupeček number???

Straka82: Dělá se to obecně technikou 1) vybrat nejvyšší datumy pro každého uživatele a 2) následně je použít pro výběr příslušných řádků. Takže něco jako:

SELECT a.*
FROM tabulka a
JOIN (SELECT b.name, MAX(b.date) AS date FROM tabulka b GROUP BY b.name) x ON a.name=x.name AND a.date=x.date

Různých variant je asi tisíc, jde to udělat bez subselectu jen pomocí agregačních funkcí, může být vhodné to udělat pomocí CTE, atd. Hrozně záleží na tom, v jaké databázi a k čemu to chceš použít. Některé databáze pro tohle mají mnohem efektivnější konstrukty, například. Některá použití také (může být vhodnější udělat si výběr pomocí uložené funkce, například).
themajkl themajkl All those moments will be lost in time - like tears in rain. 19.10.2017 11:39  1499
Ještě by to asi šlo nějak jako

select a.name, (select max(b.date) from TAB b where a.name=b.name) datum
from TAB a
group by 1

straka82 Straka82 19.10.2017 07:38  1498
To je zase to "not exists", ktere moc nedavam :D Diky!
themajkl themajkl All those moments will be lost in time - like tears in rain. 19.10.2017 06:15  1497
Straka82 [1496]:
V informixu nějak jako
select a.id,a.name,a.date
from TAB a
where not exists (select b.id from TAB b
where b.name=a.name
and b.date>a.date)
straka82 Straka82 18.10.2017 23:51  1496
Dalsi dotaz :D

Mam tuhle tabulku

id|name|number|date
1|peter|2|2017-09-18
2|peter|1|2017-10-03
3|james|4|2017-09-05
4|james|1|2017-10-10
5|james|0|2017-10-15
6|kate|4|2017-09-16
7|kate|2|2017-10-17

A pro kazdou osobu chci vypsat radek s nejaktualnejsim datem. Vysledek by byl tento:

2|peter|1|2017-10-03
5|james|0|2017-10-15
7|kate|2|2017-10-17

Jaky dotaz to udela? Neco takoveho:

SELECT id, name, number, date
FROM table
GROUP BY id, name, number, date
HAVING date the latest

Diky moc
knedle knedle online - Krabice živých 8.7.2016 08:42  1495
tak napravit se to da jednim sql na tabulku, ne?
pepak pepak - Pepak.net 8.7.2016 06:01  1494
To vypadá na to, že migrační program nepočítá s tím, že rok 2000 byl přestupný.

[ 1008 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt