Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

शुरुआती के लिए MySQL / MariaDB सीखें - भाग 1

इस लेख में हम दिखाएंगे कि एक डेटाबेस (स्कीमा के रूप में भी जाना जाता है), टेबल (डेटा प्रकारों के साथ) कैसे बनाया जाए, और समझाएं कि डेटा मैनिपुलेशन भाषा कैसे करें (डीएमएल ) MySQL . पर डेटा के साथ संचालन / मारियाडीबी सर्वर।

यह माना जाता है कि आपने पहले 1) अपने Linux सिस्टम पर आवश्यक पैकेज स्थापित करें, और 2) निष्पादित mysql_secure_installation डेटाबेस सर्वर की सुरक्षा में सुधार करने के लिए। यदि नहीं, तो MySQL/MariaDB सर्वर स्थापित करने के लिए नीचे दी गई मार्गदर्शिकाओं का पालन करें।

  1. लिनक्स सिस्टम में नवीनतम MySQL डेटाबेस स्थापित करें
  2. लिनक्स सिस्टम में नवीनतम मारियाडीबी डेटाबेस स्थापित करें

संक्षिप्तता के लिए, हम MariaDB . का संदर्भ लेंगे विशेष रूप से इस पूरे लेख में, लेकिन यहां उल्लिखित अवधारणाएं और आदेश MySQL . पर लागू होते हैं साथ ही।

भाग 1 :शुरुआती के लिए MySQL / MariaDB सीखें भाग 2 :जानें कि MySQL और MariaDB के कई कार्यों का उपयोग कैसे करें

डेटाबेस, टेबल और अधिकृत उपयोगकर्ता बनाना

जैसा कि आप जानते हैं, डेटाबेस को सरल शब्दों में सूचना के संगठित संग्रह के रूप में परिभाषित किया जा सकता है। विशेष रूप से, मारियाडीबी एक संबंधपरक डेटाबेस प्रबंधन प्रणाली है (RDBMS ) और डेटाबेस पर संचालन करने के लिए संरचना क्वेरी भाषा का उपयोग करता है। इसके अतिरिक्त, ध्यान रखें कि मारियाडीबी शब्द डेटाबेस और स्कीमा का परस्पर उपयोग करता है।

डेटाबेस में स्थायी जानकारी संग्रहीत करने के लिए, हम तालिकाओं . का उपयोग करेंगे जो डेटा की पंक्तियों को संग्रहीत करता है। अक्सर, दो या दो से अधिक टेबल किसी न किसी तरह से एक दूसरे से संबंधित होंगे। यह उस संगठन का हिस्सा है जो संबंधपरक डेटाबेस के उपयोग की विशेषता बताता है।

नया डेटाबेस बनाना

BooksDB . नामक एक नया डेटाबेस बनाने के लिए , निम्न आदेश के साथ मारियाडीबी प्रॉम्प्ट दर्ज करें (आपको रूट मारियाडीबी उपयोगकर्ता के लिए पासवर्ड दर्ज करने के लिए कहा जाएगा):

[[email protected] ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.14-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE BookstoreDB;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> 

एक बार डेटाबेस बन जाने के बाद, हमें उस पर कम से कम दो टेबल बनाने होंगे। लेकिन पहले डेटा प्रकारों की अवधारणा को देखें।

मारियाडीबी डेटा प्रकारों का परिचय

जैसा कि हमने पहले बताया, टेबल डेटाबेस ऑब्जेक्ट हैं जहां हम लगातार जानकारी रखेंगे। प्रत्येक तालिका में दो या अधिक फ़ील्ड होते हैं (जिन्हें कॉलम . भी कहा जाता है) ) किसी दिए गए डेटा प्रकार (सूचना का प्रकार) जिसे ऐसा फ़ील्ड स्टोर कर सकता है।

मारियाडीबी में सबसे आम डेटा प्रकार निम्नलिखित हैं (आप आधिकारिक मारियाडीबी ऑनलाइन दस्तावेज में पूरी सूची देख सकते हैं):

