✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

MySQL-taulukon katkelmia ja korjauksia yleisiin ongelmiin

22

MySQL-taulukon katkelmia?

Kyllä, niitä on tässä artikkelissa melko vähän. Mutta ennen kuin pääsemme siihen, mikä on MySQL? Aloitetaan MySQL-määrityksestä. MySQL on Oraclen tukema avoimen lähdekoodin relaatiotietokannan hallintajärjestelmä (RDBMS), joka perustuu Structured Query Language (SQL) -kieleen.

MySQL-tietokantaa käyttävät sovellukset ovat TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB ja Drupal. MySQL:ää käytetään myös monilla korkean profiilin suurilla verkkosivustoilla, mukaan lukien Google (tosin ei hakuihin), Facebook, Twitter, Flickr ja YouTube.

Ja kaiken tämän johdannon jälkeen ymmärrät, että MySQL on suurempi kuin alun perin luulit. Ellei ole ollut alalla jonkin aikaa. Jos olet kuitenkin uusi tulokas ja haluat oppia lisää MySQL:stä, helpoin tapa tehdä se on MySQL-taulukkokatkelmien avulla.

MySQL-taulukon katkelmia

Yhdistä merkkijono merkkijonon alussa

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

Jos nimen etuliitteenä ei ole ’The’, lisää se

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

Kopioi sarake taulukosta toiseen

INSERT INTO [table] (

) SELECT FROM [table]

Poista kaikki välilyönnit

UPDATE [table] SET

= REPLACE(, ' ', '')

(tämä on BASH) pudota kaikki tietokannan taulukot

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

Vaihda taulukon ja sen kaikkien olemassa olevien sarakkeiden lajitteluun

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

MySQL Etsi ja korvaa

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

Satunnaisen rivin valitseminen MySQL:ssä

SELECT column FROM table ORDER BY RAND() LIMIT 1

Luo CSV MySQL:stä

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

Etsi päällekkäisiä tietueita

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

Virheellisen merkkikoodauksen korjaaminen MySQL-tiedoissa

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

Lataa CSV takaisin mySQL:ään

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

Drupal 6.x Etsi PHP-koodi tietokannasta

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

Luo satunnainen merkkijono MySQL:ssä

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

Laske ikä syntymäpäivästä

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

Etsi ja korvaa

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

Valitse kahdesta päivämäärästä

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

Varmuuskopioi MySQL-tietokanta SQL-tiedostoon mysqldumpilla

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

miten lasketaan viimeiset 7 päivää

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

mysql dump

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

Mysql korvaa

`# Korvaa merkkijono kaikissa taulukon tietueissa
PÄIVITYS taulukon_nimi SET sarakkeen_nimi = REPLACE( sarakkeen_nimi, ’/dev’, " );

SELECT REPLACE( sarakkeen_nimi, ’/dev’, ”) FROM taulukon_nimi;`

Muunna aikavyöhyke paikalliseksi

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

Etsi ja korvaa useilla riveillä SQL:ssä

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

Kuinka tallentaa tulokset MySQL:stä ulkoiseen tiedostoon

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

Lisää tai päivitä, jos yksilöllinen avain on jo olemassa

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

mySQL – tietokannan varmuuskopiointikomennot

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

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

löytää päällekkäisiä tietueita

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

MySQL Etsi ja korvaa

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

Muuta Drupal-tiedoston hakemistopolkua

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

Etsi kaikki MySQL-tietokannasta taulukot, jotka sisältävät tiettyjä sarakkeiden nimiä

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

Etsi taulukosta arvot, jotka esiintyvät täsmälleen kerran

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

MySql-komentosarja virheellisten sähköpostiosoitteiden löytämiseksi

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

MySQL-iän laskenta

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

Left Joins linkittää kolme tai useampia taulukkoja

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 -hakuluettelo pilkuilla eroteltuna

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

Hanki satunnainen ennätys painon perusteella

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

Toivomme, että nämä MySQL-taulukkokatkelmat ovat etsimäsi asia. Päivitämme tämän artikkelin muilla MySQL-katkelmilla, joita törmäämme tulevaisuudessa, joten muista lisätä se kirjanmerkkeihin.

Jos pidit tämän artikkelin lukemisesta MySQL-taulukon katkelmista, sinun tulee lukea myös nämä:

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja