✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

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

33

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

Да, в этой статье их довольно много. Но прежде чем мы перейдем к этому, что такое MySQL? Начнем с определения MySQL. MySQL — это поддерживаемая Oracle система управления реляционными базами данных (RDBMS) с открытым исходным кодом, основанная на языке структурированных запросов (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’, " );

ВЫБЕРИТЕ ЗАМЕНУ(имя_столбца, ‘/dev’, "") ИЗ имя_таблицы;`

Преобразовать часовой пояс в местный

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

Left Joins для связывания трех или более таблиц

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 для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее