php टेबल तयार करण्यासाठी sql क्वेरी तयार करा. नवीन MySQL डेटाबेस तयार करणे. येथे काही मुद्दे आहेत ज्यांचे स्पष्टीकरण आवश्यक आहे

वारंवार विचारले जाणारे प्रश्न 16.06.2019
वारंवार विचारले जाणारे प्रश्न

डेटाबेस Mysql तयार करण्यासाठी पायऱ्या

डेटाबेस दोन प्रकारे तयार करा

1) साधी SQL क्वेरी कार्यान्वित करून

2) MySQL Workbench मध्ये फॉरवर्ड इंजिनीअरिंग वापरून

या ट्युटोरियलमध्ये तुम्ही शिकाल-

SQL नवशिक्या म्हणून, प्रथम क्वेरी पद्धत पाहू.

डेटाबेस तयार करा

CREATE DATABASE ही डेटाबेस तयार करण्यासाठी SQL कमांड आहे.

कल्पना करा की तुम्हाला "चित्रपट" नावाचा डेटाबेस तयार करायचा आहे. तुम्ही खालील SQL कमांड कार्यान्वित करून हे करू शकता.

डेटाबेस चित्रपट तयार करा;

टीप: तुम्ही CREATE DATABASE ऐवजी CREATE SCHEMA कमांड देखील वापरू शकता

आता अधिक पॅरामीटर्स आणि वैशिष्ट्य जोडून आमची SQL क्वेरी सुधारू.

जर अस्तित्वात नसेल

एकाच MySQL सर्व्हरमध्ये अनेक डेटाबेस असू शकतात. एकाच MySQL सर्व्हरवर प्रवेश करणारे तुम्ही एकमेव नसल्यास किंवा तुम्हाला अनेक डेटाबेसेसचा सामना करावा लागत असल्यास, अस्तित्वात असलेल्या डेटाबेसच्या नावासह नवीन डेटाबेस तयार करण्याचा प्रयत्न करण्याची शक्यता आहे. जर अस्तित्वात नसेलडेटाबेस तयार करण्यापूर्वी तुम्हाला MySQL सर्व्हरला समान नाव असलेल्या डेटाबेसचे अस्तित्व तपासण्याची सूचना द्या.

कधी जर अस्तित्वात नसेलदिलेले नाव विद्यमान डेटाबेसच्या नावाशी विरोधाभास नसेल तरच डेटाबेस तयार केला जातो. वापरल्याशिवाय जर अस्तित्वात नसेल MySQL एक त्रुटी टाकते.

DATABASEIF अस्तित्वात नसलेले चित्रपट तयार करा;

कोलेशन आणि कॅरेक्टर सेट

कोलेशनचा संच आहे नियम तुलनेत वापरले.बरेच लोक इंग्रजी व्यतिरिक्त इतर डेटा संग्रहित करण्यासाठी MySQL वापरतात. विशिष्ट वर्ण संच वापरून MySQL मध्ये डेटा संग्रहित केला जातो. कॅरेक्टर सेट वेगवेगळ्या स्तरांवर उदा, सर्व्हर, डेटाबेस, टेबल आणि कॉलम्सवर परिभाषित केला जाऊ शकतो.

तुम्हाला कोलेशनचे नियम निवडणे आवश्यक आहे जे निवडलेल्या वर्ण सेटवर अवलंबून असतात.

उदाहरणार्थ, Latine1 वर्ण संच latin1_swedish_ci कोलेशन वापरतो जो स्वीडिश केस असंवेदनशील क्रम आहे.

चित्रपट अस्तित्त्वात नसल्यास डेटाबेस तयार करा कॅरेक्टर सेट लॅटिन1 कोलॅट लैटिन1_swedish_ci

अरबी, चायनीज इत्यादी स्थानिक भाषा वापरताना सर्वोत्तम सराव म्हणजे युनिकोड (utf-8) वर्ण संच निवडणे ज्यामध्ये अनेक कोलेशन आहेत किंवा फक्त डीफॉल्ट कोलेशन utf8-general-ci ला चिकटून राहणे.

तुम्ही सर्व संचांची आणि वर्ण संचांची यादी येथे शोधू शकता

आपण खालील SQL कमांड चालवून विद्यमान डेटाबेसची सूची पाहू शकता.

डेटाबेस दाखवा

MySQL टेबल तयार करणे

वापरून तक्ते तयार करता येतात टेबल तयार करास्टेटमेंट आणि त्यात प्रत्यक्षात खालील वाक्यरचना आहे.

टेबल तयार करा `टेबलनेम` (`फील्डनेम` डेटाटाइप ) इंजिन = स्टोरेज इंजिन;

  • डेटाबेसमध्ये टेबल तयार करण्यासाठी "तक्ता तयार करा" जबाबदार आहे.
  • "" ऐच्छिक आहे आणि जुळणारे सारणीचे नाव आढळले नाही तरच टेबल तयार करा.
  • "`fieldName`" हे फील्डचे नाव आहे आणि "डेटा प्रकार" फील्डमध्ये संचयित केल्या जाणाऱ्या डेटाचे स्वरूप परिभाषित करते.
  • "" फील्डबद्दल अतिरिक्त माहिती जसे की " AUTO_INCREMENT " , NOT NULL इ

    टेबल उदाहरण तयार करा:-

    `MyFlixDB` अस्तित्वात नसल्यास सारणी तयार करा.`सदस्य` (`सदस्य_संख्या` INT AUTOINCREMENT , `full_names` VARCHAR(150) NOT NULL , `gender` VARCHAR(6) , `date_of_borth,` AR5_dress,` AR5_dress, `date_of_birth) `पोस्टल_पत्ता` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , प्राथमिक की (`सदस्य_संख्या`)) ENGINE = InnoDB;

