✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Фрагменти таблиць MySQL і виправлення типових проблем

28

Фрагменти таблиці MySQL?

Так, в цій статті їх чимало. Але перш ніж ми перейдемо до цього, що таке MySQL? Почнемо з визначення MySQL. MySQL — це система керування реляційними базами даних (RDBMS) із відкритим вихідним кодом, що підтримується Oracle і базується на мові структурованих запитів (SQL).

Програми, які використовують базу даних MySQL, включають TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB і Drupal. MySQL також використовується на багатьох гучних, великих веб-сайтах, включаючи Google (хоча не для пошуку), Facebook, Twitter, Flickr і YouTube.

І після всього цього вступу ви розумієте, що MySQL більший, ніж ви спочатку думали. Хіба що ви деякий час працюєте в галузі. Однак якщо ви новачок і бажаєте дізнатися більше про MySQL, найпростіший спосіб зробити це — скористатися фрагментами таблиць MySQL.

Фрагменти таблиць MySQL

Зіставте рядок на початку рядка

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

Якщо ім’я не має префікса «The», додайте його

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

Копіювання стовпця з однієї таблиці в іншу

INSERT INTO [table] (

) SELECT FROM [table]

Видалити всі пробіли

UPDATE [table] SET

= REPLACE(, ' ', '')

(це BASH) видалити всі таблиці в базі даних

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

Перейти до сортування таблиці та всіх її наявних стовпців

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

Пошук і заміна MySQL

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

Вибір випадкового рядка в MySQL

SELECT column FROM table ORDER BY RAND() LIMIT 1

Створіть CSV із MySQL

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

Знайти повторювані записи

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

Виправлення неправильного кодування символів у даних MySQL

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

Завантажте CSV назад у mySQL

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

Drupal 6.x Знайти код PHP у базі даних

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

Генерувати випадковий рядок у MySQL

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

Розрахувати вік від дати народження

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

Знайти та замінити

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

Виберіть між двома датами

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

Резервне копіювання бази даних MySQL у файл SQL за допомогою mysqldump

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

як розрахувати останні 7 днів

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

дамп mysql

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

Заміна Mysql

`# Замінити рядок у всіх записах таблиці
UPDATE table_name SET column_name = REPLACE( column_name, ‘/dev’, " );

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

Перетворення часового поясу на місцевий

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

Пошук і заміна в кількох рядках у SQL

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

Як зберегти результати з MySQL у зовнішній файл

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

Вставте або оновіть, якщо унікальний ключ уже існує

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

mySQL – команди резервного копіювання бази даних

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

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

знайти дублікати записів

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

Пошук і заміна MySQL

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

Змініть шлях до каталогу файлів Drupal

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

Знайти всі таблиці в базі даних MySQL, що містять певні імена стовпців

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

Знайдіть значення, які зустрічаються в таблиці рівно один раз

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

Скрипт MySql для пошуку недійсних адрес електронної пошти

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

Розрахунок віку MySQL

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

Ліві об’єднання для зв’язування трьох або більше таблиць

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 відповідає списку, розділеному комами

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

Отримати випадковий запис на основі ваги

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

Ми сподіваємося, що ці фрагменти таблиць MySQL – це те, що ви шукали. Ми оновимо цю статтю іншими фрагментами MySQL, які ми зустрінемо в майбутньому, тому обов’язково додайте її в закладки.

Якщо вам сподобалося читати цю статтю про фрагменти таблиць MySQL, ви також повинні прочитати ці:

Джерело запису: wpdatatables.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі