Baru-baru ini saya sedang mengerjakan konversi MS SQL Server ke MySQL. Saya telah merangkum beberapa pengalaman dan membagikannya kepada Anda. Pada saat yang sama, ini akan terus diperbarui. Saya juga berharap Anda dapat menambahkan lebih banyak. 1 MySQL mendukung tipe enum dan set, tetapi SQL Server tidak mendukungnya.
2 MySQL tidak mendukung tipe nchar, nvarchar, ntext
3 Pernyataan kenaikan MySQL adalah AUTO_INCREMENT, sedangkan MS SQL adalah identitas (1,1)
4 Nilai default pernyataan pembuatan tabel MS SQL adalah ((0)), tetapi di MySQL, dua tanda kurung tidak diperbolehkan.
5 MySQL perlu menentukan jenis penyimpanan untuk tabel
6 Pengidentifikasi MS SQL adalah [], [type] yang artinya berbeda dengan kata kunci, tetapi MySQL adalah `, yang merupakan simbol di sebelah kiri tombol 1
7 MS SQL mendukung metode getdate() untuk mendapatkan waktu dan tanggal saat ini, tetapi MySQL dapat dibagi menjadi tipe tanggal dan tipe waktu. Tanggal saat ini adalah cur_date(), dan waktu selesai saat ini adalah fungsi now().
8 MS SQL tidak mendukung pernyataan replace into, tetapi di sql20008 terbaru, sintaks penggabungan juga didukung.
9 MySQL mendukung penyisipan ke dalam tabel1 set t1 = '', t2 = '', tetapi MS SQL tidak mendukung penulisan dengan cara ini.
10 MySQL mendukung penyisipan ke dalam nilai tabl1 (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)
11 MS SQL tidak mendukung pernyataan limit, yang sangat disesalkan. Anda hanya dapat menggunakan top untuk menggantikan limit 0,N, dan fungsi row_number() over() untuk menggantikan limit N,M.
12 MySQL harus menentukan jenis mesin penyimpanan untuk setiap tabel saat membuat tabel, sedangkan MS SQL hanya mendukung satu mesin penyimpanan
13 MySQL tidak mendukung tipe datetime yang nilai defaultnya adalah waktu saat ini (MS SQL mudah dilakukan).
14 Untuk memeriksa apakah tabel ini ada di MS SQL dan kemudian menghapusnya, Anda perlu melakukan ini:
jika ada (pilih * dari dbo.sysobjects di mana id = object_id(N'uc_newpm') dan OBJECTPROPERTY(id,N'IsUserTable')=1) Tapi di MySQL hanya DROP TABLE IF EXISTS cdb_forums;
Namun di MySQL Anda hanya perlu DROP TABLE IF EXISTS cdb_forums;
15 MySQL mendukung bilangan bulat yang tidak ditandatangani, sehingga dapat menyimpan angka maksimum dua kali lebih banyak daripada MS SQL, yang tidak mendukung bilangan bulat yang tidak ditandatangani.
16 MySQL tidak mendukung tipe varchar(max) yang sangat nyaman di MS SQL. Tipe ini dapat digunakan untuk penyimpanan data umum dan penyimpanan data blob di MS SQL.
17 Untuk membuat indeks non-cluster di MySQL, Anda hanya perlu menentukannya sebagai kunci saat membuat tabel. Misalnya: KEY displayorder (fid, displayorder).
buat indeksindex_uc_protectedmembers_username_appid noncluster unik di dbo.uc_protectedmembers(nama pengguna asc,appid asc)
18 Jenis bidang teks MySQL tidak mengizinkan nilai default
19Total panjang bidang tabel MySQL tidak melebihi 65XXX.
20 Perbedaan yang sangat dangkal adalah instalasi MySQL sangat sederhana, dan ukuran file hanya 110M (versi non-instalasi). Dibandingkan dengan raksasa Microsoft, kemajuan instalasi hanya...
21MySQL memiliki beberapa alat manajemen yang lebih baik, termasuk MySQL_front dan suite resmi, tetapi penggunaannya tidak semudah SSMS. Ini adalah kelemahan besar MySQL.
Prosedur tersimpan 22MySQL hanya muncul di versi terbaru, dan stabilitas serta kinerjanya mungkin tidak sebaik MS SQL.
23 Di bawah tekanan beban yang sama, MySQL mengkonsumsi lebih sedikit CPU dan memori, sedangkan MS SQL memang sangat memakan sumber daya.
24php memiliki metode koneksi yang serupa ke MySQL dan MS SQL. Anda hanya perlu mengganti fungsi MySQL dengan MS SQL.
25MySQL mendukung tipe tanggal, waktu, dan tahun. MS SQL hanya mendukung tanggal dan waktu pada tahun 2008.