✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

MySQL-tabellsnuttar och korrigeringar av vanliga problem

24

MySQL-tabellsnuttar?

Ja, det finns en hel del av dem i den här artikeln. Men innan vi kommer till det, vad är MySQL? Låt oss börja med MySQL-definitionen. MySQL är ett Oracle-stödt open source relationsdatabashanteringssystem (RDBMS) baserat på Structured Query Language (SQL).

Applikationer som använder MySQL-databasen inkluderar TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB och Drupal. MySQL används också på många högprofilerade, storskaliga webbplatser, inklusive Google (men inte för sökningar), Facebook, Twitter, Flickr och YouTube.

Och efter allt det där introt inser du att MySQL är större än du först trodde. Om du inte har funnits ett tag i branschen. Om du däremot är en nykomling och vill lära dig mer om MySQL är det enklaste sättet att göra det med MySQL-tabellsnuttar.

MySQL-tabellsnuttar

Matcha en sträng i början av strängen

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

Om ett namn inte har prefixet ’The’, lägg till det

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

Kopiera en kolumn från en tabell till en annan

INSERT INTO [table] (

) SELECT FROM [table]

Ta bort alla blanksteg

UPDATE [table] SET

= REPLACE(, ' ', '')

(detta är BASH) släpp alla tabeller i en databas

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

Ändra till sortering av en tabell och alla dess befintliga kolumner

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

MySQL Sök och ersätt

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

Välja en slumpmässig rad i MySQL

SELECT column FROM table ORDER BY RAND() LIMIT 1

Skapa CSV från MySQL

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

Hitta dubbletter av poster

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

Rättar fel teckenkodning i MySQL-data

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

Ladda tillbaka CSV till mySQL

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

Drupal 6.x Hitta PHP-kod i databasen

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);

Generera slumpmässig sträng i MySQL

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

Beräkna ålder från födelsedatum

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

Hitta & ersätt

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

Välj mellan två datum

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

Säkerhetskopiera MySQL-databas till SQL-fil med mysqldump

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

hur man beräknar de senaste 7 dagarna

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

mysql dump

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

Mysql ersätt

`# Ersätt sträng i alla poster från en tabell
UPPDATERA tabellnamn SET kolumnnamn = REPLACE( kolumnnamn, ’/dev’, " );

SELECT REPLACE( kolumnnamn, ’/dev’, ”) FRÅN tabellnamn;`

Konvertera tidszon till lokal

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

Sök och ersätt på flera rader i SQL

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

Hur man sparar resultat från MySQL till en extern fil

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

Infoga eller uppdatera om unik nyckel redan finns

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

mySQL – kommandon för säkerhetskopiering av databas

-- 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 ;

MySql import

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

hitta dubbletter av poster

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

MySQL Sök och ersätt

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

Ändra sökvägen till Drupal-filkatalogen

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

Hitta alla tabeller i MySQL-databasen som innehåller specifika kolumnnamn

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

Hitta värden som förekommer exakt en gång i tabellen

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

MySql-skript för att hitta ogiltiga e-postadresser

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

MySQL åldersberäkning

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

Left Joins för att länka tre eller fler tabeller

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 matchar kommaavgränsad lista

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

Få slumpmässigt rekord baserat på vikt

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

Vi hoppas att dessa MySQL-tabellsnuttar är det du letade efter. Vi kommer att uppdatera den här artikeln med andra MySQL-snuttar som vi stöter på i framtiden, så se till att bokmärka den.

Om du tyckte om att läsa den här artikeln om MySQL-tabellsnuttar, bör du också läsa dessa:

Inspelningskälla: wpdatatables.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer