<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP-kurs &#187; MySQL</title>
	<atom:link href="http://www.phpkurs.se/category/mysql/feed" rel="self" type="application/rss+xml" />
	<link>http://www.phpkurs.se</link>
	<description>Lär dig PHP och MySQL på distanskurs</description>
	<lastBuildDate>Sun, 23 Oct 2011 08:35:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Glöm inte funktionerna i SQL</title>
		<link>http://www.phpkurs.se/mysql/glom-inte-funktionerna-i-sql.html</link>
		<comments>http://www.phpkurs.se/mysql/glom-inte-funktionerna-i-sql.html#comments</comments>
		<pubDate>Thu, 28 Jan 2010 21:10:20 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Funktioner]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=263</guid>
		<description><![CDATA[Ibland känner jag att man glömmer funktionerna i SQL (den tekniken vi använder för kommunicerar med databasen). I mycket litteratur och annat jag ser lär man sig SELECT, INSERT, UPDATE och sedan inte mycket mer. Alla operationer görs sedan i PHP-koden. Men till exempel MySQL har många inbyggda funktioner, som kan vara snabbare att använda [...]]]></description>
			<content:encoded><![CDATA[<p>Ibland känner jag att man glömmer funktionerna i SQL (den tekniken vi använder för kommunicerar med databasen). I mycket litteratur och annat jag ser lär man sig <code>SELECT</code>,<code> INSERT</code>, <code>UPDATE</code> och sedan inte mycket mer. Alla operationer görs sedan i PHP-koden. Men till exempel MySQL har <a href="http://dev.mysql.com/doc/refman/5.4/en/func-op-summary-ref.html" rel="nofollow"  target="_blank" class="external">många inbyggda funktioner</a>, som kan vara snabbare att använda och som sparar mycket kod.</p>
<p>Jag råkade här om dagen på <a href="http://davidwalsh.name/mysqls-replace-phps-strreplace" rel="nofollow"  target="_blank" class="external">ett inlägg av David Walsh, &#8221;MySQL&#8217;s REPLACE is PHP&#8217;s STR_REPLACE()&#8221;</a>, där han ersätter text med MySQLs gunktion istället för PHPs. Senast idag kunde jag använt en när jag flytta en WordPress Mu blogg till en annan server och skulle ersätta alla sökvägar (men med backup först!)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">UPDATE</span> mytable <span style="color: #993333; font-weight: bold;">SET</span> content <span style="color: #66cc66;">=</span> <span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span>content<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'kurswebben.se'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'phpkurs.se'</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/mysql/glom-inte-funktionerna-i-sql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vad händer med MySQLs framtid i Oracles regi?</title>
		<link>http://www.phpkurs.se/mysql/vad-hander-med-mysqls-framtid-i-oracles-regi.html</link>
		<comments>http://www.phpkurs.se/mysql/vad-hander-med-mysqls-framtid-i-oracles-regi.html#comments</comments>
		<pubDate>Tue, 28 Apr 2009 13:57:38 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Databaser]]></category>
		<category><![CDATA[fri mjukvara]]></category>
		<category><![CDATA[it-affärer]]></category>
		<category><![CDATA[öppen källkod]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=156</guid>
		<description><![CDATA[För någon vecka sedan stod det klart att Oracle köper Sun, och därmed MySQL. MySQL är den mesta använda databasen med PHP, och vi använder den också i kursen. MySQL är släppt som fri mjukvara under GPL-licensen så att den kommer finnas kvar fri i någon variant är nog troligt, men hur kommer framtida utveckling [...]]]></description>
			<content:encoded><![CDATA[<p>För någon vecka sedan stod det klart att Oracle köper Sun, och därmed MySQL. MySQL är den mesta använda databasen med PHP, och vi använder den också i kursen. MySQL är släppt som fri mjukvara under GPL-licensen så att den kommer finnas kvar fri i någon variant är nog troligt, men hur kommer framtida utveckling se ut? Här kan man läser lite mer för den som vill förkovra sig:</p>
<ul>
<li><a href="http://www.dn.se/ekonomi/oracle-koper-sun-1.848128" rel="nofollow"  target="_blank" class="external">Oracle köper Sun (DN)</a></li>
<li><a href="http://www.sitepoint.com/blogs/2009/04/26/oracle-sun-mysql/" rel="nofollow"  target="_blank" class="external">Oracle and MySQL: Ally or Die? (Sitepoints)</a></li>
<li><a href="http://www.64bits.se/2009/04/mojliga-effekter-av-oraclesun-affaren/" rel="nofollow"  target="_blank" class="external">Möjliga effekter av Oracle/Sun-affären (64bits)</a></li>
<li><a href="http://www.natkoll.se/2009/04/21/oracle-koper-sun-och-darmed-aven-mysql/" rel="nofollow"  target="_blank" class="external">Oracle köper Sun och därmed även MySQL (Nätkoll)</a></li>
<li><a href="http://www.idg.se/2.1085/1.225116/oracles-ofordelaktiga-rykte-kan-stalla-till-det" rel="nofollow"  target="_blank" class="external">Oracles ofördelaktiga rykte kan ställa till det</a></li>
<li><a href="http://www.macpro.se/?p=2114" rel="nofollow"  target="_blank" class="external">MySQL nu i händerna på Oracle</a></li>
</ul>
<div class="bloggar-se">
Läs även andra bloggares åsikter om <a href="http://bloggar.se/om/mysql" rel="nofollow"  rel="tag">mysql</a>, <a href="http://bloggar.se/om/oracle" rel="nofollow"  rel="tag">oracle</a>, <a href="http://bloggar.se/om/it-aff%E4rer" rel="nofollow"  rel="tag">it-affärer</a>, <a href="http://bloggar.se/om/databaser" rel="nofollow"  rel="tag">databaser</a>, <a href="http://bloggar.se/om/opensource" rel="nofollow"  rel="tag">opensource</a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/mysql/vad-hander-med-mysqls-framtid-i-oracles-regi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transaktionssäkerhet och webbhotellet One.com</title>
		<link>http://www.phpkurs.se/mysql/transaktionssakerhet-och-webbhotellet-onecom.html</link>
		<comments>http://www.phpkurs.se/mysql/transaktionssakerhet-och-webbhotellet-onecom.html#comments</comments>
		<pubDate>Mon, 23 Mar 2009 17:36:02 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[myisam]]></category>
		<category><![CDATA[tabellformat]]></category>
		<category><![CDATA[transaktioner]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=110</guid>
		<description><![CDATA[Jag håller på med ett uppdrag åt en kund som har plats på One.com (danskt billigt webbhotell som är välanvänt av svenskar). Vid en snabb överblick tänkte jag att det bara var att flytta över allt och köra på. Riktigt så lätt var det förstås inte&#8230; Transaktionssäkerhet Transaktionssäkerhet är en funktion som man bland annat [...]]]></description>
			<content:encoded><![CDATA[<p>Jag håller på med ett uppdrag åt en kund som har plats på <a href="http://www.one.com/init.do?locale=sv_SE"class="external" rel="nofollow"  target="_blank">One.com</a> (danskt billigt webbhotell som är välanvänt av svenskar). Vid en snabb överblick tänkte jag att det bara var att flytta över allt och köra på. Riktigt så lätt var det förstås inte&#8230;</p>
<p><strong>Transaktionssäkerhet</strong><br />
Transaktionssäkerhet är en funktion som man bland annat kan använda med MySQL tabeller om man ger dem formatet <a href="http://en.wikipedia.org/wiki/InnoDB" rel="nofollow" title="InnoDB på WikiPedia"  target="_blank">InnoDB</a> istället för det vanligare <a href="http://en.wikipedia.org/wiki/MyISAM" rel="nofollow" title="MyIsam på WikiPedia"  target="_blank">MyISAM</a>. Transaktionssäkerhet innebär att du kan genomföra en rad databasfrågar och om någon slår fel ut kan &#8221;rulla tillbaka&#8221; dem, det vill säga <strong>ångra</strong> allt. Exempel:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// koppla till mysql</span>
<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'user'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'pass'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// välj databas</span>
<span style="color: #990000;">mysql_select_db</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'dbname'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// skicka en fråga för att starta transaktionssäkerhet</span>
<span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'START TRANSACTION'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// kör lite frågor, här radera användare och dess bilder</span>
<span style="color: #000088;">$user_delete</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'DELETE FROM users WHERE user_id = 2'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$user_image_delete</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'DELETE FROM images WHERE image_user = 2'</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// om frågorna lyckades</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$user_delete</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$user_image_delete</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// genomför databasfrågorna</span>
  <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'COMMIT'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// eller ångra</span>
<span style="color: #009900;">&#125;</span>  <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ROLLBACK'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">mysql_close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Koden ovan är förstås inte helt bra, jag skrev så kort som möjligt för att visa principen :) Poängen är att du kan manipulera mycket relaterad data i många tabeller, utan risk för att skapa hål när en viss fråga misslyckas.</p>
<p>Säg  att du ska radera en bildkategori i ett galleri, men när du ska flytta bilderna i den till en annan kategori så misslyckas det. Du har en massa herrelösa bilder, som inte ägs av någon kategori&#8230; de bara ligger i systemet utan att visas. Perfekt läge att kunna backa/ångra alla ändringarna.</p>
<p>Helst skulle jag vilja använd transaktioner jämt, men det finns nackdelar. Som jag nämnde stöds det inte av alla webbhotell. Det är också snabbare med MySQLs MyISAM-tabeller än med InnoDB, och MyISAM stödjer inte transaktioner.</p>
<p><span style="color: #999999;">(Det här är ingen kritik-aritkel mot one.com, snarare en information till de som funderar på att byta men vill använda InnoDB)</span>.</p>
<div class="bloggar-se">Läs även andra bloggares åsikter om <a href="http://bloggar.se/om/php" rel="nofollow"  rel="tag">php</a>, <a href="http://bloggar.se/om/mysql" rel="nofollow"  rel="tag">mysql</a>, <a href="http://bloggar.se/om/databas" rel="nofollow"  rel="tag">databas</a>, <a href="http://bloggar.se/om/innodb" rel="nofollow"  rel="tag">innodb</a>, <a href="http://bloggar.se/om/myisam" rel="nofollow"  rel="tag">myisam</a>, <a href="http://bloggar.se/om/kurser" rel="nofollow"  rel="tag">kurser</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/mysql/transaktionssakerhet-och-webbhotellet-onecom.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