आता MySQL चे डेटा प्रकार काय आहेत ते पाहू. तुमच्या गरजेनुसार तुम्ही त्यापैकी कोणतेही वापरू शकता. डेटाबेस तयार करताना तुम्ही नेहमी डेटाच्या संभाव्य श्रेणीला कमी लेखण्याचा किंवा जास्त न मोजण्याचा प्रयत्न केला पाहिजे.

डेटा प्रकार

डेटा प्रकार डेटाचे स्वरूप परिभाषित करतात जे टेबलच्या विशिष्ट स्तंभामध्ये संग्रहित केले जाऊ शकतात

MySQL आहे 3 डेटा प्रकारांची मुख्य श्रेणी म्हणजे

  1. संख्यात्मक,
  2. तारीख वेळ.

अंकीय डेटा प्रकार

संख्यात्मक डेटा प्रकार संख्यात्मक मूल्ये संग्रहित करण्यासाठी वापरले जातात. तुमच्या डेटाची श्रेणी संख्यात्मक डेटा प्रकारांच्या खालच्या आणि वरच्या सीमांच्या दरम्यान असल्याची खात्री करणे खूप महत्वाचे आहे.

TINYINT() -128 ते 127 सामान्य
0 ते 255 साइन न केलेले.
SMALINT() -32768 ते 32767 सामान्य
0 ते 65535 साइन न केलेले.
मध्यम () -8388608 ते 8388607 सामान्य
0 ते 16777215 अनसाइन केलेले.
INT() -2147483648 ते 2147483647 सामान्य
0 ते 4294967295 Unsigned.
BIGINT() -9223372036854775808 ते 9223372036854775807 सामान्य
0 ते 18446744073709551615 Unsigned.
फ्लोट फ्लोटिंग दशांश बिंदूसह एक लहान अंदाजे संख्या.
दुहेरी(,) फ्लोटिंग दशांश बिंदूसह मोठी संख्या.
दशांश(,) निश्चित दशांश बिंदूसाठी अनुमती देऊन, स्ट्रिंग म्हणून संचयित केलेला डबल. चलन संचयन मूल्यांसाठी निवड.

मजकूर डेटा प्रकार

डेटा प्रकार श्रेणी नावाप्रमाणे हे मजकूर मूल्ये साठवण्यासाठी वापरले जातात. नेहमी खात्री करा की तुमची मजकूर डेटाची लांबी कमाल लांबीपेक्षा जास्त नाही.

CHAR() 0 ते 255 वर्ण लांबीचा निश्चित विभाग.
वरचार() 0 ते 255 वर्णांचा व्हेरिएबल विभाग.
TINYTEXT 255 वर्णांची कमाल लांबी असलेली स्ट्रिंग.
TEXT
BLOB 65535 वर्णांची कमाल लांबी असलेली स्ट्रिंग.
MEDIUMTEXT
मध्यमब्लॉब 16777215 वर्णांची कमाल लांबी असलेली स्ट्रिंग.
LONGTEXT
लाँगब्लॉब 4294967295 वर्णांची कमाल लांबी असलेली स्ट्रिंग.

तारीख वेळ

DATE YYYY-MM-DD
तारीख वेळ YYYY-MM-DD HH:MM:SS
टाइमस्टॅम्प YYYYMMDDHHMMSS
TIME HH:MM:SS

वरील व्यतिरिक्त MySQL मध्ये इतर काही डेटा प्रकार आहेत.

ENUM पूर्वनिर्धारित मजकूर मूल्यांच्या सूचीमधून निवडलेले मजकूर मूल्य संचयित करण्यासाठी
सेट हे पूर्वनिर्धारित मजकूर मूल्यांच्या सूचीमधून निवडलेल्या मजकूर मूल्ये संचयित करण्यासाठी देखील वापरले जाते. त्याची अनेक मूल्ये असू शकतात.
BOOL TINYINT(1) साठी समानार्थी शब्द, बुलियन मूल्ये संचयित करण्यासाठी वापरला जातो
बायनरी CHAR प्रमाणेच, फरक म्हणजे मजकूर बायनरी स्वरूपात संग्रहित केला जातो.
वार्बिनरी VARCHAR प्रमाणेच, फरक म्हणजे मजकूर बायनरी स्वरूपात संग्रहित केला जातो.

आता सारणी तयार करण्यासाठी नमुना SQL क्वेरी पाहू ज्यात सर्व डेटा प्रकारांचा डेटा आहे. त्याचा अभ्यास करा आणि प्रत्येक डेटा प्रकार कसा परिभाषित केला जातो ते ओळखा.

