<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.253.248</id>
	<title>Wikizone - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stephanschlegel.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.216.253.248"/>
	<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=Spezial:Beitr%C3%A4ge/94.216.253.248"/>
	<updated>2026-05-07T01:24:01Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=MySQL_-_Cheat_Sheet&amp;diff=18963</id>
		<title>MySQL - Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=MySQL_-_Cheat_Sheet&amp;diff=18963"/>
		<updated>2012-02-07T08:51:03Z</updated>

		<summary type="html">&lt;p&gt;94.216.253.248: mySQL Code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Query ===&lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM table&lt;br /&gt;
 SELECT * FROM table1, table2, ...&lt;br /&gt;
 SELECT field1, field2, ... FROM table1, table2, ...&lt;br /&gt;
 SELECT ... FROM ... WHERE condition&lt;br /&gt;
 SELECT ... FROM ... WHERE condition GROUP BY field&lt;br /&gt;
 SELECT ... FROM ... WHERE condition GROUP BY field HAVING condition2&lt;br /&gt;
 SELECT ... FROM ... WHERE condition ORDER BY field1, field2&lt;br /&gt;
 SELECT ... FROM ... WHERE condition ORDER BY field1, field2 DESC&lt;br /&gt;
 SELECT ... FROM ... WHERE condition LIMIT 10&lt;br /&gt;
 SELECT DISTINCT field1 FROM ...&lt;br /&gt;
 SELECT DISTINCT field1, field2 FROM ...&lt;br /&gt;
&lt;br /&gt;
 SELECT ... FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE condition&lt;br /&gt;
 SELECT ... FROM t1 LEFT JOIN t2 ON t1.id1 = t2.id2 WHERE condition&lt;br /&gt;
 SELECT ... FROM t1 JOIN (t2 JOIN t3 ON ...) ON ...&lt;br /&gt;
 SELECT ... FROM t1 JOIN t2 USING(id) WHERE condition&lt;br /&gt;
&lt;br /&gt;
=== Conditionals ===&lt;br /&gt;
 field1 = value1&lt;br /&gt;
 field1 &amp;lt;&amp;gt; value1&lt;br /&gt;
 field1 LIKE &amp;#039;value _ %&amp;#039;&lt;br /&gt;
 field1 IS NULL&lt;br /&gt;
 field1 IS NOT NULL&lt;br /&gt;
 field1 IN (value1, value2)&lt;br /&gt;
 field1 NOT IN (value1, value2)&lt;br /&gt;
 condition1 AND condition2&lt;br /&gt;
 condition1 OR condition2&lt;br /&gt;
&lt;br /&gt;
=== Data Manipulation ===&lt;br /&gt;
&lt;br /&gt;
 INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...)&lt;br /&gt;
 INSERT table1 SET field1=value_1, field2=value_2 ...&lt;br /&gt;
&lt;br /&gt;
 DELETE FROM table1 / TRUNCATE table1&lt;br /&gt;
 DELETE FROM table1 WHERE condition&lt;br /&gt;
 -- join:&lt;br /&gt;
 DELETE FROM table1, table2 WHERE table1.id1 = table2.id2 AND condition&lt;br /&gt;
&lt;br /&gt;
 UPDATE table1 SET field1=new_value1 WHERE condition&lt;br /&gt;
 -- join:&lt;br /&gt;
 UPDATE table1, table2 SET field1=new_value1, field2=new_value2, ...&lt;br /&gt;
 WHERE table1.id1 = table2.id2 AND condition&lt;br /&gt;
&lt;br /&gt;
=== Browsing ===&lt;br /&gt;
&lt;br /&gt;
 SHOW DATABASES&lt;br /&gt;
 SHOW TABLES&lt;br /&gt;
 SHOW FIELDS FROM table / SHOW COLUMNS FROM table / DESCRIBE table / DESC table / EXPLAIN table&lt;br /&gt;
 SHOW CREATE TABLE table&lt;br /&gt;
 SHOW PROCESSLIST&lt;br /&gt;
 KILL process_number&lt;br /&gt;
