Ich habe kürzlich an der Umstellung von MS SQL Server auf MySQL gearbeitet. Ich habe einige Erfahrungen zusammengefasst und teile sie mit Ihnen. Gleichzeitig werden diese fortlaufend aktualisiert. Ich hoffe auch, dass Sie noch mehr hinzufügen können. 1 MySQL unterstützt Enum- und Set-Typen, SQL Server unterstützt sie jedoch nicht.
2 MySQL unterstützt die Typen nchar, nvarchar und ntext nicht
3 Die Inkrementanweisung von MySQL ist AUTO_INCREMENT, während MS SQL Identity(1,1) ist.
4 Der Standardwert der Tabellenerstellungsanweisung von MS SQL ist ((0)), aber in MySQL sind zwei Klammern nicht zulässig.
5 MySQL muss den Speichertyp für die Tabelle angeben
6 Der MS SQL-Bezeichner ist [], [Typ], was bedeutet, dass er sich von Schlüsselwörtern unterscheidet, MySQL ist jedoch `, das Symbol links von Schaltfläche 1
7 MS SQL unterstützt die Methode getdate (), um die aktuelle Uhrzeit und das aktuelle Datum abzurufen. MySQL kann jedoch in Datumstyp und Zeittyp unterteilt werden. Das aktuelle Datum ist cur_date () und die aktuelle vollständige Zeit ist die Funktion now ().
8 MS SQL unterstützt die „replace into“-Anweisung nicht, aber in der neuesten Version von sql20008 wird auch die Merge-Syntax unterstützt.
9 MySQL unterstützt das Einfügen in Tabelle1 set t1 = '', t2 = '', aber MS SQL unterstützt das Schreiben auf diese Weise nicht.
10 MySQL unterstützt das Einfügen in tabl1-Werte (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL unterstützt die Limit-Anweisung nicht, was sehr bedauerlich ist. Sie können top nur zum Ersetzen von Limit 0,N und die Funktion row_number() over() zum Ersetzen von Limit N,M verwenden.
12 MySQL muss beim Erstellen einer Tabelle für jede Tabelle einen Speicher-Engine-Typ angeben, während MS SQL nur eine Speicher-Engine unterstützt
13 MySQL unterstützt den Datetime-Typ nicht, dessen Standardwert die aktuelle Zeit ist (MS SQL ist einfach zu implementieren). In MySQL wird der Timestamp-Typ verwendet.
14 Um zu überprüfen, ob diese Tabelle in MS SQL existiert, und sie dann zu löschen, müssen Sie Folgendes tun:
wenn vorhanden (wählen Sie * aus dbo.sysobjects aus, wobei id = object_id(N'uc_newpm') und OBJECTPROPERTY(id,N'IsUserTable')=1) Aber in MySQL nur DROP TABLE IF EXISTS cdb_forums;
Aber in MySQL brauchen Sie nur DROP TABLE IF EXISTS cdb_forums;
15 MySQL unterstützt vorzeichenlose Ganzzahlen und kann daher doppelt so viele maximale Zahlen speichern wie MS SQL, das keine vorzeichenlosen Ganzzahlen unterstützt.
16 MySQL unterstützt den sehr praktischen Typ varchar(max) in MS SQL nicht. Dieser Typ kann sowohl für die allgemeine Datenspeicherung als auch für die Blob-Datenspeicherung in MS SQL verwendet werden.
17 Um einen nicht gruppierten Index in MySQL zu erstellen, müssen Sie ihn beim Erstellen der Tabelle nur als Schlüssel angeben. Beispiel: KEY displayorder (fid, displayorder).
Erstellen Sie einen eindeutigen, nicht gruppierten Indexindex_uc_protectedmembers_username_appid auf dbo.uc_protectedmembers(username asc,appid asc)
18 Der MySQL-Textfeldtyp lässt keine Standardwerte zu
19Die Gesamtfeldlänge einer MySQL-Tabelle überschreitet nicht 65XXX.
20 Ein sehr oberflächlicher Unterschied besteht darin, dass die Installation von MySQL sehr einfach ist und die Dateigröße nur 110 MB beträgt (Nicht-Installationsversion). Im Vergleich zum Giganten Microsoft ist der Installationsfortschritt einfach ...
21MySQL verfügt über mehrere bessere Verwaltungstools, darunter MySQL_front und die offizielle Suite, aber sie sind nicht so einfach zu verwenden wie SSMS. Dies ist ein großes Manko von MySQL.
22Die gespeicherten Prozeduren von MySQL werden nur in der neuesten Version angezeigt und die Stabilität und Leistung sind möglicherweise nicht so gut wie bei MS SQL.
23 Bei gleichem Lastdruck verbraucht MySQL weniger CPU und Speicher, während MS SQL tatsächlich sehr ressourcenintensiv ist.
24php verfügt über ähnliche Methoden zur Verbindung mit MySQL und MS SQL. Sie müssen lediglich die MySQL-Funktion durch MS SQL ersetzen.
25MySQL unterstützt Datums-, Uhrzeit- und Jahrestypen. MS SQL unterstützt nur Datum und Uhrzeit im Jahr 2008.