संख्यात्मक:
  1. बूलियन 0 को असत्य और किसी अन्य मान को सत्य मानता है।
  2. टिन्यिनट , यदि SIGNED के साथ प्रयोग किया जाता है, तो -128 से 127 तक की सीमा को कवर करता है, जबकि UNSIGNED की सीमा 0 से 255 तक होती है।
  3. छोटा , यदि SIGNED के साथ प्रयोग किया जाता है, तो -32768 से 32767 तक की सीमा को कवर करता है। UNSIGNED की सीमा 0 से 65535 तक है।
  4. INT , यदि अहस्ताक्षरित के साथ प्रयोग किया जाता है, तो 0 से 4294967295, और -2147483648 से 2147483647 तक की सीमा को कवर करता है।

नोट :TINYINT, SMALLINT, और INT में, डिफ़ॉल्ट SIGNED मान लिया जाता है।

डबल (एम, डी) , जहां एम अंकों की कुल संख्या है और D दशमलव बिंदु के बाद अंकों की संख्या है, एक डबल-सटीक फ़्लोटिंग-पॉइंट संख्या का प्रतिनिधित्व करता है। यदि UNSIGNED निर्दिष्ट है, तो नकारात्मक मानों की अनुमति नहीं है।

स्ट्रिंग:
  1. वरचर(एम) चर लंबाई की एक स्ट्रिंग का प्रतिनिधित्व करता है जहां M बाइट्स में अधिकतम अनुमत कॉलम लंबाई है (सिद्धांत रूप में 65,535)। ज्यादातर मामलों में, बाइट्स की संख्या वर्णों की संख्या के समान होती है, कुछ वर्णों को छोड़कर जो 3 बाइट्स तक ले सकते हैं। उदाहरण के लिए, स्पैनिश अक्षर ñ एक वर्ण का प्रतिनिधित्व करता है लेकिन 2 बाइट्स लेता है।
  2. पाठ(एम) 65,535 वर्णों की अधिकतम लंबाई वाले कॉलम का प्रतिनिधित्व करता है। हालांकि, जैसा कि VARCHAR(M) . के साथ होता है , यदि बहु-बाइट वर्ण संग्रहीत हैं, तो वास्तविक अधिकतम लंबाई कम हो जाती है। अगर एम निर्दिष्ट है, तो कॉलम सबसे छोटे प्रकार के रूप में बनाया गया है जो इतनी संख्या में वर्णों को संग्रहीत कर सकता है।
  3. मध्यम टेक्स्ट(एम) और LONGTEXT(M) TEXT(M) . के समान हैं , केवल यह कि अधिकतम अनुमत लंबाई क्रमशः 16,777,215 और 4,294,967,295 वर्ण हैं।
दिनांक और समय:
  1. दिनांक YYYY-MM-DD . में दिनांक का प्रतिनिधित्व करता है प्रारूप।
  2. समय HH:MM:SS.sss . में समय का प्रतिनिधित्व करता है प्रारूप (घंटा, मिनट, सेकंड और मिलीसेकंड)।
  3. DATETIME DATE . का संयोजन है और समय YYYY-MM-DD HH:MM:SS . में प्रारूप।
  4. टाइमस्टैम्प एक पंक्ति को जोड़ने या अद्यतन करने के क्षण को परिभाषित करने के लिए उपयोग किया जाता है।

इन डेटा प्रकारों की समीक्षा करने के बाद, आप यह निर्धारित करने के लिए बेहतर स्थिति में होंगे कि आपको किसी तालिका में दिए गए कॉलम को किस प्रकार का डेटा असाइन करना है।

उदाहरण के लिए, किसी व्यक्ति का नाम आसानी से VARCHAR(50) . में फिट हो सकता है , जबकि ब्लॉग पोस्ट के लिए पाठ . की आवश्यकता होगी टाइप करें (M चुनें) आपकी विशिष्ट आवश्यकताओं के अनुसार)।

प्राथमिक और विदेशी कुंजी के साथ तालिका बनाना

