Recientemente he estado trabajando en la conversión de MS SQL Server a MySQL. He resumido algunas experiencias y las comparto con ustedes. Al mismo tiempo, estos se actualizarán continuamente. También espero que puedas agregar más. 1 MySQL admite tipos de enumeración y conjuntos, pero SQL Server no los admite.
2 MySQL no admite los tipos nchar, nvarchar y ntext
3 La declaración de incremento de MySQL es AUTO_INCREMENT, mientras que MS SQL es identidad (1,1)
4 El valor predeterminado de la declaración de creación de tablas de MS SQL es ((0)), pero en MySQL no se permiten dos paréntesis.
5 MySQL necesita especificar el tipo de almacenamiento para la tabla
6 El identificador de MS SQL es [], [tipo], lo que significa que es diferente de las palabras clave, pero MySQL es `, que es el símbolo a la izquierda del botón 1.
7 MS SQL admite el método getdate () para obtener la hora y fecha actuales, pero MySQL se puede dividir en tipo de fecha y tipo de hora. La fecha actual es cur_date () y la hora completa actual es la función now ().
8 MS SQL no admite la instrucción de reemplazo, pero en el último sql20008, también se admite la sintaxis de combinación.
9 MySQL admite la inserción en el conjunto table1 t1 = '', t2 = '', pero MS SQL no admite la escritura de esta manera.
10 MySQL admite la inserción en tabl1 de valores (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL no admite la declaración de límite, lo cual es muy lamentable. Solo puede usar top para reemplazar el límite 0,N y la función row_number() over() para reemplazar el límite N,M.
12 MySQL debe especificar un tipo de motor de almacenamiento para cada tabla al crear una tabla, mientras que MS SQL solo admite un motor de almacenamiento
13 MySQL no admite el tipo de fecha y hora cuyo valor predeterminado es la hora actual (MS SQL es fácil de hacer en MySQL, se usa el tipo de marca de tiempo).
14 Para verificar si esta tabla existe en MS SQL y luego eliminarla, debe hacer esto:
si existe (seleccione * de dbo.sysobjects donde id = object_id(N'uc_newpm') y OBJECTPROPERTY(id,N'IsUserTable')=1) Pero en MySQL solo DROP TABLE IF EXISTS cdb_forums;
Pero en MySQL sólo necesitas DROP TABLE IF EXISTS cdb_forums;
15 MySQL admite enteros sin signo, por lo que puede almacenar el doble de números máximos que MS SQL, que no admite enteros sin signo.
16 MySQL no admite el muy conveniente tipo varchar(max) en MS SQL. Este tipo se puede utilizar tanto para el almacenamiento de datos generales como para el almacenamiento de datos de blobs en MS SQL.
17 Para crear un índice no agrupado en MySQL, solo necesita especificarlo como clave al crear la tabla. Por ejemplo: KEY displayorder (fid, displayorder).
cree un índice no agrupado únicoindex_uc_protectedmembers_username_appid en dbo.uc_protectedmembers(nombre de usuario asc,appid asc)
18 El tipo de campo de texto MySQL no permite valores predeterminados
19La longitud total de los campos de una tabla MySQL no supera los 65XXX.
20 Una diferencia muy superficial es que la instalación de MySQL es muy simple y el tamaño del archivo es de solo 110 M (versión sin instalación). En comparación con el gigante Microsoft, el progreso de la instalación es simplemente...
21MySQL tiene varias herramientas de administración mejores, incluidas MySQL_front y la suite oficial, pero no son tan fáciles de usar como SSMS. Esta es una gran deficiencia de MySQL.
22Los procedimientos almacenados de MySQL solo aparecen en la última versión y es posible que la estabilidad y el rendimiento no sean tan buenos como los de MS SQL.
23 Bajo la misma presión de carga, MySQL consume menos CPU y memoria, mientras que MS SQL consume muchos recursos.
24php tiene métodos similares para conectarse a MySQL y MS SQL. Sólo necesita reemplazar la función MySQL con MS SQL.
25MySQL admite tipos de fecha, hora y año. MS SQL solo admite fecha y hora en 2008.