उत्तर
नहीं, सीधे नहीं। एस्टेरिस्क (*) SQL में विशेष वर्ण है (सभी कॉलम, गुणा, वाइल्डकार्ड)। फील्ड नाम में विशेष वर्ण होने पर बैकटिक्स (`) में घेरना आवश्यक है।
उदाहरण: एस्टेरिस्क वाले कॉलम नाम के साथ टेबल बनाना
mysql> CREATE TABLE DemoTable (
-> `Name*` VARCHAR(20)
-> );
Query OK, 0 rows affected (2.03 sec)
डेटा डालना
mysql> INSERT INTO DemoTable(`Name*`) VALUES('Chris Brown');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(`Name*`) VALUES('David Miller');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable(`Name*`) VALUES('John Doe');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable(`Name*`) VALUES('John Smith');
Query OK, 1 row affected (0.23 sec)
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+--------------+
| Name* |
+--------------+
| Chris Brown |
| David Miller |
| John Doe |
| John Smith |
+--------------+
4 rows in set (0.00 sec)
एस्टेरिस्क वाले फील्ड को चुनने की क्वेरी
mysql> SELECT `Name*` FROM DemoTable;
परिणाम
+--------------+
| Name* |
+--------------+
| Chris Brown |
| David Miller |
| John Doe |
| John Smith +
+--------------+
4 rows in set (0.00 sec)
नियम
- किसी भी पहचानकर्ता (टेबल, कॉलम, इंडेक्स, एलियास) में विशेष वर्ण, स्पेस, आरक्षित शब्द होने पर बैकटिक्स अनिवार्य
`Name*`- सहीName*- सिंटैक्स त्रुटि'Name*'- स्ट्रिंग लिटरल (कॉलम नहीं)
बचने योग्य नामकरण पैटर्न
| पैटर्न | समस्या | बेहतर विकल्प |
|---|---|---|
Name* | विशेष वर्ण | NameStar, Name_Asterisk |
Order | आरक्षित शब्द | OrderId, SortOrder |
User Name | स्पेस | UserName, user_name |
Select | आरक्षित शब्द | Selection, Choice |
सर्वोत्तम अभ्यास
- केवल अक्षर, अंक, अंडरस्कोर उपयोग करें:
[a-zA-Z0-9_] - अक्षर से शुरू करें
- आरक्षित शब्दों से बचें
- वर्णनात्मक, सुसंगत नामकरण (snake_case या camelCase)
- फिर भी, हमेशा बैकटिक्स उपयोग करें सुरक्षा के लिए
एस्टेरिस्क वाले नाम तकनीकी रूप से संभव हैं लेकिन रखरखाव के लिए खराब अभ्यास हैं।