Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Skema MySQL kepada Penurunan Harga Wiki GitHub Menggunakan Prosedur Tersimpan?

Bagaimana untuk Menukar Skema MySQL kepada Penurunan Harga Wiki GitHub Menggunakan Prosedur Tersimpan?

DDD
DDDasal
2024-11-26 20:52:09354semak imbas

How to Convert MySQL Schema to GitHub Wiki Markdown Using Stored Procedures?

Cara Menukar Skema MySQL kepada Penurunan Wiki GitHub

Cabaran:

Mengeksport MySQL skema pangkalan data ke dalam format markdown untuk dokumentasi tujuan.

Penyelesaian:

Menggunakan dua prosedur tersimpan untuk menyelesaikan tugas ini:

Prosedur Tersimpan Pertama (huraikanTables_v2a):

Prosedur ini mengekstrak maklumat skema daripada pangkalan data yang ditentukan, menyediakannya dan menyimpannya dalam jadual berasaskan sesi.

Prosedur Tersimpan Kedua (Print_Tables_Like_Describe):

Prosedur ini menjana output yang menyerupai pernyataan DESCRIBE MySQL untuk semua jadual dalam ditentukan pangkalan data.

Penggunaan:

  1. Lepaskan pangkalan data untuk dilaporkan sebagai parameter untuk menerangkanTables_v2a.
  2. Secara pilihan, nyatakan sama ada hendak memadam data sesi dan sama ada untuk memanggil Print_Tables_Like_Describe secara automatik.
  3. Jika auto-panggilan didayakan, output akan dijana dan dipaparkan.
  4. Jika auto-panggilan dilumpuhkan, panggil Print_Tables_Like_Describe dengan sesi # yang diperoleh dalam langkah 1 untuk menjana output.

Contoh:

SET @theOutVar =-1; -- A variable used as the OUT variable below

-- Call describeTables_v2a with auto-calling enabled
call Reporting101a.describeTables_v2a('stackoverflow', @theOutVar, false, true);

Output:

Output akan serupa dengan yang berikut :

+--------------------------------------------------------------------------------------------+
|                                                                                            |
+--------------------------------------------------------------------------------------------+
| course                                                                                         |
| +------------+--------------+------+-----+---------+-------------------+
| | Field      | Type         | Null | Key | Default | Extra            |
| +------------+--------------+------+-----+---------+-------------------+
| | courseId   | int(11)      | NO   | PRI |         | auto_increment   |
| +------------+--------------+------+-----+---------+-------------------+
| | deptId     | int(11)      | NO   | MUL |         |                  |
| +------------+--------------+------+-----+---------+-------------------+
| | courseName | varchar(100) | NO   |     |         |                  |
| +------------+--------------+------+-----+---------+-------------------+
|                                                                                              |
| dept                                                                                           |
| +----------+--------------+------+-----+---------+-------------------+
| | Field    | Type         | Null | Key | Default | Extra            |
| +----------+--------------+------+-----+---------+-------------------+
| | deptId   | int(11)      | NO   | PRI |         | auto_increment   |
| +----------+--------------+------+-----+---------+-------------------+
| | deptName | varchar(100) | NO   |     |         |                  |
| +----------+--------------+------+-----+---------+-------------------+
|                                                                                              |
| scjunction                                                                                     |
| +------------+---------+------+-----+---------+-------------------+
| | Field      | Type    | Null | Key | Default | Extra            |
| +------------+---------+------+-----+---------+-------------------+
| | id         | int(11) | NO   | PRI |         | auto_increment   |
| +------------+---------+------+-----+---------+-------------------+
| | studentId  | int(11) | NO   | MUL |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | courseId   | int(11) | NO   | MUL |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | term       | int(11) | NO   |     |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | attendance | int(11) | NO   |     |         |                  |

Atas ialah kandungan terperinci Bagaimana untuk Menukar Skema MySQL kepada Penurunan Harga Wiki GitHub Menggunakan Prosedur Tersimpan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn