Récemment, j'ai travaillé sur la conversion de MS SQL Server vers MySQL, j'ai résumé une expérience et je la partage avec vous. Dans le même temps, ceux-ci seront continuellement mis à jour. J'espère également que vous pourrez en ajouter davantage. 1 MySQL prend en charge les types enum et set, mais SQL Server ne les prend pas en charge.
2 MySQL ne prend pas en charge les types nchar, nvarchar et ntext
3 L'instruction d'incrémentation de MySQL est AUTO_INCREMENT, tandis que MS SQL est Identity(1,1)
4 La valeur par défaut de l'instruction de création de table de MS SQL est ((0)), mais dans MySQL, deux parenthèses ne sont pas autorisées.
5 MySQL doit spécifier le type de stockage de la table
6 L'identifiant MS SQL est [], [type], ce qui signifie qu'il est différent des mots-clés, mais MySQL est `, qui est le symbole à gauche du bouton 1
7 MS SQL prend en charge la méthode getdate() pour obtenir l'heure et la date actuelles, mais MySQL peut être divisé en type de date et en type d'heure. La date actuelle est cur_date(), et l'heure complète actuelle est la fonction now().
8 MS SQL ne prend pas en charge l'instruction replace into, mais dans la dernière version sql20008, la syntaxe de fusion est également prise en charge.
9 MySQL prend en charge l'insertion dans la table1 set t1 = '', t2 = '', mais MS SQL ne prend pas en charge l'écriture de cette façon.
10 MySQL prend en charge l'insertion dans les valeurs tabl1 (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL ne prend pas en charge l'instruction limit, ce qui est très regrettable. Vous ne pouvez utiliser top que pour remplacer limit 0,N, et la fonction row_number() over() pour remplacer limit N,M.
12 MySQL doit spécifier un type de moteur de stockage pour chaque table lors de la création d'une table, alors que MS SQL ne prend en charge qu'un seul moteur de stockage
13 MySQL ne prend pas en charge le type datetime dont la valeur par défaut est l'heure actuelle (MS SQL est facile à faire. Dans MySQL, le type timestamp est utilisé).
14 Pour vérifier si cette table existe dans MS SQL puis la supprimer, vous devez procéder comme suit :
s'il existe (sélectionnez * dans dbo.sysobjects où id = object_id(N'uc_newpm') et OBJECTPROPERTY(id,N'IsUserTable')=1) Mais dans MySQL uniquement DROP TABLE IF EXISTS cdb_forums;
Mais dans MySQL, vous n'avez besoin que de DROP TABLE IF EXISTS cdb_forums ;
15 MySQL prend en charge les entiers non signés, il peut donc stocker deux fois plus de nombres maximum que MS SQL, qui ne prend pas en charge les entiers non signés.
16 MySQL ne prend pas en charge le type varchar(max) très pratique dans MS SQL. Ce type peut être utilisé à la fois pour le stockage de données générales et pour le stockage de données blob dans MS SQL.
17 Pour créer un index non clusterisé dans MySQL, il vous suffit de le spécifier comme clé lors de la création de la table. Par exemple : KEY displayorder (fid, displayorder). Dans MS SQL, vous devez :
créer un indexindex_uc_protectedmembers_username_appid non clusterisé unique sur dbo.uc_protectedmembers (nom d'utilisateur asc,appid asc)
18 Le type de champ de texte MySQL n'autorise pas les valeurs par défaut
19La longueur totale des champs d'une table MySQL ne dépasse pas 65XXX.
20 Une différence très superficielle est que l'installation de MySQL est très simple et que la taille du fichier n'est que de 110 Mo (version sans installation). Par rapport au géant Microsoft, la progression de l'installation est simplement...
21MySQL dispose de plusieurs meilleurs outils de gestion, notamment MySQL_front et la suite officielle, mais ils ne sont pas aussi faciles à utiliser que SSMS. C'est une grosse lacune de MySQL.
22Les procédures stockées de MySQL n'apparaissent que dans la dernière version, et la stabilité et les performances peuvent ne pas être aussi bonnes que celles de MS SQL.
23 Sous la même pression de charge, MySQL consomme moins de CPU et de mémoire, alors que MS SQL est en effet très consommateur de ressources.
24php a des méthodes similaires de connexion à MySQL et MS SQL. Il vous suffit de remplacer la fonction MySQL par MS SQL.
25MySQL prend en charge les types de date, d'heure et d'année. MS SQL ne prend en charge que la date et l'heure en 2008.