टेबल बनाने से पहले, रिलेशनल डेटाबेस के बारे में दो मूलभूत अवधारणाएँ हैं जिनकी हमें समीक्षा करने की आवश्यकता है:प्राथमिक और विदेशी कुंजियाँ।

एक प्राथमिक कुंजी इसमें एक मान होता है जो तालिका में प्रत्येक पंक्ति या रिकॉर्ड की विशिष्ट रूप से पहचान करता है। दूसरी ओर, एक विदेशी कुंजी दो तालिकाओं में डेटा के बीच एक लिंक बनाने के लिए और उस तालिका में संग्रहीत डेटा को नियंत्रित करने के लिए उपयोग किया जाता है जहां विदेशी कुंजी स्थित है। प्राथमिक और विदेशी दोनों कुंजियाँ आम तौर पर INTs होती हैं।

उदाहरण के लिए, आइए BookstoreDB . का उपयोग करें और AuthorsTBL . नाम की दो टेबल बनाएं और BooksTBL निम्नलिखित नुसार। शून्य नहीं बाधा इंगित करती है कि संबद्ध फ़ील्ड को NULL . के अलावा किसी अन्य मान की आवश्यकता है ।

साथ ही, AUTO_INCREMENT INT . के मान को एक से बढ़ाने के लिए उपयोग किया जाता है प्राथमिक कुंजी कॉलम जब तालिका में एक नया रिकॉर्ड डाला जाता है।

MariaDB [(none)]> USE BookstoreDB;

MariaDB [(none)]> CREATE TABLE AuthorsTBL (
AuthorID INT NOT NULL AUTO_INCREMENT,
AuthorName VARCHAR(100),
PRIMARY KEY(AuthorID)
);

MariaDB [(none)]> CREATE TABLE BooksTBL (
BookID INT NOT NULL AUTO_INCREMENT,
BookName VARCHAR(100) NOT NULL,
AuthorID INT NOT NULL,
BookPrice DECIMAL(6,2) NOT NULL,
BookLastUpdated TIMESTAMP,
BookIsAvailable BOOLEAN,
PRIMARY KEY(BookID),
FOREIGN KEY (AuthorID) REFERENCES AuthorsTBL(AuthorID)
);
प्राथमिक और विदेशी कुंजी के साथ MySQL टेबल्स बनाएं
MariaDB [(none)]> USE BookstoreDB;
Database changed
MariaDB [BookstoreDB]> CREATE TABLE AuthorsTBL (
    -> AuthorID INT NOT NULL AUTO_INCREMENT,
    -> AuthorName VARCHAR(100),
    -> PRIMARY KEY(AuthorID)
    -> );
Query OK, 0 rows affected (0.05 sec)

MariaDB [BookstoreDB]> CREATE TABLE BooksTBL (
    -> BookID INT NOT NULL AUTO_INCREMENT,
    -> BookName VARCHAR(100) NOT NULL,
    -> AuthorID INT NOT NULL,
    -> BookPrice DECIMAL(6,2) NOT NULL,
    -> BookLastUpdated TIMESTAMP,
    -> BookIsAvailable BOOLEAN,
    -> PRIMARY KEY(BookID),
    -> FOREIGN KEY (AuthorID) REFERENCES AuthorsTBL(AuthorID)
    -> );
Query OK, 0 rows affected (0.05 sec)

MariaDB [BookstoreDB]> 

अब हम आगे बढ़ सकते हैं और AuthorsTBL . में रिकॉर्ड डालना शुरू कर सकते हैं और BooksTBL

पंक्तियों को चुनना, सम्मिलित करना, अद्यतन करना और हटाना

हम सबसे पहले AuthorsTBL . को पॉप्युलेट करेंगे टेबल। क्यों? क्योंकि हमारे पास AuthorID . के लिए मान होने चाहिए BooksTBL . में रिकॉर्ड डालने से पहले ।

अपने मारियाडीबी प्रॉम्प्ट से निम्नलिखित क्वेरी निष्पादित करें:

