✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Fragmenty tabeli MySQL i poprawki typowych problemów

41

Fragmenty tabeli MySQL?

Tak, w tym artykule jest ich sporo. Ale zanim do tego dojdziemy, czym jest MySQL? Zacznijmy od definicji MySQL. MySQL to wspierany przez Oracle system zarządzania relacyjnymi bazami danych typu open source (RDBMS) oparty na strukturalnym języku zapytań (SQL).

Aplikacje korzystające z bazy danych MySQL to TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB i Drupal. MySQL jest również używany w wielu znanych, dużych witrynach, w tym w Google (choć nie do wyszukiwania), Facebooku, Twitterze, Flickr i YouTube.

Po całym tym wstępie zdajesz sobie sprawę, że MySQL jest większy niż początkowo sądziłeś. Chyba że jesteś w branży od jakiegoś czasu. Jeśli jednak jesteś nowicjuszem i chcesz dowiedzieć się więcej o MySQL, najłatwiej to zrobić za pomocą fragmentów tabeli MySQL.

Fragmenty tabeli MySQL

Dopasuj ciąg na początku ciągu

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

Jeśli nazwa nie jest poprzedzona przedrostkiem „The", dodaj ją

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

Skopiuj kolumnę z jednej tabeli do drugiej

INSERT INTO [table] (

) SELECT FROM [table]

Usuń wszystkie białe znaki

UPDATE [table] SET

= REPLACE(, ' ', '')

(to jest BASH) upuść wszystkie tabele w bazie danych

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

Zmiana sortowania tabeli i wszystkich jej istniejących kolumn

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

Znajdź i zamień MySQL

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

Wybieranie losowego wiersza w MySQL

SELECT column FROM table ORDER BY RAND() LIMIT 1

Utwórz CSV z MySQL

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

Znajdź zduplikowane rekordy

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

Poprawianie nieprawidłowego kodowania znaków w danych MySQL

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

Załaduj CSV z powrotem do mySQL

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

Drupal 6.x Znajdź kod PHP w bazie danych

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

Generuj losowy ciąg w MySQL

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

Oblicz wiek od daty urodzenia

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

Znaleźć zamiennik

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

Wybierz między dwiema datami

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

Utwórz kopię zapasową bazy danych MySQL do pliku SQL za pomocą mysqldump

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

jak obliczyć ostatnie 7 dni

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

zrzut mysql

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

Zastąp MySQL

`# Zastąp ciąg znaków we wszystkich rekordach z tabeli
UPDATE nazwa_tabeli SET nazwa_kolumny = REPLACE( nazwa_kolumny, '/dev’, ” );

SELECT REPLACE( nazwa_kolumny, '/dev’, „) FROM nazwa_tabeli;`

Konwertuj strefę czasową na lokalną

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

Wyszukaj i zamień w wielu wierszach w SQL

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

Jak zapisać wyniki z MySQL w zewnętrznym pliku?

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

Wstaw lub zaktualizuj, jeśli unikalny klucz już istnieje

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

mySQL – polecenia kopii zapasowej bazy danych

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

Import MySQL

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

znajdź zduplikowane rekordy

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

Znajdź i zamień MySQL

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

Zmień ścieżkę katalogu plików Drupala

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

Znajdź wszystkie tabele w bazie danych MySQL zawierające określone nazwy kolumn

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

Znajdź wartości, które występują dokładnie raz w tabeli

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

Skrypt MySql do wyszukiwania nieprawidłowych adresów e-mail

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

Obliczanie wieku MySQL

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

Left Joins, aby połączyć trzy lub więcej stołów

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 pasuje do listy rozdzielanej przecinkami

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

Uzyskaj losowy rekord na podstawie wagi

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

Mamy nadzieję, że te fragmenty tabeli MySQL są tym, czego szukałeś. Zaktualizujemy ten artykuł o inne fragmenty MySQL, które napotkamy w przyszłości, więc upewnij się, że dodałeś go do zakładek.

Jeśli podobał Ci się ten artykuł o fragmentach tabel MySQL, powinieneś przeczytać również te:

Źródło nagrywania: wpdatatables.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów