XML (eXtensible Markup Language) adalah salah satu format paling umum yang digunakan untuk berbagi informasi antar platform yang berbeda. Karena kesederhanaan dan keterbacaannya, ini telah menjadi standar de-facto untuk berbagi data. Selain itu, XML mudah diperpanjang Show
Pada artikel ini, kita akan melihat bagaimana kita bisa bekerja dengan XML di SQL Server. Kita akan melihat cara mengonversi tabel dalam SQL menjadi XML, cara memuat dokumen XML ke SQL Server, dan cara membuat tabel SQL dari dokumen XML Mari pertama-tama buat beberapa data dummy. Kami akan menggunakan data ini untuk membuat dokumen XML. Jalankan skrip berikut 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 BUAT DATABASE Showroom
Gunakan Showroom BUAT TABEL Mobil ( CarId int identitas(1,1) primary key, Nama varchar(100), Buat varchar(100), Model int , Harga int , Tipe varchar(20) )
masukkan ke dalam Mobil( Nama, Make, Model , Price, Type) NILAI ('Corrolla','Toyota',2015, 20000,'Sedan'), ('Civic','Honda',2018, 25000,'Sedan'), ('Passo','Toyota',2012, 18000,'Hatchback'), ('Land Cruiser','Toyota',2017, 40000,'SUV'), ('Corrolla','Toyota',2011, 17000,'Sedan'), ('Vitz','Toyota',2014, 15000,'Hatchback'), ('Kesepakatan','Honda',2018, 28000,'Sedan'), ('7500','BMW',2015, 50000,'Sedan'), ('Parado','Toyota',2011, 25000,'SUV'), ('C200','Mercedez',2010, 26000,'Sedan'), ('Corrolla','Toyota',2014, 19000,'Sedan'), ('Civic','Honda',2015, 20000,'Sedan') Pada script di atas, kita membuat database Showroom dengan satu tabel Mobil. Tabel Mobil memiliki lima atribut. Mobil, Nama, Merek, Model, Harga, dan Tipe. Selanjutnya, kami menambahkan 12 catatan tiruan di tabel Mobil Konversi ke XML dari tabel SQLCara paling sederhana untuk mengonversi data dari tabel SQL ke dalam format XML adalah dengan menggunakan klausa FOR XML AUTO dan FOR XML PATH UNTUK XML OTOMATIS di SQL SERVERKlausa FOR XML AUTO mengonversi setiap kolom dalam tabel SQL menjadi atribut dalam dokumen XML terkait Jalankan skrip berikut 1 2 3 GUNAKAN Showroom PILIH * DARI Mobil UNTUK XML OTOMATIS Di output konsol Anda akan melihat yang berikut ini Klik tautan dan Anda akan melihat dokumen berikut di jendela kueri baru dari studio manajemen SQL Server Anda dapat melihat bahwa untuk setiap record sebuah elemen Car telah dibuat dalam dokumen XML, dan untuk setiap kolom, sebuah atribut dengan nama yang sama telah ditambahkan ke setiap elemen dalam dokumen XML. UNTUK JALAN XML di SQL SERVERKelas UNTUK XML AUTO membuat dokumen XML di mana setiap kolom adalah atribut. Di sisi lain, FOR XML PATH akan membuat dokumen XML di mana setiap record adalah elemen dan setiap kolom adalah elemen bersarang untuk record tertentu. Mari kita lihat ini beraksi 1 2 3 GUNAKAN Showroom PILIH * DARI Mobil UNTUK XML PATH Sebuah snapshot dari output adalah sebagai berikut Dalam output, Anda akan melihat total 12 elemen (tangkapan layar hanya menampilkan 4 elemen pertama). Anda dapat melihat bahwa setiap nama kolom telah diubah menjadi elemen. Namun, ada satu masalah; . Kami dapat mengubahnya menggunakan kueri berikut 1 2 3 GUNAKAN Showroom PILIH * DARI Mobil UNTUK XML PATH ('Mobil') Pada output, Anda dapat melihat Car sebagai elemen induk untuk setiap sub-elemen. Namun, dokumen tersebut tidak terbentuk dengan baik karena tidak ada elemen root di dalam dokumen. Untuk menambahkan elemen root, kita perlu menjalankan skrip berikut 1 2 3 GUNAKAN Showroom PILIH * DARI Mobil UNTUK XML PATH ('Mobil'), ROOT('Cars') Pada output, Anda akan melihat "Cars" sebagai elemen root seperti yang ditunjukkan di bawah ini Sekarang misalkan Anda ingin agar CarId menjadi atribut dari elemen Car daripada elemen. Anda dapat melakukannya dengan skrip berikut 1 2 3 4 5 6 7 8 9 GUNAKAN Showroom PILIH CarId sebagai [@CarID], Nama AS [CarInfo/Name], Membuat [CarInfo/Make], Model [CarInfo/Model], Harga, Ketik DARI Mobil UNTUK XML PATH ('Mobil'), ROOT('Cars') Outputnya terlihat seperti ini Anda dapat melihat sekarang bahwa CarId telah menjadi atribut dari elemen Car Kita dapat menambahkan level bersarang lebih lanjut ke dokumen XML. Misalnya, jika kita ingin elemen Name, Make, dan Model disarangkan di dalam elemen lain CarInfo, kita dapat melakukannya dengan skrip berikut 1 2 3 4 5 6 7 8 9 GUNAKAN Showroom PILIH CarId sebagai [@CarID], Nama AS [CarInfo/Name], Membuat [CarInfo/Make], Model [CarInfo/Model], Harga, Ketik DARI Mobil UNTUK XML PATH ('Mobil'), ROOT('Cars') Pada output, Anda akan melihat elemen baru CarInfo yang menyertakan elemen Name, Make, dan Model seperti yang ditunjukkan di bawah ini Terakhir, jika Anda ingin mengonversi elemen Name dan Make menjadi atribut elemen CarInfo, Anda dapat melakukannya dengan skrip berikut 1 2 3 4 5 6 7 8 9 GUNAKAN Showroom PILIH CarId sebagai [@CarID], Nama AS [CarInfo/@Name], Membuat [CarInfo/@Make], Model [CarInfo/Model], Harga, Ketik DARI Mobil UNTUK XML PATH ('Mobil'), ROOT('Cars') Outputnya terlihat seperti ini Simpan dokumen XML di atas dengan nama Cars. xml. Di bagian selanjutnya, kita akan memuat skrip XML ini ke dalam SQL Server dan akan melihat cara membuat tabel dari Dokumen XML Bagi mereka yang tertarik dengan artikel lebih lanjut tentang UNTUK XML PATH, lihat klausa UNTUK XML PATH di artikel SQL Server Membuat tabel SQL dari dokumen XMLDi bagian sebelumnya, kita melihat cara membuat dokumen XML dari tabel SQL. Pada bagian ini, kita akan melihat bagaimana melakukan kebalikan i. e. kita akan membuat tabel di SQL menggunakan dokumen XML Dokumen yang akan kita gunakan adalah dokumen yang kita buat pada bagian terakhir. Satu simpul dokumen terlihat seperti ini Membuat tabel SQL menggunakan atribut XMLPertama mari kita lihat bagaimana kita bisa membuat tabel SQL menggunakan atribut. Misalkan kita ingin membuat tabel dengan dua kolom yang berisi nilai dari atribut Name dan Make dari elemen CarInfo. Kita dapat melakukannya dengan menggunakan skrip berikut 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 MENYATAKAN @mobil xml
PILIH @mobil = C DARI OPENROWSET (BULK 'D. \Mobil. xml', SINGLE_BLOB) AS Cars(C)
PILIH @mobil
MENYATAKAN @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @cars PILIH * DARI OPENXML (@hdoc, '/Cars/Car/CarInfo' , 1) DENGAN( Nama VARCHAR(100), Membuat VARCHAR(100) )
EXEC sp_xml_removedocument @hdoc Pada script di atas kita mendeklarasikan variabel tipe XML @cars. Variabel menyimpan hasil yang dikembalikan oleh fungsi OPENROWSET yang mengambil data XML dalam format biner. Selanjutnya menggunakan pernyataan SELECT @Cars kami mencetak konten file XML. Pada saat ini, dokumen XML dimuat ke dalam memori Selanjutnya, kami membuat pegangan untuk dokumen XML. Untuk membaca atribut dan elemen dokumen XML, kita perlu melampirkan pegangan dengan dokumen XML. sp_xml_preparedocument melakukan tugas ini. Dibutuhkan pegangan dan variabel dokumen sebagai parameter dan membuat asosiasi di antara keduanya Selanjutnya, kita menggunakan fungsi OPENXML untuk membaca isi dokumen XML. Fungsi OPENXML membutuhkan tiga parameter. pegangan ke dokumen XML, jalur node yang ingin kita ambil atribut atau elemen dan modenya. Nilai modus 1 mengembalikan atribut saja. Selanjutnya, di dalam klausa WITH, kita perlu menentukan nama dan tipe atribut yang ingin dikembalikan. Dalam kasus kami elemen CarInfo memiliki dua atribut Name, dan Make, oleh karena itu kami mengambil keduanya Sebagai langkah terakhir, kami menjalankan prosedur tersimpan sp_xml_removedocument untuk menghapus dokumen XML dari memori. Pada output Anda akan melihat nilai dari atribut Name dan Make dari elemen CarInfo seperti yang ditunjukkan di bawah ini Membuat tabel SQL menggunakan elemen XMLUntuk membuat tabel SQL menggunakan elemen XML, yang harus Anda lakukan adalah mengubah nilai mode dari fungsi OPENXML menjadi 2 dan mengubah nama atribut menjadi nama elemen yang ingin Anda ambil. Misalkan kita ingin mengambil nilai untuk elemen CarInfo, Price dan Type yang bersarang dari elemen induk Car, kita dapat menggunakan skrip berikut 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 MENYATAKAN @mobil xml
PILIH @mobil = C DARI OPENROWSET (BULK 'D. \Mobil. xml', SINGLE_BLOB) AS Cars(C)
PILIH @mobil
MENYATAKAN @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @cars PILIH * DARI OPENXML (@hdoc, '/Cars/Car' , 2) DENGAN( Info Mobil INT, Harga INT, Tipe VARCHAR(100) )
EXEC sp_xml_removedocument @hdoc Output dari script di atas terlihat seperti ini KesimpulanXML adalah salah satu format data paling populer untuk pertukaran informasi. Pada artikel ini, kita melihat bagaimana kita bisa membuat dokumen menggunakan XML dari tabel SQL. Kami juga melihat cara mengimpor ke tabel dalam SQL dari dokumen XML Bagaimana cara CAST tipe data di MySQL?Fungsi MySQL CAST() digunakan untuk mengonversi nilai dari satu tipe data ke tipe data tertentu lainnya. Fungsi CAST() menerima dua parameter yaitu nilai yang akan dikonversi dan tipe data yang nilai perlu dikonversi.
Apakah CAST berfungsi di MySQL?Fungsi CAST() di MySQL digunakan untuk mengonversi nilai dari satu tipe data ke tipe data lain yang ditentukan dalam ekspresi . Sebagian besar digunakan dengan klausa WHERE, HAVING, dan JOIN. Fungsi ini mirip dengan fungsi CONVERT() di MySQL. Itu mengubah nilai menjadi tipe data DATE dalam format "YYYY-MM-DD".
Bagaimana cara menggunakan data XML di MySQL?Untuk mengimpor data dari file XML ke dalam tabel MySQL, pilih tabel di Object Browser dan pilih Table -> Import -> Import XML Data Using Load Local. atau (Ctrl+Shift+X) . Tabel. Daftar semua tabel database aktif saat ini ditampilkan. Pilih Tabel dari kotak daftar.
Bagaimana cara mengekstrak data XML di MySQL?MySQL extractValue Function . Fungsi MySQL extractValue mengambil data dari atribut yang berisi data XML argumen pertama adalah nama atribut, e. g. , dok argumen kedua adalah ekspresi XPath yang diapit tanda kutip tunggal e. g. pilih extractValue(doc,'/book/title') sebagai Judul dari x; . . |