আমি কীভাবে mysql কমান্ড লাইনে show tables;
বা show databases;
কমান্ড সঞ্চিত পদ্ধতি বা সঞ্চিত ফাংশনগুলির তালিকা দেখতে পারি ।
আমি কীভাবে mysql কমান্ড লাইনে show tables;
বা show databases;
কমান্ড সঞ্চিত পদ্ধতি বা সঞ্চিত ফাংশনগুলির তালিকা দেখতে পারি ।
উত্তর:
show procedure status
সঞ্চিত পদ্ধতিগুলি আপনাকে প্রদর্শন করবে।
show create procedure MY_PROC
আপনাকে একটি পদ্ধতির সংজ্ঞা প্রদর্শন করবে। এবং
help show
show
কমান্ডের জন্য সমস্ত উপলব্ধ বিকল্প আপনাকে প্রদর্শন করবে show
নাম অনুসারে দেখুন পদ্ধতি
select name from mysql.proc
সমস্ত প্রক্রিয়া তালিকাবদ্ধ করতে কোডের নীচে এবং কোডের নীচে শো পদ্ধতির স্থিতি হিসাবে একই ফলাফল দেওয়া হয়
select * from mysql.proc
select db,name,type from mysql.proc where db<>'sys';
কিছুটা আরও তথ্যের জন্য এবং কম বিল্ট-ইন সিস্টেম ক্রুফ্টের জন্য তৈরি করেছি।
আরও নির্দিষ্ট উপায়:
SHOW PROCEDURE STATUS
WHERE Db = DATABASE() AND Type = 'PROCEDURE'
উপরে উল্লিখিত,
show procedure status;
প্রকৃতপক্ষে পদ্ধতিগুলির একটি তালিকা প্রদর্শন করবে, তবে সার্ভার-প্রশস্ত তাদের সমস্ত দেখায় ।
আপনি যদি একটি একক ডাটাবেসে কেবলমাত্র দেখতে চান তবে এটি ব্যবহার করে দেখুন:
SHOW PROCEDURE STATUS WHERE Db = 'databasename';
আমার পছন্দটি এমন কিছুটির জন্য যা:
এই থ্রেডে অন্য উত্তরগুলি থেকে একসাথে সেলাই করে আমি শেষ করছি
select
name, type
from
mysql.proc
where
db = database()
order by
type, name;
... যা আপনাকে এমন ফলাফল দিয়ে শেষ করে:
mysql> select name, type from mysql.proc where db = database() order by type, name;
+------------------------------+-----------+
| name | type |
+------------------------------+-----------+
| get_oldest_to_scan | FUNCTION |
| get_language_prevalence | PROCEDURE |
| get_top_repos_by_user | PROCEDURE |
| get_user_language_prevalence | PROCEDURE |
+------------------------------+-----------+
4 rows in set (0.30 sec)
এটা ব্যবহার কর:
SHOW PROCEDURE STATUS;
সমস্ত সঞ্চিত প্রক্রিয়া দেখায়:
SHOW PROCEDURE STATUS;
সমস্ত ফাংশন দেখায়:
SHOW FUNCTION STATUS;
নির্দিষ্ট পদ্ধতির সংজ্ঞা দেখায়:
SHOW CREATE PROCEDURE [PROC_NAME];
প্রদত্ত ডাটাবেসের সমস্ত পদ্ধতি আপনাকে দেখায়:
SHOW PROCEDURE STATUS WHERE Db = '[db_name]';
প্রবীণকুমার_ভি এর পোস্টে একটি প্রকরণ:
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'PROCEDURE';
SELECT `name` FROM mysql.proc WHERE db = 'dbname' AND `type` = 'FUNCTION';
.. এবং এটি কারণ কিছু গৃহকর্মের পরে আমার সময় বাঁচানোর দরকার ছিল:
SELECT CONCAT(
"GRANT EXECUTE ON PROCEDURE `"
,`name`
,"` TO username@'%'; -- "
,`comment`
)
FROM mysql.proc
WHERE db = 'dbname'
AND `type` = 'PROCEDURE';
SELECT CONCAT(
"GRANT EXECUTE ON FUNCTION `"
,`name`
,"` TO username@'%'; -- "
,`comment`
)
FROM mysql.proc
WHERE db = 'dbname'
AND `type` = 'FUNCTION';
শুধু আপনার দেখানোর জন্য:
SELECT
db, type, specific_name, param_list, returns
FROM
mysql.proc
WHERE
definer LIKE
CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'));
SELECT specific_name FROM `information_schema`.`ROUTINES` WHERE routine_schema='database_name'
আপনি যদি বর্তমান নির্বাচিত ডেটাবেসগুলির জন্য স্টোর পদ্ধতিটি তালিকাভুক্ত করতে চান,
SHOW PROCEDURE STATUS WHERE Db = DATABASE();
এটি বর্তমান নির্বাচিত ডাটাবেসের ভিত্তিতে রুটিনগুলি তালিকাভুক্ত করবে
আপনার ডাটাবেসে ফাংশনগুলি তালিকাবদ্ধ করতে আপডেট করা
select * from information_schema.ROUTINES where ROUTINE_SCHEMA="YOUR DATABASE NAME" and ROUTINE_TYPE="FUNCTION";
আপনার ডাটাবেসে রুটিন / স্টোর পদ্ধতিগুলি তালিকাভুক্ত করতে,
select * from information_schema.ROUTINES where ROUTINE_SCHEMA="YOUR DATABASE NAME" and ROUTINE_TYPE="PROCEDURE";
আপনার ডাটাবেসে টেবিল তালিকা করতে,
select * from information_schema.TABLES WHERE TABLE_TYPE="BASE TABLE" AND TABLE_SCHEMA="YOUR DATABASE NAME";
আপনার ডাটাবেসে ভিউ তালিকাবদ্ধ করতে,
পদ্ধতি 1:
select * from information_schema.TABLES WHERE TABLE_TYPE="VIEW" AND TABLE_SCHEMA="YOUR DATABASE NAME";
পদ্ধতি 2:
select * from information_schema.VIEWS WHERE TABLE_SCHEMA="YOUR DATABASE NAME";
বর্তমান ডাটাবেসের পদ্ধতি তালিকাটির জন্য আমার প্রিয় রেন্ডারিং: নাম, প্যারামিটারের তালিকা, মন্তব্য
SELECT specific_name AS name, param_list AS params, `comment`
FROM mysql.proc
WHERE db = DATABASE()
AND type = 'PROCEDURE';
ফাংশনগুলির জন্য রিটার্ন যুক্ত করুন:
SELECT specific_name AS name, param_list AS params, `returns`, `comment`
FROM mysql.proc
WHERE db = DATABASE()
AND type = 'FUNCTION';
সমস্ত ডাটাবেসের জন্য ব্যবহারকারীর পদ্ধতি এবং কার্য তালিকা :
SELECT
`ROUTINE_SCHEMA` AS `database`
,`ROUTINE_TYPE` AS `type`
,`SPECIFIC_NAME` AS `name`
,`DTD_IDENTIFIER` AS `data_type`
FROM
`INFORMATION_SCHEMA`.`ROUTINES`
WHERE
`definer` LIKE
CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'))
ORDER BY
`database`
,`type`
,`name`
;
তালিকা ব্যবহারকারী এর পদ্ধতি এবং ফাংশন ব্যবহার করা ডাটাবেসের :
SELECT
`ROUTINE_SCHEMA` AS `database`
,`ROUTINE_TYPE` AS `type`
,`SPECIFIC_NAME` AS `name`
,`DTD_IDENTIFIER` AS `data_type`
FROM
`INFORMATION_SCHEMA`.`ROUTINES`
WHERE
`definer` LIKE
CONCAT('%', CONCAT((SUBSTRING_INDEX((SELECT user()), '@', 1)), '%'))
AND
`ROUTINE_SCHEMA` = DATABASE()
ORDER BY
`type`
,`name`
;
object_name(@@procid)
এসএসএমএস-এ মাইএসকিউলে এর মতো কিছু?