MariaDB [BookstoreDB]> INSERT INTO AuthorsTBL (AuthorName) VALUES ('Agatha Christie'), ('Stephen King'), ('Paulo Coelho');

उसके बाद, हम AuthorsTBL . से सभी रिकॉर्ड का चयन करेंगे . याद रखें हमें AuthorID . की आवश्यकता होगी प्रत्येक रिकॉर्ड के लिए INSERT . बनाने के लिए BooksTBL . के लिए क्वेरी ।

यदि आप एक बार में एक रिकॉर्ड पुनर्प्राप्त करना चाहते हैं, तो आप कहां . का उपयोग कर सकते हैं एक शर्त को इंगित करने के लिए एक पंक्ति को वापस करने के लिए एक पंक्ति को पूरा करना होगा। उदाहरण के लिए,

MariaDB [BookstoreDB]> SELECT * FROM AuthorsTBL WHERE AuthorName='Agatha Christie';

वैकल्पिक रूप से, आप सभी रिकॉर्ड एक साथ चुन सकते हैं:

MariaDB [BookstoreDB]> SELECT * FROM AuthorsTBL;
MySQL में चुनें और क्वेरी रिकॉर्ड करें
MariaDB [BookstoreDB]> SELECT * FROM AuthorsTBL WHERE AuthorName='Agatha Christie';
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
+----------+-----------------+
1 row in set (0.00 sec)

MariaDB [BookstoreDB]> SELECT * FROM AuthorsTBL;
+----------+-----------------+
| AuthorID | AuthorName      |
+----------+-----------------+
|        1 | Agatha Christie |
|        2 | Stephen King    |
|        3 | Paulo Coelho    |
+----------+-----------------+
3 rows in set (0.00 sec)

MariaDB [BookstoreDB]>

आइए अब INSERT बनाएं BooksTBL . के लिए क्वेरी , संबंधित AuthorID . का उपयोग करके प्रत्येक पुस्तक के लेखक से मेल खाने के लिए। 1 . का मान BookIsAvailable . में इंगित करता है कि पुस्तक स्टॉक में है, 0 अन्यथा:

MariaDB [BookstoreDB]> INSERT INTO BooksTBL (BookName, AuthorID, BookPrice, BookIsAvailable)
VALUES ('And Then There Were None', 1, 14.95, 1),
('The Man in the Brown Suit', 1, 23.99, 1),
('The Stand', 2, 35.99, 1),
('Pet Sematary', 2, 17.95, 0),
('The Green Mile', 2, 29.99, 1),
('The Alchemist', 3, 25, 1),
('By the River Piedra I Sat Down and Wept', 3, 18.95, 0);
MySQL तालिका में क्वेरी सम्मिलित करें
MariaDB [BookstoreDB]> INSERT INTO BooksTBL (BookName, AuthorID, BookPrice, BookIsAvailable)
    -> VALUES ('And Then There Were None', 1, 14.95, 1),
    -> ('The Man in the Brown Suit', 1, 23.99, 1),
    -> ('The Stand', 2, 35.99, 1),
    -> ('Pet Sematary', 2, 17.95, 0),
    -> ('The Green Mile', 2, 29.99, 1),
    -> ('The Alchemist', 3, 25, 1),
    -> ('By the River Piedra I Sat Down and Wept', 3, 18.95, 0);
Query OK, 7 rows affected (0.03 sec)
Records: 7  Duplicates: 0  Warnings: 0

इस बिंदु पर हम एक चुनें . करेंगे BooksTBL . में रिकॉर्ड देखने के लिए . तो चलिए अपडेट करेंद अलकेमिस्ट . की कीमत " पाउलो कोएल्हो . द्वारा और चुनें वह विशिष्ट रिकॉर्ड फिर से।

ध्यान दें कि कैसे BookLastUpdated फ़ील्ड अब एक अलग मान दिखाता है। जैसा कि हमने पहले बताया, एक TIMESTAMP फ़ील्ड उस मान को दिखाता है जब रिकॉर्ड डाला गया था या अंतिम बार संशोधित किया गया था।

