মাইএসকিউএল কোয়েরিতে ব্যাকটিক (`) ব্যবহারের সুবিধা?


25

মাইএসকিউএলে আমরা ব্যাকটিক ( `) চিহ্ন সহ বা ছাড়াই ক্যোরি তৈরি করতে পারি । উদাহরণ:

  1. SELECT * FROM TEST;
  2. SELECT * FROM `TEST`;

উভয়ই মাইএসকিএল-কনসোলে দুর্দান্ত কাজ করে।

তাদের মধ্যে কি কোনও প্রযুক্তিগত পার্থক্য রয়েছে?

`সাধারণ প্রশ্নের উপরের ( ) ব্যবহার করে কি কোনও সুবিধা আছে ?

উত্তর:


33

এগুলিকে উদ্ধৃত শনাক্তকারী বলা হয় এবং তারা পার্সারকে তাদের মধ্যে লেখাটি আক্ষরিক স্ট্রিং হিসাবে হ্যান্ডেল করতে বলে। যখন আপনার কাছে কোনও কলাম বা স্পেস রয়েছে এমন কোনও কলাম বা সারণী থাকবে তখন এগুলি কার্যকর। উদাহরণস্বরূপ নিম্নলিখিতটি কাজ করবে না:

CREATE TABLE my table (id INT);

তবে নিম্নলিখিতগুলি হবে:

CREATE TABLE `my table` (id INT);

এছাড়াও, নিম্নলিখিতগুলি একটি ত্রুটি পেতে পারে, কারণ COUNTএটি একটি সংরক্ষিত কীওয়ার্ড:

SELECT count FROM some_table

তবে নিম্নলিখিতগুলি সঠিকভাবে বিশ্লেষণ করা হবে:

SELECT `count` FROM some_table

এটি তোমাকে সাহায্য করবে বলে আশা করি।


24

যদি আপনি অবজেক্ট শনাক্তকারীদের আশেপাশে কিছু ব্যবহার করতে চান তবে কমপক্ষে স্ট্যান্ডার্ড ডাবল উদ্ধৃতি ব্যবহার করুন: "

মাইএসকিউএল জন্য মাইএসকিউএল, পোস্টগ্রি এসকিউএল সার্ভার, ওরাকল, ইত্যাদি ইত্যাদি এই কাজ আপনার যা দরকার তা পারে এসকিউএল মোড ansi_quotes , ডিফল্ট কনফিগারেশনের উপর ভিত্তি করে:

SET sql_mode = 'ANSI_QUOTES';

ব্যাকটিক্স only কেবল মাইএসকিউএলে ব্যবহৃত হয়, আপনি এমন এক ধরণের এসকিউএল শিখেন যা ডিবিএমএসের অন্য কোনও ব্র্যান্ডে কাজ করবে না।


6

এর অর্থ আপনার সারণির নামগুলিতে ফাঁকা স্থান থাকতে পারে। অবশ্যই বিশেষ আবেদনকারী নয়। এসকিউএল সার্ভারের [] এর সাথে একই।


3

এটি যদি আপনার নামের সাথে কলাম সংরক্ষিত থাকে তবে এটি সহায়ক হতে পারে,

উদাহরণস্বরূপ: আপনি এই জাতীয় বিবৃতি জিজ্ঞাসা করতে পারেন:

select * from tablename group by `group`;

1

আমার দৃষ্টিকোণ থেকে, @ মিঃ ব্রাউনস্টোন উত্তর কেবল আংশিকভাবে সঠিক।

ব্যাকটিক ` মাইএসকিউএল- করতে ব্যবহৃত হয় যা সনাক্তকারীদের প্রতিনিধিত্ব করে (স্ট্রিং নয়)।

এটি আপনাকে শনাক্তকারী হিসাবে সাধারণত স্পেস, সংরক্ষিত শব্দ ইত্যাদির মতো স্বীকৃত অক্ষরগুলি ব্যবহার করতে দেয়। উদাহরণ স্বরূপ:

SELECT * FROM `Strange table name`;

এছাড়াও গুরুত্বপূর্ণ এটি পার্সারকে এটিও জানতে দেয় যে আপনি কোনও অস্তিত্ব নেই এমন একটি কলাম নির্বাচন করার মতো কোনও ভুল করছেন কিনা। উদাহরণ স্বরূপ:

SELECT notexistingcolumn FROM atable;

যদি atableথাকে তবেnotexistingcolumn কলামটি না থাকে তবে এটি আক্ষরিক স্ট্রিং "নোটেক্সিস্টিংক্লোনম" হিসাবে এটি মান হিসাবে নির্বাচিত হবে (এবং সম্ভবত একটি সতর্কতা নির্গত হবে) হিসাবে ব্যাখ্যা করা হবে।

পরিবর্তে, আপনি যদি ব্যবহার করেন:

SELECT `notexistingcolumn` FROM `atable`;

এটি এটি স্বীকৃতি দেবে notexistingcolumn কোনও কলামের নাম যা বিদ্যমান নেই এবং ত্রুটি ছুঁড়ে ফেলে।

আমি মনে করি যে উপনাম সহ ব্যাকটিক্স সহ শনাক্তকারীদের ঘিরে থাকা সবসময়ই ভাল এবং সনাক্তকারীদের জন্য সংরক্ষিত শব্দ এবং অদ্ভুত অক্ষরগুলি ব্যবহার এড়াতে চেষ্টা করুন।

আপনি মাইএসকিউএল এর ব্যাকটিকটি সম্পর্কে https://dev.mysql.com/doc/refman/8.0/en/phanfiers.html এ আরও পড়তে পারেন ।

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