&lt;br /&gt;
 $ mysqlshow&lt;br /&gt;
 $ mysqlshow database&lt;br /&gt;
&lt;br /&gt;
=== Create / delete / select / alter database ===&lt;br /&gt;
&lt;br /&gt;
 CREATE DATABASE [IF NOT EXIST] mabase [CHARACTER SET charset] [COLLATE collation]&lt;br /&gt;
 CREATE DATABASE mabase CHARACTER SET utf8&lt;br /&gt;
 DROP DATABASE mabase&lt;br /&gt;
 USE mabase&lt;br /&gt;
&lt;br /&gt;
 ALTER DATABASE mabase CHARACTER SET utf8&lt;br /&gt;
&lt;br /&gt;
=== Create/delete/modify table ===&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE table (field1 type1, field2 type2, ...)&lt;br /&gt;
 CREATE TABLE table (field1 type1, field2 type2, ..., INDEX (field))&lt;br /&gt;
 CREATE TABLE table (field1 type1, field2 type2, ..., PRIMARY KEY (field1))&lt;br /&gt;
 CREATE TABLE table (field1 type1, field2 type2, ..., PRIMARY KEY (field1, field2))&lt;br /&gt;
 CREATE TABLE table1 (fk_field1 type1, field2 type2, ...,&lt;br /&gt;
   FOREIGN KEY (fk_field1) REFERENCES table2 (t2_fieldA))&lt;br /&gt;
     [ON UPDATE|ON DELETE] [CASCADE|SET NULL]&lt;br /&gt;
 CREATE TABLE table1 (fk_field1 type1, fk_field2 type2, ...,&lt;br /&gt;
   FOREIGN KEY (fk_field1, fk_field2) REFERENCES table2 (t2_fieldA, t2_fieldB))&lt;br /&gt;
 CREATE TABLE table IF NOT EXISTS (...)&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE new_tbl_name LIKE tbl_name&lt;br /&gt;
   [SELECT ... FROM tbl_name ...]&lt;br /&gt;
&lt;br /&gt;
 CREATE TEMPORARY TABLE table (...)&lt;br /&gt;
&lt;br /&gt;
 DROP TABLE table&lt;br /&gt;
 DROP TABLE IF EXISTS table&lt;br /&gt;
 DROP TABLE table1, table2, ...&lt;br /&gt;
 DROP TEMPORARY TABLE table&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE table MODIFY field1 type1 &lt;br /&gt;
 ALTER TABLE table MODIFY field1 type1 NOT NULL ... &lt;br /&gt;
 ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1&lt;br /&gt;
 ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 NOT NULL ...&lt;br /&gt;
 ALTER TABLE table ALTER field1 SET DEFAULT ...&lt;br /&gt;
 ALTER TABLE table ALTER field1 DROP DEFAULT&lt;br /&gt;
 ALTER TABLE table ADD new_name_field1 type1&lt;br /&gt;
 ALTER TABLE table ADD new_name_field1 type1 FIRST&lt;br /&gt;
 ALTER TABLE table ADD new_name_field1 type1 AFTER another_field&lt;br /&gt;
 ALTER TABLE table DROP field1&lt;br /&gt;
 ALTER TABLE table ADD INDEX (field);&lt;br /&gt;
 ALTER TABLE table ADD PRIMARY KEY (field);&lt;br /&gt;
&lt;br /&gt;
 -- Change field order:&lt;br /&gt;
 ALTER TABLE table MODIFY field1 type1 FIRST&lt;br /&gt;
 ALTER TABLE table MODIFY field1 type1 AFTER another_field&lt;br /&gt;
 ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 FIRST&lt;br /&gt;
 ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 AFTER another_field&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE old_name RENAME new_name;&lt;br /&gt;