MariaDB [BookstoreDB]> SELECT * FROM BooksTBL;
MariaDB [BookstoreDB]> UPDATE BooksTBL SET BookPrice=22.75 WHERE BookID=6;
MariaDB [BookstoreDB]> SELECT * FROM BooksTBL WHERE BookID=6;
MySQL डेटाबेस में क्वेरी डालें और तालिका अपडेट करें
MariaDB [BookstoreDB]> SELECT * FROM BooksTBL;
+--------+-----------------------------------------+----------+-----------+---------------------+-----------------+
| BookID | BookName                                | AuthorID | BookPrice | BookLastUpdated     | BookIsAvailable |
+--------+-----------------------------------------+----------+-----------+---------------------+-----------------+
|      1 | And Then There Were None                |        1 |     14.95 | 2016-10-01 23:31:41 |               1 |
|      2 | The Man in the Brown Suit               |        1 |     23.99 | 2016-10-01 23:31:41 |               1 |
|      3 | The Stand                               |        2 |     35.99 | 2016-10-01 23:31:41 |               1 |
|      4 | Pet Sematary                            |        2 |     17.95 | 2016-10-01 23:31:41 |               0 |
|      5 | The Green Mile                          |        2 |     29.99 | 2016-10-01 23:31:41 |               1 |
|      6 | The Alchemist                           |        3 |     25.00 | 2016-10-01 23:31:41 |               1 |
|      7 | By the River Piedra I Sat Down and Wept |        3 |     18.95 | 2016-10-01 23:31:41 |               0 |
+--------+-----------------------------------------+----------+-----------+---------------------+-----------------+
7 rows in set (0.00 sec)

MariaDB [BookstoreDB]> UPDATE BooksTBL SET BookPrice=22.75 WHERE BookID=6;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [BookstoreDB]> SELECT * FROM BooksTBL WHERE BookID=6;
+--------+---------------+----------+-----------+---------------------+-----------------+
| BookID | BookName      | AuthorID | BookPrice | BookLastUpdated     | BookIsAvailable |
+--------+---------------+----------+-----------+---------------------+-----------------+
|      6 | The Alchemist |        3 |     22.75 | 2016-10-01 23:35:00 |               1 |
+--------+---------------+----------+-----------+---------------------+-----------------+
1 row in set (0.00 sec)

MariaDB [BookstoreDB]> 

यद्यपि हम इसे यहां नहीं करेंगे, यदि अब उपयोग नहीं किया जाता है तो आप रिकॉर्ड को हटा भी सकते हैं। उदाहरण के लिए, मान लें कि हम “द अलकेमिस्ट . को हटाना चाहते हैं ” BooksTBL . से ।

ऐसा करने के लिए, हम हटाएं . का उपयोग करेंगे बयान इस प्रकार है:

MariaDB [BookstoreDB]> DELETE FROM BooksTBL WHERE BookID=6;

जैसा कि अद्यतन करें . के मामले में है , चयन . करना एक अच्छा विचार है सबसे पहले उन रिकॉर्ड्स को देखने के लिए जो संभावित रूप से हटाएं . से प्रभावित हो सकते हैं ।

साथ ही, कहां . जोड़ना न भूलें खंड और एक शर्त (BookID=6) हटाए जाने वाले विशिष्ट रिकॉर्ड का चयन करने के लिए। अन्यथा, आप तालिका में सभी पंक्तियों को हटाने का जोखिम उठाते हैं!

यदि आप दो (या अधिक) फ़ील्ड को जोड़ना चाहते हैं, तो आप CONCAT . का उपयोग कर सकते हैं बयान। उदाहरण के लिए, मान लें कि हम एक परिणाम सेट वापस करना चाहते हैं जिसमें पुस्तक नाम और लेखक के साथ "द अल्केमिस्ट (पाउलो कोएल्हो) के रूप में एक फ़ील्ड शामिल है। ” और कीमत के साथ एक और कॉलम।

इसके लिए शामिल हों . की आवश्यकता होगी लेखकोंTBL . के बीच और किताबें टीबीएल दोनों तालिकाओं द्वारा साझा की गई साझा फ़ील्ड पर (AuthorID ):

