Dilemparkan sebagai xml di mysql

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

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 SQL

Cara 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 SERVER

Klausa 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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

Klik tautan dan Anda akan melihat dokumen berikut di jendela kueri baru dari studio manajemen SQL Server

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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 SERVER

Kelas 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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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')

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

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 XML

Di 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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

Membuat tabel SQL menggunakan atribut XML

Pertama 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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

Membuat tabel SQL menggunakan elemen XML

Untuk 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

Dilemparkan sebagai xml di mysql
Dilemparkan sebagai xml di mysql

Kesimpulan

XML 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; . .