Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

क्या MySQL में एस्टेरिस्क (*) वाले फील्ड नाम को चुन सकते हैं?

उत्तर

नहीं, सीधे नहीं। एस्टेरिस्क (*) 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)
  • फिर भी, हमेशा बैकटिक्स उपयोग करें सुरक्षा के लिए

एस्टेरिस्क वाले नाम तकनीकी रूप से संभव हैं लेकिन रखरखाव के लिए खराब अभ्यास हैं।

  1. - MySQL में दो खास कॉलम वाली सभी टेबल कैसे खोजें?

    INFORMATION_SCHEMA.COLUMNS से दो कॉलम वाली टेबल ढूंढना डेटाबेस में वे सभी टेबल खोजने जिनमें दो खास कॉलम (जैसे Id और Name) दोनों मौजूद हों, INFORMATION_SCHEMA.COLUMNS के साथ GROUP BY और HAVING का उपयोग करें। क्वेरी: Id और Name दोनों कॉलम वाली टेबल्स SELECT TABLE_NAME AS TableNameFromWebDatabase FRO

  1. - क्या हम MySQL SELECT IN() में एकल मान सेट कर सकते हैं?

    हाँ, हम MySQL में IN() के साथ एकल मान सेट कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.65 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)

  1. - MySQL SELECT में CONCAT() से वाइल्डकार्ड जोड़कर LIKE खोज करें

    सिंटैक्स select * from yourTableName where yourColumnName like concat(%, yourValue, %); उदाहरण insert into demo48(name) values(John Smith), (John Doe), (Adam Smith), (David Miller), (Chris Brown); Smith वाले नाम खोजना select * from demo48 where name like concat(%,Smith,%); +----+------------+ |