✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Frammenti di tabella MySQL e correzioni a problemi comuni

31

Frammenti di tabella MySQL?

Sì, ce ne sono parecchi in questo articolo. Ma prima di arrivare a questo, cos’è MySQL? Cominciamo con la definizione MySQL. MySQL è un sistema di gestione di database relazionali (RDBMS) open source supportato da Oracle basato su SQL (Structured Query Language).

Le applicazioni che utilizzano il database MySQL includono TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB e Drupal. MySQL viene utilizzato anche in molti siti Web di alto profilo e su larga scala, inclusi Google (sebbene non per le ricerche), Facebook, Twitter, Flickr e YouTube.

E dopo tutta quell’introduzione, ti rendi conto che MySQL è più grande di quanto pensassi inizialmente. A meno che tu non sia nel settore da un po’. Se sei un nuovo arrivato, tuttavia, e vuoi saperne di più su MySQL, il modo più semplice per farlo è con i frammenti di tabella MySQL.

Frammenti di tabella MySQL

Abbina una stringa all’inizio della stringa

SELECT 'Test' REGEXP '^The'; -- 0 SELECT 'The Test' REGEXP '^The'; -- 1

Se un nome non è preceduto da ‘The’, aggiungilo

UPDATE [table] SET Name = CONCAT('The ', TRIM(Name)) WHERE Name NOT REGEXP '^The'

Copia una colonna da una tabella all’altra

INSERT INTO [table] (

) SELECT FROM [table]

Rimuovi tutti gli spazi bianchi

UPDATE [table] SET

= REPLACE(, ' ', '')

(questo è BASH) elimina tutte le tabelle in un database

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Passa alle regole di confronto di una tabella e di tutte le sue colonne esistenti

alter table [table] convert to character set utf8 collate utf8_general_ci;

MySQL Trova e sostituisci

UPDATE files SET filepath = REPLACE(filepath,'path/to/search','path/to/replace');

Selezione di una riga casuale in MySQL

SELECT column FROM table ORDER BY RAND() LIMIT 1

Crea CSV da MySQL

SELECT a,b,c FROM my_table INTO OUTFILE '/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n';

Trova record duplicati

SELECT id, COUNT(*) as n FROM my_table GROUP BY id HAVING n >1;

Correzione della codifica dei caratteri errata nei dati MySQL

UPDATE table SET column=CONVERT(CONVERT(CONVERT(column USING latin1) USING binary) using utf8);

Carica di nuovo CSV in MySQL

LOAD DATA local INFILE 'unique.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (col1, col2, col3)

Drupal 6.x Trova il codice PHP nel database

select nid, vid from node_revisions where format in (select format from filters where module = 'php' and delta = 0); select cid, nid from comments where format in (select format from filters where module = 'php' and delta = 0); select bid, info from boxes where format in (select format from filters where module = 'php' and delta = 0);

Genera una stringa casuale in MySQL

SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6) AS randomstring

Calcola l’età dalla data di nascita

SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) / 365);

Trova e sostituisci

UPDATE table_name SET column_name = REPLACE(column_name, 'http://oldcontent.com', 'http://newcontent.com');

Scegli tra due date

SELECT * FROM files LEFT JOIN (dates) ON files.uploaded_id = dates.id WHERE date BETWEEN '2009-01-01' AND '2009-12-31'

Backup del database MySQL su file SQL con mysqldump

mysqldump --user=username --password=password --opt --add-drop-database --databases databasename > ~/path/to/file.sql

come calcolare gli ultimi 7 giorni

WHERE mydatefld >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)

discarica di MySQL

mysqldump -u [username] -p [password] [databasename] > [backupfile.sql]

Sostituire MySQL

`# Sostituisci la stringa in tutti i record di una tabella
UPDATE nome_tabella SET nome_colonna = REPLACE( nome_colonna, ‘/dev’, " );

SELECT REPLACE( column_name, ‘/dev’, “) FROM table_name;`

Converti fuso orario in locale

SELECT CONVERT_TZ(mydatefield,'US/Pacific','CET') FROM mytable;

Cerca e sostituisci su più righe in SQL

UPDATE wp_posts SET post_content = REPLACE(post_content, 'staging.server.com', 'www.productionserver.com');

Come salvare i risultati da MySQL in un file esterno

echo "SELECT columns FROM table_name WHERE whatever='something'" | /path/to/mysql -uUSERNAME -pPASSWORD DATABASENAME > /tmp/outfile.txt;

Inserisci o aggiorna se esiste già una chiave univoca

INSERT INTO `tableName` VALUES (?,?,?,'-1',?,'0') ON DUPLICATE KEY UPDATE `id` = ?, `foo` = ?, `bar` = ?

mySQL: comandi di backup del database

-- dump mySQL database to file: VAR=$(date +�%y-%m-%d�); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME > /BACKUPDIR/$VAR-DATABASENAME.sql ;

-- dump mySQL database to file and then move it: VAR=$(date +�%y-%m-%d�); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME > /BACKUPDIR/$VAR-DATABASENAME.sql ; mv /BACKUPDIR/DATABASENAME.sql /OTHERBACKUPDIR/$VAR-DATABASENAME.sql ;

Importazione MySql

mysql -u [username] -p [dbname] < [filename].sql

trovare record duplicati

select address, count(address) as cnt from mailing_list group by address having cnt > 1 order by cnt;

MySQL Trova e sostituisci

update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string');

Cambia il percorso della directory del file Drupal

UPDATE FILES SET filepath = REPLACE(filepath, 'sites/default/files/old/','sites/default/files/new/');

Trova tutte le tabelle nel database MySQL contenenti nomi di colonne specifici

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnA','ColumnB') AND TABLE_SCHEMA='YourDatabase';

Trova i valori che si verificano esattamente una volta nella tabella

SELECT email FROM users GROUP BY email HAVING (COUNT(email) = 1 )

Script MySql per trovare indirizzi email non validi

SELECT * FROM people WHERE email NOT LIKE '%_@__%.__%'

MySQL Calcolo dell’età

DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(DOB, '00-%m-%d')) >= 65

Left Join per collegare tre o più tabelle

select * from (bdg left join res on bdg.bid = res.bid) left join dom on res.rid = dom.rid where dom.rid is NULL;

MySQL REGEX corrisponde all’elenco delimitato da virgole

WHERE id REGEXP '(,|^){$this->id}(,|$)'

Ottieni record casuali in base al peso

SELECT * FROM Table ORDER BY Rand() * (1 / Weight

Ci auguriamo che questi frammenti di tabella MySQL siano ciò che stavi cercando. Aggiorneremo questo articolo con altri frammenti di MySQL che incontreremo in futuro, quindi assicurati di aggiungerlo ai segnalibri.

Se ti è piaciuto leggere questo articolo sui frammenti di tabella MySQL, dovresti leggere anche questi:

Fonte di registrazione: wpdatatables.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More