นี่คือคำสั่ง mysqlmetagrep ที่สามารถทำงานในผู้ให้บริการโฮสติ้งฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
mysqlmetagrep - ค้นหาคำจำกัดความวัตถุฐานข้อมูล
เรื่องย่อ
mysqlmetagrep.php [ตัวเลือก] [Belt hold | เซิร์ฟเวอร์] ...
DESCRIPTION
ยูทิลิตีนี้ค้นหาอ็อบเจ็กต์ที่ตรงกับรูปแบบที่กำหนดบนเซิร์ฟเวอร์ทั้งหมดที่ระบุ
โดยใช้กรณีของ --เซิร์ฟเวอร์ ตัวเลือก. มันสร้างผลลัพธ์ที่แสดงการจับคู่
วัตถุ โดยค่าเริ่มต้น อาร์กิวเมนต์ nonoption แรกจะถือเป็นรูปแบบ เว้นแต่ว่า
--ลวดลาย มีตัวเลือกให้ ถ้า --ลวดลาย มีตัวเลือกให้ อาร์กิวเมนต์ nonoption ทั้งหมดคือ
ถือเป็นข้อกำหนดการเชื่อมต่อ
ภายในยูทิลิตี้สร้างคำสั่ง SQL เพื่อค้นหาตารางที่จำเป็นใน
INFORMATION_SCHEMA ฐานข้อมูลบนเซิร์ฟเวอร์ที่กำหนดและดำเนินการในทางกลับกันก่อน
รวบรวมผลและพิมพ์เป็นตาราง ใช้ --ตร ตัวเลือกที่จะมียูทิลิตี้
แสดงคำสั่งแทนที่จะดำเนินการ สิ่งนี้มีประโยชน์หากคุณต้องการให้อาหาร
ผลลัพธ์ของคำสั่งไปยังโปรแกรมอื่นเช่น the MySQL หน้าจอ
เซิร์ฟเวอร์ MySQL รองรับรูปแบบสองรูปแบบเมื่อจับคู่สตริง: SQL Simple Patterns
(ใช้กับ LIKE โอเปอเรเตอร์) และ POSIX Regular Expressions (ใช้กับ REGEXP
โอเปอเรเตอร์)
โดยค่าเริ่มต้น ยูทิลิตี้จะใช้ LIKE ตัวดำเนินการเพื่อให้ตรงกับชื่อ (และตัวเลือก
ร่างกาย) ของวัตถุ การใช้ REGEXP โอเปอเรเตอร์แทน ใช้ --regexp ตัวเลือก
โปรดทราบว่าตั้งแต่ REGEXP โอเปอเรเตอร์ทำการค้นหาสตริงย่อย จำเป็นต้องทำการทอดสมอ
นิพจน์ไปยังจุดเริ่มต้นของสตริงหากคุณต้องการจับคู่จุดเริ่มต้นของ
เชือก
หากต้องการระบุวิธีแสดงผล ให้ใช้ค่าใดค่าหนึ่งต่อไปนี้ด้วยเครื่องหมาย --รูปแบบ
ตัวเลือก:
· ตะแกรง (เริ่มต้น)
แสดงผลในรูปแบบตารางหรือตารางเหมือนกับของ MySQL หน้าจอ
· CSV
แสดงผลในรูปแบบค่าที่คั่นด้วยเครื่องหมายจุลภาค
· แถบ
แสดงผลในรูปแบบแท็บแยก
· แนวตั้ง
แสดงผลในรูปแบบคอลัมน์เดียวเช่นเดียวกับคำสั่ง \G สำหรับ MySQL
หน้าจอ
รูปแบบอย่างง่ายของ SQL
รูปแบบอย่างง่ายที่กำหนดโดยมาตรฐาน SQL ประกอบด้วยสตริงของอักขระที่มี two
อักขระที่มีความหมายพิเศษ: % (ร้อยละ) ตรงกับศูนย์หรือมากกว่าอักขระและ _
(ขีดล่าง) ตรงกับอักขระหนึ่งตัว
ตัวอย่างเช่น:
· 'เสื่อ%'
จับคู่สตริงที่ขึ้นต้นด้วย 'mats'
· '%kindahl%'
จับคู่สตริงใดๆ ที่มีคำว่า 'kindahl'
· '%_'
จับคู่สตริงใดๆ ที่ประกอบด้วยอักขระตั้งแต่หนึ่งตัวขึ้นไป
POSIX นิพจน์ทั่วไป
นิพจน์ทั่วไป POSIX มีประสิทธิภาพมากกว่ารูปแบบธรรมดาที่กำหนดไว้ใน SQL
มาตรฐาน. นิพจน์ทั่วไปคือสตริงของอักขระ โดยอาจมีอักขระ
ที่มีความหมายพิเศษ:
· .
จับคู่อักขระใดก็ได้
· ^
จับคู่จุดเริ่มต้นของสตริง
· $
จับคู่ส่วนท้ายของสตริง
· [แอกซี่]
การจับคู่ a, xหรือ y.
· [af]
จับคู่อักขระใดก็ได้ในช่วง a ไปยัง f (นั่นคือ, a, b, c, d, eหรือ f).
· [^แอกซี่]
ตรงกับตัวอักษรใด ๆ ยกเว้นa, xหรือ y.
· a*
จับคู่ลำดับของศูนย์หรือมากกว่า a.
· a+
จับคู่ลำดับตั้งแต่หนึ่งรายการขึ้นไป a.
· a?
จับคู่ศูนย์หรือหนึ่ง a.
· ab | ซีดี
การจับคู่ ab or cd.
· ก{5}
จับคู่ห้าอินสแตนซ์ของ a.
· ก{2,5}
จับคู่จากสองถึงห้าอินสแตนซ์ของ a.
· (เอบีซี)+
จับคู่การทำซ้ำอย่างน้อยหนึ่งรายการของ abc.
นี่เป็นเพียงชุดตัวอย่างสั้นๆ ของนิพจน์ทั่วไป มีการอธิบายไวยากรณ์แบบเต็ม
ที่ MySQL คู่มือ[1] แต่มักพบใน นิพจน์ทั่วไป(7).
OPTIONS
mysqlmetagrep.php ยอมรับตัวเลือกบรรทัดคำสั่งต่อไปนี้:
· --ช่วย
แสดงข้อความช่วยเหลือและออก
· --ร่างกาย, -ข
ค้นหาเนื้อหาของโปรแกรมที่เก็บไว้ (ขั้นตอน ฟังก์ชัน ทริกเกอร์ และเหตุการณ์) NS
ค่าเริ่มต้นคือการจับคู่เฉพาะชื่อ
· --database=
ดูเฉพาะในฐานข้อมูลที่ตรงกับรูปแบบนี้
· --รูปแบบ= , -NS
ระบุรูปแบบการแสดงผลเอาต์พุต ค่ารูปแบบที่อนุญาตคือ ตะแกรง, CSV, แถบและ
แนวตั้ง. ค่าเริ่มต้นคือ ตะแกรง.
· --object-types= , --search-objects=
ค้นหาเฉพาะประเภทวัตถุที่มีชื่อใน ชนิดซึ่งเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคของหนึ่งหรือ
มีค่ามากขึ้น ขั้นตอนการ, ฟังก์ชัน, เหตุการณ์, เรียก, ตารางและ ฐานข้อมูล.
ค่าเริ่มต้นคือการค้นหาในวัตถุทุกประเภท
· --pattern= , -e=
รูปแบบที่จะใช้เมื่อจับคู่ สิ่งนี้จำเป็นเมื่ออาร์กิวเมนต์ nonoption แรก
ดูเหมือนข้อกำหนดการเชื่อมต่อมากกว่ารูปแบบ
ถ้า --ลวดลาย ให้ option อาร์กิวเมนต์ nonoption แรกจะถือว่าเป็นa
ตัวระบุการเชื่อมต่อไม่ใช่แบบแผน
· --regexp, --basic-regexp, -G
ทำการจับคู่รูปแบบโดยใช้ REGEXP โอเปอเรเตอร์ ค่าเริ่มต้นคือการใช้ LIKE สำหรับ
การจับคู่ สิ่งนี้ส่งผลกระทบต่อ --ฐานข้อมูล และ --ลวดลาย ตัวเลือก
· --เซิร์ฟเวอร์=
ข้อมูลการเชื่อมต่อสำหรับเซิร์ฟเวอร์เพื่อค้นหาในรูปแบบ:
<ผู้ใช้งาน>[:passwd>]@เจ้าภาพ>[:พอร์ต>][:เบ้า>] หรือเข้าสู่ระบบเส้นทาง>[:พอร์ต>][:เบ้า>]. ใช้
ตัวเลือกนี้หลายครั้งเพื่อค้นหาเซิร์ฟเวอร์หลายเครื่อง
· --sql, --print-sql, -p
พิมพ์แทนที่จะเรียกใช้โค้ด SQL ที่จะดำเนินการเพื่อค้นหาที่ตรงกันทั้งหมด
วัตถุ สิ่งนี้มีประโยชน์ในการบันทึกคำสั่งสำหรับการดำเนินการในภายหลังหรือเพื่อใช้เป็น
อินพุตสำหรับโปรแกรมอื่นๆ
· --รุ่น
แสดงข้อมูลเวอร์ชันและออก
หมายเหตุ
สำหรับ --รูปแบบ ตัวเลือก ค่าที่อนุญาตไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ นอกจากนี้ค่า
อาจถูกระบุเป็นคำนำหน้าที่ชัดเจนของค่าที่ถูกต้อง ตัวอย่างเช่น, --รูปแบบ=ก
ระบุรูปแบบกริด เกิดข้อผิดพลาดหากคำนำหน้าตรงกับค่าที่ถูกต้องมากกว่าหนึ่งค่า
เส้นทางไปยังเครื่องมือไคลเอนต์ MySQL ควรรวมอยู่ในตัวแปรสภาพแวดล้อม PATH ใน
เพื่อใช้กลไกการพิสูจน์ตัวตนกับเส้นทางการเข้าสู่ระบบ นี้จะช่วยให้ยูทิลิตี้เพื่อ
ใช้เครื่องมือ my_print_defaults ซึ่งจำเป็นสำหรับการอ่านค่าเส้นทางการเข้าสู่ระบบจาก
ไฟล์การกำหนดค่าการเข้าสู่ระบบ (.mylogin.cnf)
ตัวอย่าง
ค้นหาวัตถุทั้งหมดที่มีชื่อตรงกับรูปแบบ 't_' (ตัวอักษร t ตามด้วย any
ตัวอักษรเดียว):
$ mysqlmetagrep --pattern="t_" --server=mats@localhost
+-----------------------------------------------------------------+--------- -----+-----------+
| การเชื่อมต่อ | ประเภทอ็อบเจ็กต์ | ชื่อวัตถุ | ฐานข้อมูล |
+-----------------------------------------------------------------+--------- -----+-----------+
| mats:*@localhost:3306 | ตาราง | t1 | ทดสอบ |
| mats:*@localhost:3306 | ตาราง | t2 | ทดสอบ |
| mats:*@localhost:3306 | ตาราง | t3 | ทดสอบ |
+-----------------------------------------------------------------+--------- -----+-----------+
เพื่อค้นหาวัตถุทั้งหมดที่มี 't2' ในชื่อหรือเนื้อหา (สำหรับกิจวัตร ทริกเกอร์ และ
เหตุการณ์):
$ mysqlmetagrep -b --pattern="%t2%" --server=mats@localhost:3306
+-----------------------------------------------------------------+--------- -----+-----------+
| การเชื่อมต่อ | ประเภทอ็อบเจ็กต์ | ชื่อวัตถุ | ฐานข้อมูล |
+-----------------------------------------------------------------+--------- -----+-----------+
| รูท:*@localhost:3306 | ทริกเกอร์ | tr_foo | ทดสอบ |
| รูท:*@localhost:3306 | ตาราง | t2 | ทดสอบ |
+-----------------------------------------------------------------+--------- -----+-----------+
ในเอาต์พุตก่อนหน้า ชื่อทริกเกอร์ไม่ตรงกับรูปแบบ แต่แสดงขึ้น
เพราะร่างกายของมันทำ
นี้เหมือนกับตัวอย่างก่อนหน้านี้ แต่ใช้ REGEXP โอเปอเรเตอร์ โปรดทราบว่าใน
รูปแบบ ไม่จำเป็นต้องเพิ่มสัญลักษณ์แทนก่อนหรือหลัง t2:
$ mysqlmetagrep -Gb --pattern="t2" --server=mats@localhost
+-----------------------------------------------------------------+--------- -----+-----------+
| การเชื่อมต่อ | ประเภทอ็อบเจ็กต์ | ชื่อวัตถุ | ฐานข้อมูล |
+-----------------------------------------------------------------+--------- -----+-----------+
| รูท:*@localhost:3306 | ทริกเกอร์ | tr_foo | ทดสอบ |
| รูท:*@localhost:3306 | ตาราง | t2 | ทดสอบ |
+-----------------------------------------------------------------+--------- -----+-----------+
ลิขสิทธิ์
หมายเหตุ
1. คู่มือ MySQL
http://dev.mysql.com/doc/mysql/en/regexp.html
ใช้ mysqlmetagrep ออนไลน์โดยใช้บริการ onworks.net