MariaDB [BookstoreDB]> SELECT CONCAT(BooksTBL.BookName, ' (', AuthorsTBL.AuthorName, ')') AS Description, BooksTBL.BookPrice FROM AuthorsTBL JOIN BooksTBL ON AuthorsTBL.AuthorID = BooksTBL.AuthorID;

जैसा कि हम देख सकते हैं, CONCAT हमें अल्पविराम द्वारा अलग किए गए कई स्ट्रिंग अभिव्यक्तियों में शामिल होने की अनुमति देता है। आपने यह भी देखा होगा कि हमने उपनाम विवरण . चुना है संयोजन के परिणाम सेट का प्रतिनिधित्व करने के लिए।

उपरोक्त क्वेरी का आउटपुट नीचे की छवि में दिखाया गया है:

MySQL तालिका में एकाधिक फ़ील्ड क्वेरी करें
MariaDB [BookstoreDB]> SELECT CONCAT(BooksTBL.BookName, ' (', AuthorsTBL.AuthorName, ')') AS Description, BooksTBL.BookPrice FROM AuthorsTBL JOIN BooksTBL ON AuthorsTBL.AuthorID = BooksTBL.AuthorID;
+--------------------------------------------------------+-----------+
| Description                                            | BookPrice |
+--------------------------------------------------------+-----------+
| And Then There Were None (Agatha Christie)             |     14.95 |
| The Man in the Brown Suit (Agatha Christie)            |     23.99 |
| The Stand (Stephen King)                               |     35.99 |
| Pet Sematary (Stephen King)                            |     17.95 |
| The Green Mile (Stephen King)                          |     29.99 |
| The Alchemist (Paulo Coelho)                           |     25.00 |
| By the River Piedra I Sat Down and Wept (Paulo Coelho) |     18.95 |
+--------------------------------------------------------+-----------+
7 rows in set (0.00 sec)

BookstoreDB डेटाबेस तक पहुंचने के लिए उपयोगकर्ता बनाएं

रूट का उपयोग करना सभी DML . प्रदर्शन करने के लिए डेटाबेस में संचालन एक बुरा विचार है। इससे बचने के लिए, हम एक नया MariaDB बना सकते हैं उपयोगकर्ता खाता (हम इसे bookstoreuser नाम देंगे) ) और BookstoreDB . के लिए सभी आवश्यक अनुमतियां असाइन करें :

MariaDB [BookstoreDB]> CREATE USER [email protected] IDENTIFIED BY 'YourPasswordHere';
MariaDB [BookstoreDB]> GRANT ALL PRIVILEGES ON  BookstoreDB.* to [email protected];
MariaDB [BookstoreDB]> FLUSH PRIVILEGES;
विशेषाधिकारों के साथ नया डेटाबेस उपयोगकर्ता बनाएं
MariaDB [BookstoreDB]> CREATE USER [email protected] IDENTIFIED BY 'tecmint';
Query OK, 0 rows affected (0.00 sec)

MariaDB [BookstoreDB]> GRANT ALL PRIVILEGES ON  BookstoreDB.* to [email protected];
Query OK, 0 rows affected (0.00 sec)

MariaDB [BookstoreDB]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

प्रत्येक डेटाबेस के लिए एक समर्पित, अलग उपयोगकर्ता होने से पूरे डेटाबेस को होने वाले नुकसान को रोका जा सकता है, अगर किसी एकल खाते से छेड़छाड़ की जाती है।

अतिरिक्त MySQL युक्तियाँ

MariaDB . को साफ़ करने के लिए प्रॉम्प्ट करें, निम्न कमांड टाइप करें और Enter press दबाएं :

MariaDB [BookstoreDB]> \! clear

किसी दी गई तालिका के विन्यास का निरीक्षण करने के लिए, करें:

MariaDB [BookstoreDB]> SELECT COLUMNS IN [TABLE NAME HERE ];

उदाहरण के लिए,

