কীভাবে কোয়ালিটির মাধ্যমে মাইএসকিউএলে ডাটাবেস কাঠামো পাবেন


171

কোনও উপায়ে মাইএসকিউএল ডাটাবেসের কাঠামো, বা সাধারণ কোয়েরি সহ কিছু টেবিল পাওয়া সম্ভব?

বা অন্য কোন উপায় আছে, আমি কীভাবে এটি করতে পারি?

উত্তর:


260

আমি মনে করি আপনি পরে যা করছেন DESCRIBE

DESCRIBE table;

আপনি ব্যবহার করতে পারেন SHOW TABLES

SHOW TABLES;

আপনার ডাটাবেসে টেবিলগুলির একটি তালিকা পেতে।


6
নির্দিষ্ট ডেটাবেস ব্যবহার লক্ষ্যবস্তু করতে: SHOW TABLES FROM database_name
তারিক

109

সম্পূর্ণ ডাটাবেস কাঠামোটি তৈরি টেবিলের বিবৃতিগুলির সেট হিসাবে পেতে , mysqldump ব্যবহার করুন :

mysqldump database_name --compact --no-data

একক টেবিলের জন্য, mysqldump এ ডিবি নামের পরে টেবিলের নাম যুক্ত করুন। আপনি এসকিউএল এবং সারণী টেবিলের সাথে একই ফলাফল পান :

SHOW CREATE TABLE table;

বা যদি আপনি কোনও কলামের তালিকা পছন্দ করেন তবে ডিজিট করুন :

DESCRIBE table;

3
show create tableঠিক আমি যা খুঁজছিলাম ধন্যবাদ!
শাই

এটি সমাধান নয় তবে আমি গ্রেটফুল কারণ আমি জানতাম না যে এই ফাংশনটি বিদ্যমান এবং দুর্দান্ত!
এরি ওয়েসবার্গ

41

একবার দেখুন INFORMATION_SCHEMATABLESটেবিল। এতে আপনার সমস্ত সারণী সম্পর্কে মেটাডেটা রয়েছে।

উদাহরণ:

SELECT * FROM `INFORMATION_SCHEMA`.`TABLES`
WHERE TABLE_NAME LIKE 'table1'

অন্যান্য পদ্ধতির মাধ্যমে এর সুবিধাটি হ'ল আপনি সহজেই উপরের মতো প্রশ্নেরগুলি আপনার অন্যান্য প্রশ্নের মধ্যে সাবকিউরি হিসাবে ব্যবহার করতে পারেন।


6
এটা কি এমন হওয়া উচিত নয় information_schema? columns( columnsপরিবর্তে টেবিল ব্যবহার করছেন tables? কারণ tablesকোন ধরণের টেবিল কলামগুলি সম্পর্কিত কোনও তথ্য নেই
দিমিত্রি কে

২ য় সুবিধা হ'ল সার্ভারের
সূচনায়

হ্যাঁ, অবশ্যই টেবিলগুলির চেয়ে কলাম হওয়া উচিত! এটি একটি ট্রিট কাজ করে!
রাসেল ফুলটন

32

এটি ব্যবহার করে:

SHOW CREATE TABLE `users`;

আপনাকে এই টেবিলের জন্য ডিডিএল দেবে

DESCRIBE `users`

সেই টেবিলের কলামগুলি তালিকাভুক্ত করবে


1
আত্মাহীন, নিশ্চিত যে এটি table টেবিলের জন্য একটি ডিডিএল বিবৃতি
ডকিফ্লিপ

হ্যাঁ, এটি একটি ডিডিএলে একটি বিবৃতি, তবে একটি সি ফাংশন নিজেই হয় না সি সি একটি ভাষা, একটি সি প্রোগ্রামের একটি ক্রিয়া সেই ভাষার মধ্যে একটি গঠন is
'45 এ আত্মবিগ্ন

18
@ সোল্ভার, আমিও একজন প্যাডেন্ট, তবে আমার মনে হয় আপনি এখানে ভুল বলেছেন: "থ্যাঙ্কস" এর জন্য ফরাসী ভাষাটি 'মার্সি' "বেশ গ্রহণযোগ্য ইংরেজি বাক্য (" ফ্রেঞ্চ ওয়ার্ড ফর ফর "এর চেয়ে কম নয়) ইত্যাদি) , এবং এটি "এই টেবিলের জন্য ডিডিএল" এর মতো "express}" প্রকাশের জন্য "name {ভাষার নাম} to" হিসাবে সাধারণীকরণ করে। "এসি ফাংশন নিজেই সি হয় না" "ফরাসি শব্দটি নিজে ফরাসী নয়" বলে সমান: এটি সব ফরাসী ভাষায় অবশ্যই নয়, তবে "'আউ রিভায়ার' ফরাসী" বলা খুব কমই আপত্তিজনক (যেমন স্পষ্টতই প্রকাশ্য) এর অর্থ এটি ফ্রেঞ্চের অংশ, সমস্ত ফরাসি নয়! -)।
অ্যালেক্স মার্টেলি