&lt;br /&gt;
=== Keys ===&lt;br /&gt;
&lt;br /&gt;
 CREATE TABLE table (..., PRIMARY KEY (field1, field2))&lt;br /&gt;
 CREATE TABLE table (..., FOREIGN KEY (field1, field2) REFERENCES table2 (t2_field1, t2_field2))&lt;br /&gt;
 ALTER TABLE table ADD PRIMARY KEY (field);&lt;br /&gt;
&lt;br /&gt;
=== Privileges ===&lt;br /&gt;
&lt;br /&gt;
 GRANT ALL PRIVILEGES ON base.* TO &amp;#039;user&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;password&amp;#039;;&lt;br /&gt;
 GRANT SELECT, INSERT, DELETE ON base.* TO &amp;#039;user&amp;#039;@&amp;#039;localhost&amp;#039; IDENTIFIED BY &amp;#039;password&amp;#039;;&lt;br /&gt;
 REVOKE ALL PRIVILEGES ON base.* FROM &amp;#039;user&amp;#039;@&amp;#039;host&amp;#039;; -- one permission only&lt;br /&gt;
 REVOKE ALL PRIVILEGES, GRANT OPTION FROM &amp;#039;user&amp;#039;@&amp;#039;host&amp;#039;; -- all permissions&lt;br /&gt;