MariaDB [BookstoreDB]> SHOW COLUMNS IN BooksTBL;
डेटाबेस तालिका में कॉलम सूचीबद्ध करें
MariaDB [BookstoreDB]> SHOW COLUMNS IN BooksTBL;
+-----------------+--------------+------+-----+-------------------+-----------------------------+
| Field           | Type         | Null | Key | Default           | Extra                       |
+-----------------+--------------+------+-----+-------------------+-----------------------------+
| BookID          | int(11)      | NO   | PRI | NULL              | auto_increment              |
| BookName        | varchar(100) | NO   |     | NULL              |                             |
| AuthorID        | int(11)      | NO   | MUL | NULL              |                             |
| BookPrice       | decimal(6,2) | NO   |     | NULL              |                             |
| BookLastUpdated | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| BookIsAvailable | tinyint(1)   | YES  |     | NULL              |                             |
+-----------------+--------------+------+-----+-------------------+-----------------------------+
6 rows in set (0.02 sec)

एक त्वरित निरीक्षण से पता चलता है कि BookIsAvailable फ़ील्ड स्वीकार करता है नल मूल्य। चूंकि हम इसकी अनुमति नहीं देना चाहते हैं, इसलिए हम बदलें तालिका इस प्रकार है:

MariaDB [BookstoreDB]> ALTER TABLE BooksTBL MODIFY BookIsAvailable BOOLEAN NOT NULL;

(बेझिझक फिर से कॉलम दिखाएं - हाइलाइट किया गया हां उपरोक्त छवि में अब नहीं . होना चाहिए )।

अंत में, अपने सर्वर पर सभी डेटाबेस देखने के लिए, करें:

MariaDB [BookstoreDB]> SHOW DATABASES;
OR
MariaDB [BookstoreDB]> SHOW SCHEMAS;
सभी MySQL डेटाबेस सूचीबद्ध करें
[[email protected] ~]# mysql -u bookstoreuser -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.1.14-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [BookstoreDB]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| BookstoreDB        |
| information_schema |
+--------------------+
2 rows in set (0.00 sec)

MariaDB [BookstoreDB]> SHOW SCHEMAS;
+--------------------+
| Database           |
+--------------------+
| BookstoreDB        |
| information_schema |
+--------------------+
2 rows in set (0.00 sec)

निम्न छवि मारियाडीबी प्रॉम्प्ट को bookstoreuser के रूप में एक्सेस करने के बाद उपरोक्त आदेश का परिणाम दिखाती है (ध्यान दें कि यह खाता BookstoreDB . के अलावा किसी अन्य डेटाबेस को "देख" नहीं सकता है और सूचना_स्कीमा (सभी उपयोगकर्ताओं के लिए उपलब्ध):

सारांश

इस लेख में हमने बताया है कि DML को कैसे चलाया जाता है संचालन और एक मारियाडीबी डेटाबेस पर डेटाबेस, टेबल और समर्पित उपयोगकर्ता कैसे बनाएं। इसके अतिरिक्त, हमने कुछ सुझाव साझा किए हैं जो एक सिस्टम / डेटाबेस व्यवस्थापक के रूप में आपके जीवन को आसान बना सकते हैं।

  1. MySQL डेटाबेस व्यवस्थापन भाग - 1
  2. MySQL डेटाबेस व्यवस्थापन भाग-2
  3. MySQL प्रदर्शन ट्यूनिंग और अनुकूलन - भाग 3

यदि आपके पास इस लेख के बारे में कोई प्रश्न हैं, तो बेझिझक हमें बताएं! हम तक पहुंचने के लिए नीचे दिए गए कमेंट फॉर्म का बेझिझक इस्तेमाल करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # के साथ MySQL के लिए पैरामीटरयुक्त क्वेरी

  2. MySQL में कॉलम के रूप में रो वैल्यू कैसे प्रदर्शित करें

  3. अद्वितीय मानों की संख्या गिनें

  4. MySQL - रैंडम नंबर कैसे जेनरेट करें

  5. mysql sproc में तालिका नाम के लिए एक चर का उपयोग करें