@soulmerge। হ্যাঁ, ভোট দেওয়ার অবশ্যই একটি কারণ ... উপভোগ করুন!
mate00

dafuqq এখানে যাচ্ছে
নাইটনপদার্থ

19
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME ='products'; 

Table_schemaডাটাবেস নাম যেখানে


তথ্য স্কিমা নির্বাচন করার উপায় আছে কি? কলাম - নির্দিষ্ট ডিবি থেকে টেবিল?
শান

আমি এই কোয়েরিটি আমার শেষে ব্যবহার করেছিSELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_db_name' AND TABLE_NAME ='users';
আহমেদ নুমান


8

প্রথম উত্তরের একটি প্রকরণ যা আমি দরকারী বলে মনে করি

আপনার কমান্ড প্রম্পটটি খুলুন এবং প্রবেশ করুন (আপনাকে আপনার মাইএসকিএল সার্ভারে লগ ইন করতে হবে না)

mysqldump -hlocalhost -u<root> -p<password>  <dbname>  --compact --no-data > </path_to_mydump/>mysql.dmp

আমি এটি পছন্দ করি, এটি তৈরির বিবৃতি দেয়।
থুফির


2

নিম্নলিখিত উদাহরণে,

playgroundডাটাবেসের নাম এবং equipmentএটি টেবিলের নাম

আরেকটি উপায় শো-কলম্যান্স ব্যবহার করছে : 5.5 (এছাড়াও উপলব্ধ 5.5>)

$ mysql -uroot -p<password> -h<host> -P<port> -e \
    "SHOW COLUMNS FROM playground.equipment"

এবং আউটপুট:

mysql: [Warning] Using a password on the command line interface can be insecure.
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| type  | varchar(50) | YES  |     | NULL    |                |
| quant | int(11)     | YES  |     | NULL    |                |
| color | varchar(25) | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

কেউ নিম্নলিখিতগুলির মতো মাইএসকিএলএলএস-ক্লায়েন্ট (এর জন্য উপলব্ধ 5.5>) ও ব্যবহার করতে পারে :

$ mysqlshow -uroot -p<password> -h<host> -P<port> \
    playground equipment

এবং আউটপুট:

mysqlshow: [Warning] Using a password on the command line interface can be insecure.
Database: playground  Table: equipment
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type        | Collation         | Null | Key | Default | Extra          | Privileges                      | Comment |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+
| id    | int(11)     |                   | NO   | PRI |         | auto_increment | select,insert,update,references |         |
| type  | varchar(50) | latin1_swedish_ci | YES  |     |         |                | select,insert,update,references |         |
| quant | int(11)     |                   | YES  |     |         |                | select,insert,update,references |         |
| color | varchar(25) | latin1_swedish_ci | YES  |     |         |                | select,insert,update,references |         |
+-------+-------------+-------------------+------+-----+---------+----------------+---------------------------------+---------+

0

আজকাল লোকেরা এর DESCপরিবর্তে ব্যবহার করে DESCRIPTION। উদাহরণ স্বরূপ:- DESC users;

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.