&lt;br /&gt;
 SET PASSWORD = PASSWORD(&amp;#039;new_pass&amp;#039;)&lt;br /&gt;
 SET PASSWORD FOR &amp;#039;user&amp;#039;@&amp;#039;host&amp;#039; = PASSWORD(&amp;#039;new_pass&amp;#039;)&lt;br /&gt;
 SET PASSWORD = OLD_PASSWORD(&amp;#039;new_pass&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
 DROP USER &amp;#039;user&amp;#039;@&amp;#039;host&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Main data types ===&lt;br /&gt;
&lt;br /&gt;
 TINYINT (1o: -127+128) SMALLINT (2o: +-65 000)&lt;br /&gt;
   MEDIUMINT (3o: +-16 000 000) INT (4o: +- 2 000 000 000)&lt;br /&gt;
   BIGINT (8o: +-9.10^18)&lt;br /&gt;
   Precise interval: -(2^(8*N-1)) -&amp;gt; (2^8*N)-1&lt;br /&gt;
   /!\ INT(2) = &amp;quot;2 digits displayed&amp;quot; -- NOT &amp;quot;number with 2 digits max&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 INT NOT NULL auto_increment PRIMARY KEY -- auto-counter for PK&lt;br /&gt;
&lt;br /&gt;
 FLOAT(M,D) DOUBLE(M,D) FLOAT(D=0-&amp;gt;53) &lt;br /&gt;
   /!\ 8,3 -&amp;gt; 12345,678 -- NOT 12345678,123!&lt;br /&gt;
&lt;br /&gt;
 TIME (HH:MM) YEAR (AAAA) DATE (AAAA-MM-JJ) DATETIME (AAAA-MM-JJ HH:MM; années 1000-&amp;gt;9999)&lt;br /&gt;
   TIMESTAMP (like DATETIME, but 1970-&amp;gt;2038, compatible with Unix)&lt;br /&gt;
&lt;br /&gt;
 VARCHAR (single-line; explicit size)  TEXT (multi-lines; max size=65535)  BLOB (binary; max size=65535)&lt;br /&gt;
   Variants for TEXT&amp;amp;BLOB: TINY (max=255) MEDIUM (max=~16000) LONG (max=4Go)&lt;br /&gt;
  Ex: VARCHAR(32), TINYTEXT, LONGBLOB, MEDIUMTEXT&lt;br /&gt;
&lt;br /&gt;
 ENUM (&amp;#039;value1&amp;#039;, &amp;#039;value2&amp;#039;, ...) -- (default NULL, or &amp;lt;nowiki&amp;gt;&amp;#039;&amp;#039;&amp;lt;/nowiki&amp;gt; if NOT NULL)&lt;br /&gt;
&lt;br /&gt;
=== Forgot root password? ===&lt;br /&gt;
&lt;br /&gt;
 $ /etc/init.d/mysql stop&lt;br /&gt;
 $ mysqld_safe --skip-grant-tables&lt;br /&gt;
 $ mysql # on another terminal&lt;br /&gt;
 mysql&amp;gt; UPDATE mysql.user SET password=PASSWORD(&amp;#039;nouveau&amp;#039;) WHERE user=&amp;#039;root&amp;#039;;&lt;br /&gt;
 ## Kill mysqld_safe from the terminal, using Control + \&lt;br /&gt;
 $ /etc/init.d/mysql start&lt;br /&gt;
&lt;br /&gt;
=== Repair tables after unclean shutdown ===&lt;br /&gt;
&lt;br /&gt;
 mysqlcheck --all-databases&lt;br /&gt;
 mysqlcheck --all-databases --fast&lt;br /&gt;
&lt;br /&gt;
[[Category:{{FULLBOOKNAME}}|{{FULLCHAPTERNAME}}]]&lt;/div&gt;</summary>
		<author><name>94.216.253.248</name></author>
	</entry>
	<entry>
		<id>https://wiki.stephanschlegel.de/index.php?title=MySQL&amp;diff=18962</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.stephanschlegel.de/index.php?title=MySQL&amp;diff=18962"/>
		<updated>2012-02-07T08:50:43Z</updated>

		<summary type="html">&lt;p&gt;94.216.253.248: /* mySQL - Tips und Tricks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Informationen zur Datenbank aber auch Tipps zur Bedienung etc.&lt;br /&gt;
== mySQL - Tips und Tricks ==&lt;br /&gt;
[[mySQL - Tips und Tricks]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== mySQL - Cheat Sheet ==&lt;br /&gt;
[[mySQL - Cheat Sheet]]&lt;br /&gt;
&lt;br /&gt;
== mySQL auf der Kommandozeile ==&lt;br /&gt;
[[mySQL - Kommandozeile]]&lt;br /&gt;
&lt;br /&gt;
== Codeschnipsel ==&lt;br /&gt;
=== Typ der Tabellen festlegen ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE TABLE `foo` {&lt;br /&gt;
...&lt;br /&gt;
} ENGINE=InnoDB&lt;br /&gt;
&lt;br /&gt;
CREATE TABLE `bar` {&lt;br /&gt;
...&lt;br /&gt;
} ENGINE=MyISAM&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== InnoDB aktivieren ===&lt;br /&gt;
&lt;br /&gt;
Zitat aus http://www.marmotli.ch/mysql/node35.html&lt;br /&gt;
&lt;br /&gt;
5.2.1 Aktivieren der InnoDB-Tabellen&lt;br /&gt;
&lt;br /&gt;
Das Arbeiten mit dem Tabellentyp &amp;#039;InnoDB&amp;#039; setzt voraus, dass der MySQL-Server mit diesem Tabellentyp hochgefahren wird.&lt;br /&gt;
&lt;br /&gt;
Unter Debian 3.0 d.h. falls wir MySQL gemäss dieser Anleitung aufgesetzt haben, steht der InnoDB-Tabellentyp zunächst nicht zur Verfügung. Nicht weil MySQL 4.0.13 das nicht unterstützen würde, sondern weil wir die my.cnf-Datei von der Version 3.23.x übernommen haben und das dort nicht aktiviert war. Um die InnoDB-Tabellen nun zu aktivieren, müssen wir einige Änderungen in der Datei &amp;#039;/etc/mysql/my.cnf&amp;#039; vornehmen:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # Read the manual if you want to enable InnoDB!&lt;br /&gt;
 # skip-innodb&lt;br /&gt;
 innodb_data_home_dir =&lt;br /&gt;
 innodb_data_file_path = /var/lib/mysql/ibdata/ibdata1:100M:autoextend&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zunächst muss &amp;#039;skip-innodb&amp;#039; deaktiviert werden. Danach müssen wir den Speicherort für die Tabellen angeben. Falls wir &amp;#039;innodb_data_home_dir&amp;#039; leer belassen, verwendet MySQL den normalen Datenpfad der Datenbanken. Dort werden einige Temporär-Dateien erstellt. Den Speicherort für die InnoDB-Tabellen legen wir mit dem Wert &amp;#039;innodb_data_file_path&amp;#039; fest. Wir verwenden wiederum den Speicherort für die MySQL-Datenbanken sowie das Unterverzeichnis &amp;#039;ibdata&amp;#039;. Dieses Verzeichnis muss von Hand angelegt werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /var/lib/mysql/ibdata&lt;br /&gt;
 chown -R mysql /var/lib/mysql/ibdata&lt;br /&gt;
 chgrp -R mysql /var/lib/mysql/ibdata&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um die InnoDB-Tabellen endgültig nutzen zu können, müssen wir den MySQL-Server neu initialisieren:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/mysql restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Neustart dauert einige Sekunden, weil die InnoDB-Tabellen zunächst initialisiert werden müssen. Um zu überprüfen, ob die InnoDB-Tabellen nun aktiviert sind, können wir in &amp;#039;/var/lib/mysql/ibdata&amp;#039; nachsehen. Falls Sie dort eine Datei vorfinden, ist alles ok.&lt;br /&gt;
&lt;br /&gt;
=== Werte aus Komma getrennter Liste auswerten ===&lt;br /&gt;
Vor allem im Zusammenhang mit Typo3 Datenbanken kommt es oft dazu, daß man integer Werte in Komma-separierten Listen in einem Datenbank vorfindet. Auf diese Weise erzeugt Typo3 in der Standardeinstellung n:m Verknüpfungen (aber auch 1 : n Verknüpfungen).&lt;br /&gt;
&lt;br /&gt;
Beim Auslesen ist das aber eher nachteilig. Eine geschicktere Methode als IN ab mysql 4 (meines Wissens) ist der Befehl FIND_IN_SET.  &lt;br /&gt;
&lt;br /&gt;
Die IN - Abfrage ist nur für Ganze Feldlängen zutreffend, also &lt;br /&gt;
&amp;#039;1&amp;#039;,&amp;#039;2&amp;#039;,&amp;#039;3&amp;#039;,&amp;#039;4&amp;#039;,&amp;#039;5&amp;#039;,usw, ...&lt;br /&gt;
&lt;br /&gt;
Bei der Funktion FIND_IN_SET sucht MySQL in einer bestimmten Zeile und gibt die&lt;br /&gt;
Stelle zurück an der der Wert in der LISTE steht.&lt;br /&gt;
&lt;br /&gt;
 FIND_IN_SET(WERT,LISTE)&lt;br /&gt;
&lt;br /&gt;
In Typo3 gibts auch die Methode:&lt;br /&gt;
 AND &amp;#039;.$GLOBALS[&amp;#039;TYPO3_DB&amp;#039;]-&amp;gt;listQuery(&amp;#039;feldname&amp;#039;,5,&amp;#039;tabellenname&amp;#039;).&amp;#039; &lt;br /&gt;
Die aber ein kompliziertes und wenig Performantes SQL Konstrukt erzeugt.&lt;br /&gt;
&lt;br /&gt;
Vielleicht wird die Funktion ja noch umgebaut ;-)&lt;br /&gt;
&lt;br /&gt;
== MySQL - Daten importieren und exportieren ==&lt;br /&gt;
[[MySQL - Daten importieren und exportieren]]&lt;/div&gt;</summary>
		<author><name>94.216.253.248</name></author>
	</entry>
</feed>