ນີ້ແມ່ນຄໍາສັ່ງ mysqlmetagrep ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
mysqlmetagrep - ຄົ້ນຫາຖານຂໍ້ມູນວັດຖຸຄໍານິຍາມ
ສະຫຼຸບສັງລວມ
mysqlmetagrep [ທາງເລືອກໃນການ] [ຮູບແບບ | ເຄື່ອງແມ່ຂ່າຍ] ...
ລາຍລະອຽດ
ຜົນປະໂຫຍດນີ້ຄົ້ນຫາວັດຖຸທີ່ກົງກັບຮູບແບບທີ່ລະບຸໄວ້ໃນເຄື່ອງແມ່ຂ່າຍທັງຫມົດທີ່ລະບຸໄວ້
ການນໍາໃຊ້ຕົວຢ່າງຂອງ --ເຊີບເວີ ທາງເລືອກ. ມັນຜະລິດຜົນຜະລິດທີ່ສະແດງໃຫ້ເຫັນການຈັບຄູ່
ວັດຖຸ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການໂຕ້ຖຽງ nonoption ທໍາອິດຖືກປະຕິບັດເປັນຮູບແບບເວັ້ນເສຍແຕ່ວ່າ
-- ຮູບແບບ ທາງເລືອກແມ່ນໃຫ້. ຖ້າ -- ຮູບແບບ ທາງເລືອກແມ່ນໄດ້ຮັບ, ການໂຕ້ຖຽງ nonoption ທັງຫມົດແມ່ນ
ຖືວ່າເປັນຂໍ້ມູນສະເພາະຂອງການເຊື່ອມຕໍ່.
ພາຍໃນ, ຜົນປະໂຫຍດສ້າງຄໍາສັ່ງ SQL ສໍາລັບການຊອກຫາຕາຕະລາງທີ່ຈໍາເປັນໃນ
ໄດ້ INFORMATION_SCHEMA ຖານຂໍ້ມູນກ່ຽວກັບເຄື່ອງແມ່ຂ່າຍທີ່ກໍານົດໄວ້ແລະປະຕິບັດມັນໃນການເຮັດໃຫ້ການກ່ອນ
ເກັບກໍາຜົນໄດ້ຮັບແລະພິມເປັນຕາຕະລາງ. ໃຊ້ -- sql ທາງເລືອກທີ່ຈະມີຜົນປະໂຫຍດ
ສະແດງຄໍາຖະແຫຼງທີ່ແທນທີ່ຈະປະຕິບັດມັນ. ນີ້ສາມາດເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະໃຫ້ອາຫານ
ຜົນຜະລິດຂອງຄໍາຖະແຫຼງການກັບຄໍາຮ້ອງສະຫມັກອື່ນເຊັ່ນ: mysql ຕິດຕາມກວດກາ.
ເຊີບເວີ MySQL ສະຫນັບສະຫນູນສອງຮູບແບບຂອງຮູບແບບໃນເວລາທີ່ຈັບຄູ່ສະຕຣິງ: SQL Simple Patterns
(ໃຊ້ກັບ ເຊັ່ນດຽວກັນກັບ operator) ແລະ POSIX Regular Expressions (ໃຊ້ກັບ REGEXP
ຜູ້ປະກອບການ).
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຜົນປະໂຫຍດໃຊ້ ເຊັ່ນດຽວກັນກັບ operator ໃຫ້ກົງກັບຊື່ (ແລະທາງເລືອກ, the
ຮ່າງກາຍ) ຂອງວັດຖຸ. ການນໍາໃຊ້ REGEXP operator ແທນ, ໃຊ້ --regexp ທາງເລືອກ.
ໃຫ້ສັງເກດວ່ານັບຕັ້ງແຕ່ REGEXP operator ເຮັດການຄົ້ນຫາ substring, ມັນເປັນສິ່ງຈໍາເປັນທີ່ຈະສະມໍ
ການສະແດງອອກໄປຫາຈຸດເລີ່ມຕົ້ນຂອງ string ຖ້າທ່ານຕ້ອງການໃຫ້ກົງກັບຈຸດເລີ່ມຕົ້ນຂອງ
string
ເພື່ອກໍານົດວິທີການສະແດງຜົນຜະລິດ, ໃຫ້ໃຊ້ຫນຶ່ງຂອງຄ່າຕໍ່ໄປນີ້ກັບ -- ຮູບແບບ
ຕົວເລືອກ:
· ຕາຂ່າຍໄຟຟ້າ (ຄ່າເລີ່ມຕົ້ນ)
ສະແດງຜົນຜະລິດຢູ່ໃນຕາຂ່າຍໄຟຟ້າຫຼືຮູບແບບຕາຕະລາງຄ້າຍຄືຂອງ mysql ຕິດຕາມກວດກາ.
· csv
ສະແດງຜົນອອກມາໃນຮູບແບບຄ່າທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ.
· ແຖບ
ສະແດງຜົນອອກໃນຮູບແບບແຍກແຖບ.
· ຕັ້ງ
ສະແດງຜົນອອກມາໃນຮູບແບບຖັນດຽວຄືກັບຄຳສັ່ງ \G ສຳລັບ mysql
ຕິດຕາມກວດກາ.
SQL ຮູບແບບງ່າຍດາຍ
ຮູບແບບທີ່ງ່າຍດາຍທີ່ກໍານົດໂດຍມາດຕະຖານ SQL ປະກອບດ້ວຍສາຍຂອງຕົວອັກສອນທີ່ມີສອງຕົວ
ຕົວອັກສອນທີ່ມີຄວາມຫມາຍພິເສດ: % (ເປີເຊັນ) ກົງກັບສູນຫຼືຫຼາຍຕົວອັກສອນແລະ _
(ຂີດກ້ອງ) ກົງກັບຕົວອັກສອນອັນດຽວ.
ຍົກຕົວຢ່າງ:
· 'ເສື່ອ%'
ຈັບຄູ່ສະຕຣິງໃດນຶ່ງທີ່ເລີ່ມຕົ້ນດ້ວຍ 'mats'.
· '%kindahl%'
ຈັບຄູ່ສະຕຣິງໃດນຶ່ງທີ່ມີຄຳວ່າ 'kindahl'.
· '%_'
ຈັບຄູ່ສະຕຣິງໃດນຶ່ງທີ່ປະກອບດ້ວຍນຶ່ງ ຫຼືຫຼາຍໂຕ.
POSIX ການສະແດງອອກປົກກະຕິ
ການສະແດງອອກປົກກະຕິ POSIX ແມ່ນມີອໍານາດຫຼາຍກ່ວາຮູບແບບທີ່ງ່າຍດາຍທີ່ກໍານົດໄວ້ໃນ SQL
ມາດຕະຖານ. ການສະແດງອອກປົກກະຕິແມ່ນສະຕຣິງຂອງຕົວອັກສອນ, ທາງເລືອກທີ່ມີຕົວອັກສອນ
ມີຄວາມຫມາຍພິເສດ:
· .
ກົງກັບຕົວລະຄອນໃດນຶ່ງ.
· ^
ຈັບຄູ່ຈຸດເລີ່ມຕົ້ນຂອງສະຕຣິງ.
· $
ຈັບຄູ່ທ້າຍຂອງສະຕຣິງ.
· [axy]
ການແຂ່ງຂັນ a, x, ຫຼື y.
· [af]
ຈັບຄູ່ຕົວລະຄອນໃດນຶ່ງໃນຂອບເຂດ a to f (ນັ້ນແມ່ນ, a, b, c, d, e, ຫຼື f).
· [^axy]
ກົງກັບຕົວລະຄອນໃດນຶ່ງ ຍົກເວັ້ນa, x, ຫຼື y.
· a*
ຈັບຄູ່ລໍາດັບຂອງສູນ ຫຼືຫຼາຍກວ່ານັ້ນ a.
· a+
ຈັບຄູ່ລໍາດັບຂອງຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນ a.
· a?
ຈັບຄູ່ສູນຫຼືຫນຶ່ງ a.
· ab|cd
ການແຂ່ງຂັນ ab or cd.
· a{5}
ຈັບຄູ່ຫ້າຕົວຢ່າງຂອງ a.
· a{2,5}
ຈັບຄູ່ຈາກສອງຫາຫ້າຕົວຢ່າງຂອງ a.
· (abc)+
ຈັບຄູ່ການຊໍ້າຄືນໜຶ່ງ ຫຼືຫຼາຍອັນຂອງ abc.
ນີ້ແມ່ນແຕ່ຊຸດຕົວຢ່າງສັ້ນໆຂອງການສະແດງອອກປົກກະຕິ. syntax ເຕັມແມ່ນອະທິບາຍ
ໃນ MySQL ຄູ່ມື[1], ແຕ່ມັກຈະພົບເຫັນຢູ່ໃນ regex(7).
OPTIONS
mysqlmetagrep ຍອມຮັບຕົວເລືອກແຖວຄໍາສັ່ງຕໍ່ໄປນີ້:
· -- ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອ ແລະອອກ.
· --body, -b
ຄົ້ນຫາເນື້ອໃນຂອງໂຄງການທີ່ເກັບຮັກສາໄວ້ (ຂັ້ນຕອນການ, ຫນ້າທີ່, triggers, ແລະເຫດການ). ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອໃຫ້ກົງກັບຊື່ເທົ່ານັ້ນ.
· --database=
ເບິ່ງພຽງແຕ່ໃນຖານຂໍ້ມູນທີ່ກົງກັບຮູບແບບນີ້.
· --format= , -f
ລະບຸຮູບແບບການສະແດງຜົນ. ຄ່າຮູບແບບທີ່ອະນຸຍາດແມ່ນ ຕາຂ່າຍໄຟຟ້າ, csv, ແຖບ, ແລະ
ຕັ້ງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ ຕາຂ່າຍໄຟຟ້າ.
· --object-types= , --search-objects=
ຄົ້ນຫາພຽງແຕ່ປະເພດວັດຖຸທີ່ມີຊື່ໃນ ປະເພດ, ເຊິ່ງເປັນລາຍການທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງໜຶ່ງ ຫຼື
ຄຸນຄ່າຫຼາຍຂຶ້ນ ລະບຽບການ, ຫນ້າທີ່, ກໍລະນີ, ຜົນກະທົບຕໍ່, ຕາຕະລາງ, ແລະ ຖານຂໍ້ມູນ.
ຄ່າເລີ່ມຕົ້ນແມ່ນການຄົ້ນຫາໃນວັດຖຸຂອງທຸກປະເພດ.
· --pattern= , -e=
ຮູບແບບທີ່ຈະໃຊ້ໃນເວລາທີ່ຈັບຄູ່. ນີ້ແມ່ນຕ້ອງການໃນເວລາທີ່ການໂຕ້ຖຽງ nonoption ທໍາອິດ
ມີລັກສະນະສະເພາະຂອງການເຊື່ອມຕໍ່ຫຼາຍກວ່າຮູບແບບ.
ຖ້າ -- ຮູບແບບ ທາງເລືອກແມ່ນໄດ້ຮັບ, ການໂຕ້ຖຽງ nonoption ທໍາອິດແມ່ນໄດ້ຮັບການປິ່ນປົວເປັນ
ຕົວລະບຸການເຊື່ອມຕໍ່, ບໍ່ແມ່ນຮູບແບບ.
· --regexp, --basic-regexp, -G
ປະຕິບັດການຈັບຄູ່ຮູບແບບການນໍາໃຊ້ REGEXP ຜູ້ປະກອບການ. ຄ່າເລີ່ມຕົ້ນແມ່ນໃຊ້ ເຊັ່ນດຽວກັນກັບ ສໍາລັບການ
ການຈັບຄູ່. ນີ້ມີຜົນກະທົບ --ຖານຂໍ້ມູນ ແລະ -- ຮູບແບບ ຕົວເລືອກ
· --server=
ຂໍ້ມູນການເຊື່ອມຕໍ່ສໍາລັບເຄື່ອງແມ່ຂ່າຍທີ່ຈະຄົ້ນຫາໃນຮູບແບບ:
<ຜູ້ໃຊ້>[:passwd>]@ເຈົ້າພາບ>[:port>][:socket>] ຫຼືເສັ້ນທາງເຂົ້າສູ່ລະບົບ>[:port>][:socket>]. ໃຊ້
ຕົວເລືອກນີ້ຫຼາຍຄັ້ງເພື່ອຊອກຫາເຄື່ອງແມ່ຂ່າຍຫຼາຍອັນ.
· --sql, --print-sql, -p
ພິມແທນທີ່ຈະປະຕິບັດລະຫັດ SQL ທີ່ຈະຖືກປະຕິບັດເພື່ອຊອກຫາທີ່ກົງກັນທັງຫມົດ
ວັດຖຸ. ນີ້ສາມາດເປັນປະໂຫຍດທີ່ຈະບັນທຶກຄໍາຖະແຫຼງການສໍາລັບການດໍາເນີນການຕໍ່ມາຫຼືການນໍາໃຊ້ມັນເປັນ
ວັດສະດຸປ້ອນສໍາລັບໂຄງການອື່ນໆ.
· -- ສະບັບ
ສະແດງຂໍ້ມູນສະບັບແລະອອກ.
ຫມາຍເຫດ
ສໍາລັບ -- ຮູບແບບ ທາງເລືອກ, ຄ່າທີ່ອະນຸຍາດບໍ່ແມ່ນຕົວພິມນ້ອຍໃຫຍ່. ນອກຈາກນັ້ນ, ຄຸນຄ່າ
ອາດຈະຖືກລະບຸວ່າເປັນຄຳນຳໜ້າທີ່ບໍ່ຊັດເຈນຂອງຄ່າທີ່ຖືກຕ້ອງ. ຍົກຕົວຢ່າງ, --format=g
ກໍານົດຮູບແບບຕາຕະລາງ. ຂໍ້ຜິດພາດເກີດຂຶ້ນຖ້າຄໍານໍາຫນ້າກົງກັບຄ່າທີ່ຖືກຕ້ອງຫຼາຍກວ່າຫນຶ່ງ.
ເສັ້ນທາງໄປສູ່ເຄື່ອງມືລູກຄ້າ MySQL ຄວນຈະຖືກລວມເຂົ້າໃນສະພາບແວດລ້ອມ PATH ທີ່ມີການປ່ຽນແປງໃນ
ເພື່ອໃຊ້ກົນໄກການພິສູດຢືນຢັນດ້ວຍເສັ້ນທາງເຂົ້າສູ່ລະບົບ. ນີ້ຈະອະນຸຍາດໃຫ້ປະໂຫຍດທີ່ຈະ
ໃຊ້ເຄື່ອງມື my_print_defaults ທີ່ຕ້ອງການເພື່ອອ່ານຄ່າ login-path ຈາກ
ໄຟລ໌ການຕັ້ງຄ່າການເຂົ້າສູ່ລະບົບ (.mylogin.cnf).
ຕົວຢ່າງ
ຊອກຫາວັດຖຸທັງໝົດທີ່ມີຊື່ກົງກັບຮູບແບບ 't_' (ຕົວອັກສອນ t ຕາມດ້ວຍອັນໃດນຶ່ງ
ຕົວອັກສອນດຽວ):
$ 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 | TRIGGER | tr_foo | ທົດສອບ |
| ຮາກ:*@localhost:3306 | ຕາຕະລາງ | t2 | ທົດສອບ |
-----------------------+----------------+--------- -----+-----------+
ໃນຜົນໄດ້ຮັບກ່ອນຫນ້າ, ຊື່ trigger ບໍ່ກົງກັບຮູບແບບ, ແຕ່ຖືກສະແດງ
ເນື່ອງຈາກວ່າຮ່າງກາຍຂອງມັນເຮັດ.
ນີ້ແມ່ນຄືກັນກັບຕົວຢ່າງທີ່ຜ່ານມາ, ແຕ່ການນໍາໃຊ້ REGEXP ຜູ້ປະກອບການ. ໃຫ້ສັງເກດວ່າໃນ
ຮູບແບບມັນບໍ່ຈໍາເປັນທີ່ຈະເພີ່ມ wildcards ກ່ອນຫຼືຫຼັງຈາກ t2:
$ mysqlmetagrep -Gb --pattern="t2" --server=mats@localhost
-----------------------+----------------+--------- -----+-----------+
| ການເຊື່ອມຕໍ່ | ປະເພດວັດຖຸ | ຊື່ວັດຖຸ | ຖານຂໍ້ມູນ |
-----------------------+----------------+--------- -----+-----------+
| ຮາກ:*@localhost:3306 | TRIGGER | tr_foo | ທົດສອບ |
| ຮາກ:*@localhost:3306 | ຕາຕະລາງ | t2 | ທົດສອບ |
-----------------------+----------------+--------- -----+-----------+
COPYRIGHT
ຫມາຍເຫດ
1. ຄູ່ມື MySQL
http://dev.mysql.com/doc/mysql/en/regexp.html
ໃຊ້ mysqlmetagrep ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net