सारणी तयार करा`सर्व_डेटा_प्रकार` (`varchar` VARCHAR(20) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `मध्यम` MEDIUMINT , `int` INT , `TIGINT` IN `Bigint` float` FLOAT(10, 2) , `दुहेरी` दुहेरी , `दशांश` दशांश(10, 2) , `तारीख वेळ` DATETIME , `टाइमस्टॅम्प` टाइमस्टॅम्प , `वेळ` TIME , `वर्ष` वर्ष , `चार` CHAR(10 ). "3"), `सेट` SET("1", "2", "3"), `बूल` BOOL , `बायनरी` बायनरी(20) , `वर्बिनरी` वार्बिनरी(20)) इंजिन = MYISAM ;

  • SQL कीवर्डसाठी अप्पर केस अक्षरे वापरा उदा. "मायफ्लिक्सडीबी अस्तित्वात असल्यास योजना ड्रॉप करा;"
  • अर्धविराम वापरून सर्व एसक्यूएल कमांड्स संपवा.
  • स्कीमा, टेबल आणि फील्डच्या नावांमध्ये मोकळी जागा वापरणे टाळा. स्कीमा, टेबल किंवा फील्डची नावे विभक्त करण्यासाठी त्याऐवजी अंडरस्कोअर वापरा.

MySQL workbench ER डायग्राम फॉरवर्ड इंजिनियरिंग

MySQL वर्कबेंचमध्ये युटिलिटीज आहेत ज्या फॉरवर्ड इंजिनीअरिंगला समर्थन देतात. पुढे अभियांत्रिकीच्या प्रक्रियेचे वर्णन करण्यासाठी एक तांत्रिक संज्ञा आहे तार्किक मॉडेलचे भौतिक अंमलबजावणीमध्ये स्वयंचलितपणे भाषांतर करणे.

आम्ही आमच्या ER मॉडेलिंग ट्यूटोरियलवर एक ER आकृती तयार केली आहे. आम्ही आता ते ER मॉडेल एसक्यूएल स्क्रिप्ट तयार करण्यासाठी वापरू जे आमचा डेटाबेस तयार करेल.

MyFlix ER मॉडेलवरून MyFlix डेटाबेस तयार करणे

1. तुम्ही आधीच्या ट्यूटोरियलमध्ये तयार केलेल्या MyFlix डेटाबेसचे ER मॉडेल उघडा.

2. डेटाबेस मेनूवर क्लिक करा. फॉरवर्ड इंजिनिअर निवडा

3. पुढील विंडो, तुम्हाला MySQL सर्व्हरच्या उदाहरणाशी कनेक्ट करण्याची परवानगी देते. संग्रहित कनेक्शन ड्रॉप डाउन सूचीवर क्लिक करा आणि स्थानिक होस्ट निवडा. कार्यान्वित करा क्लिक करा

4. दिसत असलेल्या विझार्डमध्ये खाली दर्शविलेले पर्याय निवडा. पुढील क्लिक करा

5. पुढील स्क्रीन आमच्या EER डायग्राममधील ऑब्जेक्ट्सचा सारांश दर्शविते. आमच्या MyFlix DB मध्ये 5 टेबल्स आहेत. निवडी डीफॉल्ट ठेवा आणि पुढील क्लिक करा.

6.. खाली दाखवलेली विंडो दिसेल. ही विंडो तुम्हाला आमचा डेटाबेस तयार करण्यासाठी SQL स्क्रिप्टचे पूर्वावलोकन करण्याची परवानगी देते. आम्ही स्क्रिप्ट्स *.sql" फाईलमध्ये सेव्ह करू शकतो किंवा क्लिपबोर्डवर स्क्रिप्ट कॉपी करू शकतो. पुढील बटणावर क्लिक करा

7. निवडलेल्या MySQL सर्व्हर उदाहरणावर डेटाबेस यशस्वीरित्या तयार केल्यावर खाली दाखवलेली विंडो दिसते.


सारांश

  • डेटाबेस तयार करण्यामध्ये लॉजिकल डेटाबेस डिझाइन मॉडेलचे भौतिक डेटाबेसमध्ये भाषांतर करणे समाविष्ट आहे.
  • MySQL अंकीय, तारखा आणि स्ट्रिंग मूल्यांसाठी अनेक डेटा प्रकारांना समर्थन देते.
  • डेटाबेस तयार करण्यासाठी CREATE DATABSE कमांडचा वापर केला जातो
  • CREATE TABLE कमांड डेटाबेसमध्ये टेबल तयार करण्यासाठी वापरली जाते
  • MySQL वर्कबेंच फॉरवर्ड इंजिनीअरिंगला सपोर्ट करते ज्यात लॉजिकल डेटाबेस मॉडेलमधून आपोआप SQL स्क्रिप्ट तयार करणे समाविष्ट असते जे भौतिक डेटाबेस तयार करण्यासाठी कार्यान्वित केले जाऊ शकते.

डमी डेटासह डेटाबेस संलग्न आहे. आम्ही आमच्या पुढील सर्व ट्यूटोरियलसाठी हा DB वापरणार आहोत. प्रारंभ करण्यासाठी MySQL Workbench मध्ये DB साधे आयात करा

मागील धड्यात, डेटाबेस सर्व्हरशी कनेक्शन कसे तयार करायचे ते शिकलो. पुढील पायरी म्हणजे डेटाबेस आणि टेबल्स तयार करणे.

डेटाबेस आणि टेबल्स तयार करण्याचे दोन मार्ग पाहू. पहिले हे PHP मध्ये कसे केले जाते, दुसरे म्हणजे अधिक अनुकूल PhpMyAdmin युटिलिटी वापरणे, जे बहुतेक वेब होस्टवर आणि XAMPP मध्ये मानक आहे.

तुम्ही PHP आणि MySQL सपोर्ट असलेली साइट होस्ट करत असल्यास, तुमच्यासाठी डेटाबेस आधीच तयार केला गेला असेल आणि तुम्ही ट्यूटोरियलचा हा विभाग वगळू शकता आणि टेबल तयार करणे सुरू करू शकता. होस्टच्या मदत पृष्ठांचा सल्ला घेण्यास विसरू नका.

PHP वापरून डेटाबेस आणि टेबल तयार करणे

mysql_query फंक्शन MySQL डेटाबेसची क्वेरी करण्यासाठी वापरले जाते. विनंत्या भाषेत लिहिल्या जातात एससंरचित प्र uery एलकोन (SQL). SQL ही सर्वात जास्त वापरली जाणारी डेटाबेस क्वेरी भाषा आहे - फक्त MySQL डेटाबेससाठी नाही - ती खूप तार्किक आणि शिकण्यास सोपी आहे. या आणि पुढील धड्यांमध्ये तुम्ही SQL क्वेरींबद्दल महत्त्वाच्या सर्व गोष्टी शिकाल.

डेटाबेस तयार करताना, SQL क्वेरी CREATE DATABASE खालील वाक्यरचनासह वापरली जाते:

डेटाबेस तयार करा db नाव

सोपे आणि सोपे, नाही का!? चला हे PHP स्क्रिप्टमध्ये घालण्याचा प्रयत्न करूया:

Mysql_connect("mysql.myhost.com", "user", "same") किंवा die(mysql_error()); mysql_query("डेटाबेस mydatabase तयार करा") किंवा die(mysql_error()); mysql_close();

प्रथम आपण MySQL सर्व्हरशी कनेक्ट करतो. मग आपण डेटाबेस "मायडेटाबेस" तयार करतो. आणि शेवटी, MySQL सर्व्हरशी कनेक्शन बंद करा.

आतापर्यंत खूप चांगले... परंतु जेव्हा आम्हाला PHP मध्ये टेबल्स तयार करायचे असतात तेव्हा गोष्टी थोडे अधिक क्लिष्ट होतात. टेबल तयार करताना, आम्ही खालील वाक्यरचनासह CRATE TABLE SQL क्वेरी वापरतो:

टेबल तयार करा टेबल नाव (column_name1 DATA_TYPE, column_name2 DATA_TYPE, column_name3 DATA_TYPE, ...)

टेबल_नावआणि स्तंभ_नावही अर्थातच योग्य नावे आहेत. DATA_TYPEस्तंभामध्ये समाविष्ट केलेल्या डेटाचा प्रकार निर्दिष्ट करण्यासाठी वापरला जातो. येथे सर्वात सामान्य प्रकार आहेत:

पूर्णांक दशांश संख्या 255 वर्णांपर्यंत लहान मजकूर 65,535 वर्णांपर्यंतचा नियमित मजकूर 4,294,967,295 वर्णांपर्यंत लांब मजकूर YYYY-MM-DD फॉरमॅटमधील तारखा HH:MM:SS या फॉरमॅटमध्ये वेळ आणि तारीख YYYY-MM- DD HH:MM :SS

सर्वसाधारणपणे, ते तार्किक आणि तुलनेने सोपे आहे. चला आमच्या उदाहरणात हे समाविष्ट करण्याचा प्रयत्न करूया:

Mysql_connect("mysql.myhost.com", "user", "same") किंवा die(mysql_error()); mysql_select_db("लोक") किंवा die(mysql_error()); mysql_query("CREATE TABLE MyTable (id INT AUTO_INCREMENT, First Name CHAR, Last Name CHAR, फोन INT, जन्मतारीख तारीख प्राथमिक की(id)")) किंवा die(mysql_error()); mysql_close();

या उदाहरणात, आम्ही MySQL सर्व्हरशी कनेक्ट करून सुरुवात करतो. मग आम्ही "लोक" डेटाबेस निवडण्यासाठी फंक्शन वापरतो. पुढे, आम्ही 5 स्तंभांची "व्यक्ती" सारणी तयार करतो.

लक्षात ठेवा की "आयडी" स्तंभासाठी आम्ही स्तंभामध्ये संख्या आहेत हे निर्दिष्ट करण्यासाठी वापरतो आणि नंतर त्या संख्यांमध्ये आपोआप वाढ करण्यासाठी आणि प्रत्येक पंक्तीसाठी एक अद्वितीय आयडी तयार केल्याची खात्री करण्यासाठी जोडतो.

शेवटी आपण प्राथमिक की म्हणून "id" स्तंभ सेट करण्यासाठी वापरतो. प्राथमिक की टेबलमधील प्रत्येक रेकॉर्ड (/पंक्ती) अनन्यपणे ओळखते, जी विशेषतः त्यानंतरच्या डेटाबेस अद्यतनांसाठी उपयुक्त आहे.

phpMyAdmin वापरून डेटाबेस आणि टेबल तयार करणे

थेट PHP मध्ये डेटाबेस आणि टेबल्स तयार करण्यास सक्षम असणे उपयुक्त ठरू शकते. परंतु phpMyAdmin (किंवा इतर कोणतीही MySQL प्रशासन उपयुक्तता) वापरणे सोपे असते, जे बहुतेक वेब होस्ट आणि XAMPP वर मानक असते. खाली दिलेला स्क्रीनशॉट phpMyAdmin वापरून डेटाबेस आणि टेबल कसे तयार करायचे ते दाखवतो.

या लेखात, आम्ही तुम्हाला mysql क्लायंटमध्ये SQL कमांडचा वापर करून नवीन डेटाबेस आणि टेबल कसे तयार करायचे ते दाखवू. हे साधन चालू आहे आणि MySQL डेटाबेस सर्व्हरशी कनेक्ट केलेले आहे असे गृहीत धरले आहे.

नवीन MySQL डेटाबेस तयार करणे

एसक्यूएल स्टेटमेंट CREATE DATABASE वापरून नवीन डेटाबेस तयार केला जातो आणि त्यानंतर डेटाबेसचे नाव तयार केले जाते. यासाठी CREATE SCHEMA स्टेटमेंट देखील वापरले जाते. उदाहरणार्थ, MySampleDB नावाचा नवीन डेटाबेस तयार करण्यासाठी, तुम्ही mysql कमांड लाइनवर खालील क्वेरी प्रविष्ट कराल:

MySampleDB डेटाबेस तयार करा;

जर सर्व काही ठीक झाले तर, कमांड खालील आउटपुट व्युत्पन्न करेल:

क्वेरी ओके, 1 पंक्ती प्रभावित झाली (0.00 सेकंद)

निर्दिष्ट डेटाबेस नाव विद्यमान MySQL डेटाबेसशी विरोधाभास असल्यास, एक त्रुटी संदेश प्रदर्शित केला जाईल:

ERROR 1007 (HY000): डेटाबेस "MySampleDB" तयार करू शकत नाही;

या स्थितीत, तुम्ही वेगळे डेटाबेस नाव निवडावे किंवा जर अस्तित्वात नसेल तर पर्याय वापरावा. जर तो आधीपासून अस्तित्वात नसेल तरच तो डेटाबेस तयार करतो:

MySampleDB अस्तित्वात नसल्यास डेटाबेस तयार करा;

एसक्यूएल वापरून टेबल तयार करणे

SQL CREATE TABLE स्टेटमेंट वापरून नवीन टेबल्स अस्तित्वात असलेल्या डेटाबेसमध्ये जोडल्या जातात. CREATE TABLE स्टेटमेंट तयार केल्या जात असलेल्या टेबलच्या नावानंतर आणि नंतर प्रत्येक टेबल कॉलमच्या नावांची आणि व्याख्यांची स्वल्पविरामाने विभक्त केलेली यादी:

टेबल टेबल_नाव तयार करा (स्तंभ_नावाची व्याख्या, टेबल_नावाची व्याख्या..., प्राथमिक की = (स्तंभ_नाव)) इंजिन = इंजिन_टाइप;

स्तंभाची व्याख्या डेटा प्रकार निर्दिष्ट करते, स्तंभ NULL, AUTO_INCREMENT असू शकतो का. CREATE TABLE स्टेटमेंट तुम्हाला प्राथमिक की म्हणून स्तंभ (किंवा स्तंभांचा समूह) निर्दिष्ट करण्यास देखील अनुमती देते.
टेबल तयार करण्यापूर्वी, तुम्हाला डेटाबेस निवडण्याची आवश्यकता आहे. हे SQL USE स्टेटमेंट वापरून केले जाते:

ग्राहक_आयडी, ग्राहक_नाव आणि ग्राहक_पत्ता असे तीन स्तंभ असलेले टेबल तयार करू. ग्राहक_आयडी आणि ग्राहक_नाव स्तंभ रिकामे नसावेत (म्हणजे शून्य नाही). customer_id मध्ये एक पूर्णांक मूल्य आहे जे नवीन पंक्ती जोडल्या गेल्यावर आपोआप वाढेल. उर्वरित स्तंभांमध्ये 20 वर्णांपर्यंत लांब स्ट्रिंग असतील. प्राथमिक की ग्राहक_आयडी म्हणून परिभाषित केली आहे.

टेबल ग्राहक तयार करा (customer_id int NOT NULL AUTO_INCREMENT, customer_name char(20) NOT NULL, customer_address char(20) NULL, प्राथमिक की (customer_id)) ENGINE=InnoDB;

शून्य आणि शून्य मूल्ये

जर स्तंभ NULL वर सेट केला असेल, तर टेबलमध्ये रिक्त पंक्ती जोडल्या जातील. याउलट, जर स्तंभ NOT NULL म्हणून परिभाषित केला असेल, तर रिक्त पंक्ती जोडल्या जाणार नाहीत.

प्राथमिक कळा

प्राइमरी की म्हणजे टेबलमधील रेकॉर्ड ओळखण्यासाठी वापरलेला कॉलम. प्राथमिक की स्तंभ मूल्य अद्वितीय असणे आवश्यक आहे. प्राथमिक की मध्ये अनेक स्तंभ एकत्र केले असल्यास, प्रत्येक पंक्तीसाठी की मूल्यांचे संयोजन अद्वितीय असणे आवश्यक आहे.

टेबल तयार करताना प्राइमरी की स्टेटमेंट वापरून प्राथमिक की परिभाषित केली जाते. एकाधिक स्तंभ वापरले असल्यास, ते स्वल्पविरामाने विभक्त केले जातात:

प्राथमिक की (स्तंभ_नाव, स्तंभ_नाव...)

खालील उदाहरण प्राथमिक की म्हणून दोन स्तंभ वापरून सारणी तयार करते:

टेबल उत्पादन तयार करा (prod_code INT NOT NULL AUTO_INCREMENT, prod_name char(30) NOT NULL, prod_desc char(60) NULL, प्राथमिक की (prod_code, prod_name)) ENGINE=InnoDB;

AUTO_INCREMENT

जेव्हा स्तंभ AUTO_INCREMENT सह परिभाषित केला जातो, तेव्हा प्रत्येक वेळी टेबलमध्ये नवीन रेकॉर्ड जोडल्यावर त्याचे मूल्य आपोआप वाढते. प्राथमिक की म्हणून स्तंभ वापरताना हे उपयुक्त आहे. AUTO_INCREMENT सह, प्रत्येक पंक्तीसाठी युनिक आयडेंटिफायरची गणना करण्यासाठी तुम्हाला SQL स्टेटमेंट लिहिण्याची गरज नाही.

AUTO_INCREMENT हे टेबलमधील फक्त एका स्तंभाला नियुक्त केले जाऊ शकते. आणि ते अनुक्रमित केले पाहिजे (उदा. प्राथमिक की म्हणून घोषित).

INSERT विधान कार्यान्वित करताना स्तंभासाठी AUTO_INCREMENT मूल्य नवीन निर्दिष्ट करून अधिलिखित केले जाऊ शकते.

तुम्ही याप्रमाणे last_insert_id() फंक्शन वापरून नवीनतम AUTO_INCREMENT मूल्यासाठी MySQL क्वेरी करू शकता:

last_insert_value() निवडा;

टेबल तयार करताना डीफॉल्ट मूल्ये परिभाषित करणे

जेव्हा डेटाबेसमध्ये समाविष्ट करताना मूल्य परिभाषित केले जात नाही तेव्हा डीफॉल्ट मूल्ये वापरली जातात.
डीफॉल्ट मूल्ये DEFAULT कीवर्ड वापरून CREATE TABLE स्टेटमेंटमध्ये निर्दिष्ट केली जातात. उदाहरणार्थ, खालील SQL क्वेरी sales_quantity स्तंभासाठी डीफॉल्ट मूल्य सेट करते:

टेबल विक्री तयार करा (विक्री_संख्या इंट NOT_NULL, sales_quantity int NOT_NULL DEFAULT 1, sales_desc char(20) NOT_NULL, प्राथमिक की (विक्री_क्रमांक)) इंजिन=मायइसॅम;

MySQL डेटाबेस इंजिनचे प्रकार

या बिंदूपर्यंत या लेखातील प्रत्येक सारणी निर्मिती उदाहरणांमध्ये इंजिन= व्याख्या समाविष्ट आहे. MySQL अनेक भिन्न डेटाबेस इंजिनांसह येते, प्रत्येकाचे स्वतःचे फायदे आहेत. ENGINE = निर्देश वापरून, तुम्ही प्रत्येक टेबलसाठी कोणते इंजिन वापरायचे ते निवडू शकता. खालील MySQL डेटाबेस इंजिन सध्या उपलब्ध आहेत:

  • InnoDB हे MySQL आवृत्ती 4.0 मध्ये सादर केले गेले आहे आणि त्याची यंत्रणा सर्व व्यवहार 100% पूर्ण असल्याची खात्री देते. तथापि, अंशतः पूर्ण झालेले व्यवहार (उदाहरणार्थ, सर्व्हर बिघाड किंवा पॉवर बिघाडामुळे) रेकॉर्ड केले जाणार नाहीत. InnoDB चा तोटा असा आहे की तो पूर्ण-मजकूर शोधला समर्थन देत नाही.
  • MyISAM हे पूर्ण-मजकूर शोध समर्थनासह उच्च-कार्यक्षमता इंजिन आहे. हे कार्यप्रदर्शन आणि कार्यक्षमता व्यवहार सुरक्षिततेच्या खर्चावर येते.
  • मेमरी - कार्यात्मकदृष्ट्या MyISAM च्या समतुल्य, सर्व डेटा हार्ड ड्राइव्ह ऐवजी RAM मध्ये संग्रहित केला जातो. हे उच्च प्रक्रिया गती सुनिश्चित करते. RAM मध्ये साठवलेल्या डेटाचे तात्पुरते स्वरूप मेमरी इंजिनला टेबल्सच्या तात्पुरत्या स्टोरेजसाठी अधिक योग्य बनवते.

एका डेटाबेसमध्ये विविध प्रकारचे इंजिन एकत्र केले जाऊ शकतात. उदाहरणार्थ, काही टेबल्स InnoDB इंजिन वापरू शकतात, तर इतर MyISAM इंजिन वापरू शकतात. टेबल तयार करताना कोणतेही इंजिन निर्दिष्ट केले नसल्यास, MySQL MyISAM वर डीफॉल्ट असेल.

टेबलसाठी वापरण्यासाठी इंजिनचा प्रकार निर्दिष्ट करण्यासाठी, टेबल कॉलमच्या व्याख्येनंतर योग्य ENGINE= व्याख्या ठेवा:

टेबल tmp_orders तयार करा ( tmp_number int NOT_NULL, tmp_quantity int NOT_NULL, tmp_desc char(20) NOT_NULL, प्राथमिक की (tmp_number)) ENGINE=मेमरी;

लेखाचे भाषांतर "एसक्यूएल कमांड वापरून डेटाबेस आणि टेबल्स तयार करणे"अनुकूल प्रकल्प संघाने तयार केले होते

MySQL डेटा टेबल तयार करण्यासाठी खालील माहिती आवश्यक आहे:

  • टेबल नाव
  • टेबल फील्ड नाव
  • प्रत्येक टेबल फील्डची व्याख्या

व्याकरण

सामान्य MySQL वाक्यरचना तयार करण्यासाठी खाली एक SQL डेटा सारणी आहे:

सारणी तयार करा टेबल_नाव(स्तंभ_नाव स्तंभ_प्रकार);

खालील उदाहरणात, आम्ही w3big w3big_tbl डेटाबेसमध्ये डेटा टेबल तयार करू:

W3big_tbl(w3big_id INT NOT NULL AUTO_INCREMENT, w3big_title VARCHAR(100) NOT NULL, w3big_author VARCHAR(40) NOT NULL, Submission_date DATE, PRIMARY KEY (w3big_id));

विश्लेषण उदाहरणे:

  • फील्ड नको असेल तर निरर्थकविशेषता फील्ड सेट करू शकता शून्य नाही,जेव्हा डेटाबेस ऑपरेशन, इनपुट डेटा फील्ड असल्यास निरर्थक,त्रुटी
  • AUTO_INCREMENT ची व्याख्या स्वयं-वाढीव गुणधर्म म्हणून केली जाते जी सामान्यत: प्राथमिक कीसाठी स्वयंचलितपणे एकाने वाढवण्यासाठी वापरली जाते.
  • PRIMARY KEY कीवर्ड प्राथमिक की कॉलम परिभाषित करण्यासाठी वापरला जातो. तुम्ही प्राथमिक की स्तंभ परिभाषित करण्यासाठी अनेक स्तंभ वापरू शकता, त्यांच्यामध्ये स्वल्पविरामाने विभक्त केले आहेत.

कमांड लाइनमधून टेबल तयार करणे

MySQL> कमांड प्रॉम्प्ट विंडोद्वारे MySQL टेबल तयार करणे खूप सोपे आहे. तुम्ही SQL वापरू शकता टेबलऑपरेटर तयार कराडेटा टेबल तयार करण्यासाठी.

उदाहरणे

रूट@होस्ट# mysql -u रूट -p पासवर्ड एंटर करा:******* mysql> w3big वापरा; डेटाबेस बदलला आहे mysql> टेबल तयार करा w3big_tbl(-> w3big_id INT NULL AUTO_INCREMENT, -> w3big_title VARCHAR(100) NULL नाही, -> w3big_author VARCHAR(40) NULL_tbl, ->big_d -> submission. > ); क्वेरी ओके, 0 पंक्ती प्रभावित (0.16 सेकंद) mysql>

टीप: MySQLटर्मिनेटर कमांड अर्धविराम (;) आहे.

PHP स्क्रिप्ट वापरून डेटा टेबल तयार करणे

तुम्ही PHP mysql_query() मध्ये फंक्शन वापरू शकता जे आधीपासून अस्तित्त्वात असलेल्या डेटाबेस टेबल तयार करण्यासाठी.

या फंक्शनमध्ये दोन पॅरामीटर्स आहेत, यशस्वी अंमलबजावणीमध्ये ते TRUE मिळवते, अन्यथा ते FALSE मिळवते.

व्याकरण

bool mysql_query(sql, कनेक्शन);

उदाहरणे

खालील उदाहरण डेटा सारणी तयार करण्यासाठी PHP स्क्रिप्ट वापरते:

创建 MySQL 数据表 "; $sql = "तक्ता तयार करा w3big_tbl(." "w3big_id INT NOT NULL AUTO_INCREMENT, "." "w3big_title VARCHAR(100) NULL नाही, "." w3big_author VARCHAR(40) NULL नाही, "DATE_d." ." प्राथमिक की (w3big_id)); "; mysql_select_db("w3big"); $retval = mysql_query($sql, $conn); if(! $retval) ( die("数据表创建失败: " . mysql_error()); ) प्रतिध्वनी "数抰劈抈曈囮\n"; mysql_close($conn); ?>

MySQL सारण्या तयार करण्यासाठी येथे सामान्य SQL वाक्यरचना आहे:

सारणी तयार करा टेबल_नाव(स्तंभ_नाव स्तंभ_प्रकार);

आता, डेटाबेस ट्यूटोरियलमध्ये आपण खालील तक्ता बनवू.

Tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY (tutorial_id));

येथे काही मुद्दे आहेत ज्यांचे स्पष्टीकरण आवश्यक आहे:

  • विशेषता फील्ड NULL नाही, वापरले जाते कारण ते शून्य असावे असे आम्हाला वाटत नाही. म्हणून, वापरकर्त्याने NULL मूल्यासह रेकॉर्ड तयार करण्याचा प्रयत्न केल्यास, MySQL द्वारे एक त्रुटी फेकली जाईल.
  • MySQL मधील auto_increment विशेषता फील्ड पुढे जा आणि आयडी फील्डमध्ये पुढील उपलब्ध क्रमांक जोडण्यास सांगत नाही.
  • प्राथमिक की कीवर्डचा वापर स्तंभाला प्राथमिक की म्हणून नियुक्त करण्यासाठी केला जातो. प्राथमिक की परिभाषित करण्यासाठी तुम्ही स्वल्पविरामाने विभक्त केलेले अनेक स्तंभ वापरू शकता.

कमांड लाइनमधून टेबल तयार करणे:

MySQL>प्रॉम्प्टवरून MySQL टेबल तयार करणे सोपे आहे. टेबल तयार करण्यासाठी तुम्ही SQL create table कमांड वापराल.

उदाहरण:

येथे एक उदाहरण आहे जे tutorials_tbl तयार करते:

रूट@होस्ट# mysql -u रूट -p पासवर्ड एंटर करा:******* mysql> ट्यूटोरियल वापरा; डेटाबेस mysql> CREATE TABLE tutorials_tbl(-> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> MARY_KE, DATE_TULL ->प्रस्तुत_प्रदान) बदलले ); क्वेरी ओके, 0 पंक्ती प्रभावित (0.16 सेकंद) mysql>

PHP स्क्रिप्ट वापरून टेबल तयार करणे:

कोणत्याही विद्यमान डेटाबेसमध्ये नवीन सारणी तयार करण्यासाठी तुम्हाला PHP फंक्शन्स mysql_query() वापरणे आवश्यक आहे. टेबल तयार करण्यासाठी तुम्ही तुमचा दुसरा युक्तिवाद योग्य SQL कमांडकडे पाठवाल.

उदाहरण:

येथे PHP स्क्रिप्ट वापरून टेबल तयार करण्याचे उदाहरण आहे:

MySQL टेबल्स तयार करणे "; $sql = "टेबल ट्युटोरियल तयार करा_tbl(." "ट्यूटोरियल_आयडी आयएनटी नल ऑटो_इन्क्रिमेंट, "." "ट्यूटोरियल_टाइटल VARCHAR(100) नल नाही, "." "ट्यूटोरियल_ऑथर VARCHAR(40, सबमिशन एन_एलएलडी) ". तारीख, "." प्राथमिक की (ट्यूटोरियल_आयडी)); "; mysql_select_db("TUTORIALS"); $retval = mysql_query($sql, $conn); if(! $retval) ( die("टेबल तयार करू शकलो नाही: " . mysql_error()); ) प्रतिध्वनी "टेबल यशस्वीरित्या तयार केले" mysql_close($conn);

अधिक उदाहरणे:

जर अस्तित्वात नसेल तर टेबल तयार करा `वापरकर्ते` (`id` int(11) NOT NULL auto_increment, `role_id` int(11) NOT NULL default "1", `username` varchar(25) Collate utf8_bin NOT NULL, `password` var (३४) कोलेट utf8_bin NOT NULL, `email` varchar(100) Collate utf8_bin NOT NULL, `banned` tinyint(1) NOT NULL default "0", `ban_reason` varchar(255) Collate utf8_bin डीफॉल्ट NULL varchar (34) utf8_bin डिफॉल्ट NULL, `newpass_key` varchar(32) collate utf8_bin डीफॉल्ट NULL, `newpass_time` datetime डीफॉल्ट NULL, `last_ip` varchar(40) collate utf8_bin NOT NOT-00 तारीख NULL-00 तारीख NULL 0. -00 00:00:00", `निर्मित` तारीख वेळ शून्य डीफॉल्ट नाही "0000-00-00 00:00:00", `सुधारित` टाइमस्टॅम्प NULL डीफॉल्ट CURRENT_TIMESTAMP अपडेटवर CURRENT_TIMESTAMP, प्राथमिक की (`ईएनजी`) =InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; //दोन की सह: `ci_sessions` अस्तित्वात नसल्यास टेबल तयार करा (session_id varchar(40) DEFAULT "0" NOT NULL, ip_address varchar(16) DEFAULT "0" NOT NULL, user_agent varchar(120) अंतिम सक्रियता नाही 10) स्वाक्षरी न केलेले DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`));



आम्ही वाचण्याची शिफारस करतो

वर