{"id":225913,"date":"2022-08-17T13:54:00","date_gmt":"2022-08-17T10:54:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=225913"},"modified":"2022-11-08T01:19:13","modified_gmt":"2022-11-07T22:19:13","slug":"mysql-tabellsnuttar-och-korrigeringar-av-vanliga-problem","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/mysql-tabellsnuttar-och-korrigeringar-av-vanliga-problem\/","title":{"rendered":"MySQL-tabellsnuttar och korrigeringar av vanliga problem"},"content":{"rendered":"\n<p>MySQL-tabellsnuttar?<\/p>\n<p>Ja, det finns en hel del av dem i den h\u00e4r artikeln. Men innan vi kommer till det, vad \u00e4r MySQL? L\u00e5t oss b\u00f6rja med MySQL-definitionen. MySQL \u00e4r ett Oracle-st\u00f6dt open source relationsdatabashanteringssystem (RDBMS) baserat p\u00e5 Structured Query Language (SQL).<\/p>\n<p>Applikationer som anv\u00e4nder MySQL-databasen inkluderar TYPO3, MODx, Joomla, WordPress, Simple Machines Forum, phpBB, MyBB och Drupal. MySQL anv\u00e4nds ocks\u00e5 p\u00e5 m\u00e5nga h\u00f6gprofilerade, storskaliga webbplatser, inklusive Google (men inte f\u00f6r s\u00f6kningar), Facebook, Twitter, Flickr och YouTube.<\/p>\n<p>Och efter allt det d\u00e4r introt inser du att MySQL \u00e4r st\u00f6rre \u00e4n du f\u00f6rst trodde. Om du inte har funnits ett tag i branschen. Om du d\u00e4remot \u00e4r en nykomling och vill l\u00e4ra dig mer om MySQL \u00e4r det enklaste s\u00e4ttet att g\u00f6ra det med MySQL-tabellsnuttar.<\/p>\n<h2>MySQL-tabellsnuttar<\/h2>\n<p><strong>Matcha en str\u00e4ng i b\u00f6rjan av str\u00e4ngen<\/strong><\/p>\n<p><code>SELECT 'Test' REGEXP '^The'; -- 0 SELECT 'The Test' REGEXP '^The'; -- 1<\/code><\/p>\n<p><strong>Om ett namn inte har prefixet &#8217;The&#8217;, l\u00e4gg till det<\/strong><\/p>\n<p><code>UPDATE [table] SET Name = CONCAT('The ', TRIM(Name)) WHERE Name NOT REGEXP '^The'<\/code><\/p>\n<p><strong>Kopiera en kolumn fr\u00e5n en tabell till en annan<\/strong><\/p>\n<p><code>INSERT INTO [table] (<\/code><\/p>\n<p><code>) SELECT FROM [table]<\/code><\/p>\n<p><strong>Ta bort alla blanksteg<\/strong><\/p>\n<p><code>UPDATE [table] SET<\/code><\/p>\n<p><code>= REPLACE(, ' ', '')<\/code><\/p>\n<p><strong>(detta \u00e4r BASH) sl\u00e4pp alla tabeller i en databas<\/strong><\/p>\n<p><code>mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]<\/code><\/p>\n<p><strong>\u00c4ndra till sortering av en tabell och alla dess befintliga kolumner<\/strong><\/p>\n<p><code>alter table [table] convert to character set utf8 collate utf8_general_ci;<\/code><\/p>\n<p><strong>MySQL S\u00f6k och ers\u00e4tt<\/strong><\/p>\n<p><code>UPDATE files SET filepath = REPLACE(filepath,'path\/to\/search','path\/to\/replace');<\/code><\/p>\n<p><strong>V\u00e4lja en slumpm\u00e4ssig rad i MySQL<\/strong><\/p>\n<p><code>SELECT column FROM table ORDER BY RAND() LIMIT 1<\/code><\/p>\n<p><strong>Skapa CSV fr\u00e5n MySQL<\/strong><\/p>\n<p><code>SELECT a,b,c FROM my_table INTO OUTFILE '\/ca.csv' FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n';<\/code><\/p>\n<p><strong>Hitta dubbletter av poster<\/strong><\/p>\n<p><code>SELECT id, COUNT(*) as n FROM my_table GROUP BY id HAVING n &gt;1;<\/code><\/p>\n<p><strong>R\u00e4ttar fel teckenkodning i MySQL-data<\/strong><\/p>\n<p><code>UPDATE table SET column=CONVERT(CONVERT(CONVERT(column USING latin1) USING binary) using utf8);<\/code><\/p>\n<p><strong>Ladda tillbaka CSV till mySQL<\/strong><\/p>\n<p><code>LOAD DATA local INFILE 'unique.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' (col1, col2, col3)<\/code><\/p>\n<p><strong>Drupal 6.x Hitta PHP-kod i databasen<\/strong><\/p>\n<p><code>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);<\/code><\/p>\n<p><strong>Generera slumpm\u00e4ssig str\u00e4ng i MySQL<\/strong><\/p>\n<p><code>SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 6) AS randomstring<\/code><\/p>\n<p><strong>Ber\u00e4kna \u00e5lder fr\u00e5n f\u00f6delsedatum<\/strong><\/p>\n<p><code>SELECT FLOOR(DATEDIFF(CURRENT_DATE(), dob) \/ 365);<\/code><\/p>\n<p><strong>Hitta &#038; ers\u00e4tt<\/strong><\/p>\n<p><code>UPDATE table_name SET column_name = REPLACE(column_name, 'http:\/\/oldcontent.com', 'http:\/\/newcontent.com');<\/code><\/p>\n<p><strong>V\u00e4lj mellan tv\u00e5 datum<\/strong><\/p>\n<p><code>SELECT * FROM files LEFT JOIN (dates) ON files.uploaded_id = dates.id WHERE date BETWEEN '2009-01-01' AND '2009-12-31'<\/code><\/p>\n<p><strong>S\u00e4kerhetskopiera MySQL-databas till SQL-fil med mysqldump<\/strong><\/p>\n<p><code>mysqldump --user=username --password=password --opt --add-drop-database --databases databasename &gt; ~\/path\/to\/file.sql<\/code><\/p>\n<p><strong>hur man ber\u00e4knar de senaste 7 dagarna<\/strong><\/p>\n<p><code>WHERE mydatefld &gt;= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)<\/code><\/p>\n<p><strong>mysql dump<\/strong><\/p>\n<p><code>mysqldump -u [username] -p [password] [databasename] &gt; [backupfile.sql]<\/code><\/p>\n<p><strong>Mysql ers\u00e4tt<\/strong><\/p>\n<p>`# Ers\u00e4tt str\u00e4ng i alla poster fr\u00e5n en tabell<br \/>\nUPPDATERA tabellnamn SET kolumnnamn = REPLACE( kolumnnamn, &#8217;\/dev&#8217;, &quot; );<\/p>\n<p>SELECT REPLACE( kolumnnamn, &#8217;\/dev&#8217;, &#8221;) FR\u00c5N tabellnamn;`<\/p>\n<p><strong>Konvertera tidszon till lokal<\/strong><\/p>\n<p><code>SELECT CONVERT_TZ(mydatefield,'US\/Pacific','CET') FROM mytable;<\/code><\/p>\n<p><strong>S\u00f6k och ers\u00e4tt p\u00e5 flera rader i SQL<\/strong><\/p>\n<p><code>UPDATE wp_posts SET post_content = REPLACE(post_content, 'staging.server.com', 'www.productionserver.com');<\/code><\/p>\n<p><strong>Hur man sparar resultat fr\u00e5n MySQL till en extern fil<\/strong><\/p>\n<p><code>echo \"SELECT columns FROM table_name WHERE whatever='something'\" | \/path\/to\/mysql -uUSERNAME -pPASSWORD DATABASENAME &gt; \/tmp\/outfile.txt;<\/code><\/p>\n<p><strong>Infoga eller uppdatera om unik nyckel redan finns<\/strong><\/p>\n<p><code>INSERT INTO `tableName` VALUES (?,?,?,'-1',?,'0') ON DUPLICATE KEY UPDATE `id` = ?, `foo` = ?, `bar` = ?<\/code><\/p>\n<p><strong>mySQL \u2013 kommandon f\u00f6r s\u00e4kerhetskopiering av databas<\/strong><\/p>\n<p><code>-- dump mySQL database to file: VAR=$(date +\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd%y-%m-%d\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME &gt; \/BACKUPDIR\/$VAR-DATABASENAME.sql ;<\/code><\/p>\n<p><code>-- dump mySQL database to file and then move it: VAR=$(date +\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd%y-%m-%d\u00c3\u00a2\u00ef\u00bf\u00bd\u00ef\u00bf\u00bd); mysqldump -v -uUSERNAME -pPASSWORD -hlocalhost DATABASENAME &gt; \/BACKUPDIR\/$VAR-DATABASENAME.sql ; mv \/BACKUPDIR\/DATABASENAME.sql \/OTHERBACKUPDIR\/$VAR-DATABASENAME.sql ;<\/code><\/p>\n<p><strong>MySql import<\/strong><\/p>\n<p><code>mysql -u [username] -p [dbname] &lt; [filename].sql<\/code><\/p>\n<p><strong>hitta dubbletter av poster<\/strong><\/p>\n<p><code>select address, count(address) as cnt from mailing_list group by address having cnt &gt; 1 order by cnt;<\/code><\/p>\n<p><strong>MySQL S\u00f6k och ers\u00e4tt<\/strong><\/p>\n<p><code>update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'find this string', 'replace found string with this string');<\/code><\/p>\n<p><strong>\u00c4ndra s\u00f6kv\u00e4gen till Drupal-filkatalogen<\/strong><\/p>\n<p><code>UPDATE FILES SET filepath = REPLACE(filepath, 'sites\/default\/files\/old\/','sites\/default\/files\/new\/');<\/code><\/p>\n<p><strong>Hitta alla tabeller i MySQL-databasen som inneh\u00e5ller specifika kolumnnamn<\/strong><\/p>\n<p><code>SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('columnA','ColumnB') AND TABLE_SCHEMA='YourDatabase';<\/code><\/p>\n<p><strong>Hitta v\u00e4rden som f\u00f6rekommer exakt en g\u00e5ng i tabellen<\/strong><\/p>\n<p><code>SELECT email FROM users GROUP BY email HAVING (COUNT(email) = 1 )<\/code><\/p>\n<p><strong>MySql-skript f\u00f6r att hitta ogiltiga e-postadresser<\/strong><\/p>\n<p><code>SELECT * FROM people WHERE email NOT LIKE '%_@__%.__%'<\/code><\/p>\n<p><strong>MySQL \u00e5ldersber\u00e4kning<\/strong><\/p>\n<p><code>DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(DOB, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') &lt; DATE_FORMAT(DOB, '00-%m-%d')) &gt;= 65<\/code><\/p>\n<p><strong>Left Joins f\u00f6r att l\u00e4nka tre eller fler tabeller<\/strong><\/p>\n<p><code>select * from (bdg left join res on bdg.bid = res.bid) left join dom on res.rid = dom.rid where dom.rid is NULL;<\/code><\/p>\n<p><strong>MySQL REGEX matchar kommaavgr\u00e4nsad lista<\/strong><\/p>\n<p><code>WHERE id REGEXP '(,|^){$this-&gt;id}(,|$)'<\/code><\/p>\n<p><strong>F\u00e5 slumpm\u00e4ssigt rekord baserat p\u00e5 vikt<\/strong><\/p>\n<p><code>SELECT * FROM Table ORDER BY Rand() * (1 \/ Weight<\/code><\/p>\n<p>Vi hoppas att dessa MySQL-tabellsnuttar \u00e4r det du letade efter. Vi kommer att uppdatera den h\u00e4r artikeln med andra MySQL-snuttar som vi st\u00f6ter p\u00e5 i framtiden, s\u00e5 se till att bokm\u00e4rka den.<\/p>\n<p>Om du tyckte om att l\u00e4sa den h\u00e4r artikeln om MySQL-tabellsnuttar, b\u00f6r du ocks\u00e5 l\u00e4sa dessa:<\/p>\n<ul>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/skapa-ett-crud-system-i-wordpress-plugin-wpdatatables-tables\/\" title=\"Skapa ett CRUD-system i WordPress (2018)\" >Skapa ett CRUD-system i WordPress (2018)<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/sv\/12-tips-foer-att-skapa-ett-framgaangsrikt-wordpress-tema-eller-plugin\/\" title=\"12 tips f\u00f6r att skapa ett framg\u00e5ngsrikt WordPress Premium-plugin eller tema\" >12 tips f\u00f6r att skapa ett framg\u00e5ngsrikt WordPress Premium-plugin eller tema<\/a><\/li>\n<li><a href=\"https:\/\/wpdatatables.com\/how-to-host-a-website\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Hur man \u00e4r v\u00e4rd f\u00f6r en webbplats: Alla steg f\u00f6rklaras<\/a><\/li>\n<li><a href=\"https:\/\/websensepro.com\/blog\/improve-database-performance-by-cleaning-wp_options-table\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress WP_OPTIONS tabelloptimering<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpdatatables.com\" class=\"external external_icon\">wpdatatables.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MySQL-tabellsnuttar? Ja, det finns en hel del av dem i den h\u00e4r artikeln. Men innan vi kommer till det, vad \u00e4r MySQL? L\u00e5t oss b\u00f6rja med MySQL-definitionen.<\/p>\n","protected":false},"author":1,"featured_media":206960,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[838,848,868],"tags":[1173],"class_list":["post-225913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-foer-nyboerjare","category-handledningar","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/225913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=225913"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/225913\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/206960"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=225913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=225913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=225913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}