JavaRush /وبلاگ جاوا /Random-FA /ما پایگاه داده ها و زبان SQL را تجزیه و تحلیل می کنیم. (ق...
Roman Beekeeper
مرحله

ما پایگاه داده ها و زبان SQL را تجزیه و تحلیل می کنیم. (قسمت 2) - "پروژه جاوا از A تا Z"

در گروه منتشر شد
مقاله ای از مجموعه ای در مورد ایجاد یک پروژه جاوا (لینک به سایر مواد در پایان است). هدف آن تجزیه و تحلیل فناوری های کلیدی است که نتیجه آن نوشتن یک ربات تلگرام است. "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 1سلامت باشید، خوانندگان عزیز. امروز کمی صحبت می کنیم و بیشتر می نویسیم، زیرا دستان ما خیلی بهتر از چشمانمان به یاد می آورند. شاید از خود بپرسید: چرا ما از MySQL استفاده می کنیم؟ به عنوان مثال، همان PostgreSQL و راه حل های دیگر وجود دارد. اینجا همه چیز ساده است. اول از همه، این برنامه رایگان است. ثانیا، دارای یک رابط کاربری مناسب است (ما در مقاله ای جداگانه در مورد آن صحبت خواهیم کرد). ثالثاً او برای من آشنا و خوشایند است. علاوه بر همه موارد فوق، MySQL نیز بسیار رایج است.

بررسی تکالیف

آخرین باری که وظیفه ای دادم - MySQL را روی دستگاه خود نصب کرده و وارد آن شوید. از طریق کنسول یا به روشی دیگر. آیا همه چیز انجام شده است؟ "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 2آفرین به کسانی که این کار را کردند! مهم نیست در چه سطحی در JavaRush هستید، مهم این است که بتوانید ابزارهای لازم برای کار را طبق دستورالعمل ها نصب و پیکربندی کنید. و من به شما اطمینان می دهم که تعداد زیادی از آنها وجود خواهد داشت. کسانی که تلاش کردند، اما موفق نشدند، نمی ترسند. این همیشه اولین بار اتفاق نمی افتد: گاهی اوقات لازم است استراحت کنید و دوباره با قدرت تازه تلاش کنید. چه کسی MySQL را خودتان نصب کرده است - "+" را در نظرات بنویسید تا بدانم کسی این کار را انجام می دهد. خودم هم این کار را می کنم. از آنجایی که من دیگر لپ تاپ ویندوزی ندارم، آن را روی مک بوک نشان خواهم داد. من فکر نمی کنم روند نصب تفاوت زیادی داشته باشد. برای کسانی که می خواهند خودشان با استفاده از کتابچه راهنمای انگلیسی آن را نصب کنند، لطفا اینجا را کلیک کنید .

نصب MySQL در MacOS

ابتدا به لینک زیر بروید ، سیستم عامل اعم از ویندوز، اوبونتو یا MacOS را مانند تصویر زیر انتخاب کنید: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 3دانلود و راه اندازی کنید. با این حال، همه چیز بلافاصله برای من درست نشد. معلوم شد که اپل اجازه نصب آخرین نسخه را نمی دهد: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 4البته می توانید این را غیرفعال کنید، اما مک بوک کار می کند و من تنظیمات آن را خراب نمی کنم. بنابراین، از طریق آزمون و خطا، نسخه ای را پیدا کردم که قابل نصب است - این 5.7.21 است . برای یافتن نسخه های دیگر به تب Archive رفته و نسخه مورد نظر را انتخاب کنید: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 5در مرحله بعد فایل دانلود شده را اجرا کنید. بعدی، بعدی، بعدی را کلیک کنید، اما در پایان مراقب باشید! یک نام کاربری و رمز عبور برای ورود به پایگاه داده وجود خواهد داشت. برای من به این شکل بود: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 6اینجا می گوید که کاربری با نام root و رمز عبور Vac/zto=.24q وجود خواهد داشت . این کار نصب را کامل می کند.

وارد خط فرمان MySQL شوید

برای ورود به سیستم، باید مطمئن شوید که سرور MySQL روشن است. برای انجام این کار، به System Preferences بروید ، نماد MySQL را در آنجا پیدا کنید: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 7به آن بروید و ببینید که سرور ابتدا باید روشن شود. برای انجام این کار، فقط روی Start MySQL Server کلیک کنید و تمام. بله، همچنین می‌توانید کادر را علامت بزنید تا هر بار که دستگاه شروع به کار کرد، سرور در پس‌زمینه راه‌اندازی شود. توجه به این نکته ضروری است که برای روشن شدن موضوع "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 8، تمام درخواست ها را در ترمینال با نماد $ شروع می کنم. در مرحله بعد، باید مستقیماً از طریق خط فرمان به سرور MySQL متصل شوید. برای انجام این کار، ترمینال را باز کنید و بنویسید: $ mysql و دو گزینه وجود دارد:
  1. اگر پاسخ "خطا 1045 (28000): دسترسی برای کاربر 'roman_beskrovnyi'@'localhost' (با استفاده از رمز عبور: NO" رد شده است ، به این معنی است که سرور نصب شده و در حال فراخوانی است. فقط باید دستور صحیح را ارسال کنید. به آن
  2. اگر پاسخ دستور پیدا نشد: mysql ، اشکالی ندارد - فقط هیچ پیوندی به سرور وجود ندارد. برای انجام این کار، باید با متغیر mysql یک نام مستعار ایجاد کنید، بنابراین خط زیر را می نویسیم:

    $ مستعار mysql=/usr/local/mysql/bin/mysql

    این فقط برای این جلسه ترمینال کمک خواهد کرد. اما ما به هیچ چیز دیگری نیاز نداریم - قطعاً همیشه از طریق ترمینال کار نخواهیم کرد.

  3. MySQL نصب نشده است، کامپیوتر خود را گول نزنید.
بعد، از نام و رمز عبور ارائه شده در هنگام نصب استفاده می کنیم و می نویسیم: $ mysql --user=root -p"پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 9 در آنجا رمز عبور را می نویسیم و به این شکل خوشحال خواهیم شد: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 10فقط خط آخر می گوید که ما وارد MySQL شده ایم. سرور ترمینال اما این رمز عبور برای root یک رمز عبور یک بار مصرف است و باید به رمز دیگری تغییر یابد. البته به دلایل امنیتی. اگر این مورد را تغییر ندهیم و سعی کنیم یک پایگاه داده جدید در سرور ایجاد کنیم، پاسخ زیر را دریافت خواهیم کرد: ERROR 1820 (HY000): قبل از اجرای این عبارت، باید رمز عبور خود را با استفاده از عبارت ALTER USER بازنشانی کنید . "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 11به اصطلاح مجبورند. خوب، برای ما سخت است؟ بیایید رمز عبور را ساده تر کنیم (این فقط برای کارهای محلی است؛ البته برای کار واقعی، رمز عبور باید پیچیده باشد). فرض کنید root∫ ، مانند نام کاربری. برای تغییر رمز عبور، باید این خط را وارد کنید: ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; و پاسخ این خواهد بود: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 12برای اطمینان از اینکه همه چیز به درستی کار می کند، بیایید سعی کنیم یک پایگاه داده جدید با استفاده از نحو زیر ایجاد کنیم : $ CREATE DATABASE test_db; برای اطمینان از اینکه چنین پایگاه داده ای روی سرور ایجاد شده است، دستور را بنویسید: $ SHOW DATABASES; و در نتیجه به موارد زیر می رسیم: "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 13همین :) نمی توان گفت که ساده و سریع بود. بنابراین، هر کس این کار را خودش انجام داد - احترام ویژه ای دارد. برای کسانی که این کار را انجام نداده اند، نگران نباشند، راهنماهایی برای انواع نصب وجود دارد: همه چیز در آنجا کاملاً منطقی توصیف شده است. تنها چیزی که وجود دارد این است که همه چیز به زبان انگلیسی است. اکنون اولین خطوط خود را در SQL می نویسیم.

نوشتن اولین خطوط ما در SQL

همانطور که در بالا متوجه شده اید، ما دو دستور را می شناسیم:
  1. ایجاد پایگاه داده - ایجاد پایگاه داده در سرور.
  2. SHOW DATABESES - تمام پایگاه های داده ایجاد شده و موجود در سرور را نشان می دهد.
توجه داشته باشم که SQL اهمیتی نمی دهد که چگونه دستورات آنها را بنویسیم - چه همه با حروف بزرگ یا نه. با این حال، نوشتن دستورات با حروف بزرگ رفتار خوبی محسوب می شود. در مرحله بعد، برای حذف یک پایگاه داده، باید دستور DROP DATABASE database_name را بنویسید . که در آن database_name نام پایگاه داده ای است که می خواهیم حذف کنیم. ما قبلاً یک پایگاه داده آزمایشی به نام test_db ایجاد کرده‌ایم ، پس بیایید آن را حذف کنیم. برای انجام این کار می نویسیم: $ DROP DATABASE test; شایان ذکر است که پاسخ Query OK، 0 ردیف تحت تأثیر (0.02 ثانیه) بسیار مهم است، زیرا تأیید می کند که پرس و جو موفق بوده است. علاوه بر این، به شما می گوید که چند ردیف در جداول این پرس و جو و در چه زمانی تغییر کرده است. "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 15به طور کلی کلمه DROP وظیفه حذف چیزی را بر عهده دارد. در این صورت دیتابیس را حذف کردیم. اما این می تواند برای اهداف دیگری نیز استفاده شود (مثلاً انداختن جدول). و اکنون، برای اعتماد به من ، نتیجه را بررسی کنید، بیایید ببینیم چند پایگاه داده باقی مانده است: $ SHOW DATABASES; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 16همانطور که می بینیم، هیچ پایگاه داده ای به نام test_db وجود ندارد. CHTD :D

پایگاه داده و جدول خود را ایجاد کنید

ایجاد پایگاه داده شهرها: $ ایجاد پایگاه داده شهرها. برای کار در یک پایگاه داده خاص، باید وارد آن شوید. برای این کار از دستور USE database_name استفاده کنید و پس از آن تمام دستورات کار با جداول در این پایگاه داده انجام می شود. $ USE شهرها؛ همانطور که از پاسخ مشاهده می شود - پایگاه داده تغییر کرد ، انتقال به این پایگاه با موفقیت انجام شد. "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 17مرحله بعدی ایجاد جدول است. کدام؟ خوب، ابتدا بیایید یک جدول با کشورها ایجاد کنیم. چرا اینطور است؟ زیرا شهرها به یک کلید خارجی برای کشوری که در آن واقع شده است نیاز دارند. و می توان آن را پس از اینکه این کشورها به طور کلی در پایگاه داده (از این پس - به اختصار از پایگاه داده) شروع کردند به دست آورد. همانطور که از مقاله قبلی به یاد داریم ، در جدولی که کشورها در آن توضیح داده شده اند، دو فیلد داریم - ID و name، که ID یک شناسه منحصر به فرد است و نام نام کشور است. بنابراین، ایجاد چنین پایگاه داده ای به آسانی پوست اندازی گلابی است. ما می نویسیم: $ ایجاد جدول کشور (id INT، نام VARCHAR(30)); "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 18همانطور که می بینید همه چیز خوب پیش رفت. با قیاس با SHOW DATABESES، می‌توانیم به فهرست جداول نگاه کنیم: $ SHOW TABLES; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 19اینجاست، میز ما. حالا بیایید یاد بگیریم که چگونه جداول را حذف کنیم. برای انجام این کار می نویسیم: $ DROP TABLE country; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 20توجه به این نکته ضروری است که پس از حذف جدول یا پایگاه داده، نمی توان آن را بازیابی کرد!

کار با میز

بیایید جدولی را که ایجاد کردیم بازیابی کنیم. برای انجام این کار، فقط باید کاری را که قبلا انجام داده اید تکرار کنید. برای مشاهده ساختار جدول، باید از دستور زیر استفاده کنید - DESC table_name : $ DESC country; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 21همانطور که می بینید، تمام اطلاعات مربوط به جدول در اینجا ثبت می شود. برای افزودن چیزی به جدول، باید از دستور INSERT INTO table_name VALUES() استفاده کنید . بیایید سه ورودی برای سه کشور اضافه کنیم: $ INSERT INTO country VALUES (1، 'Ukraine'); $ INSERT INTO VALUES کشور (2، 'روسیه'); $ INSERT INTO country VALUES(3، 'بلوروس'); "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 22برای مشاهده آنچه در پایگاه داده ذخیره می شود، از یک درخواست ساده برای به دست آوردن داده ها استفاده می کنیم. برای این کار می خواهیم اطلاعات تمام فیلدها را از جدول کشور دریافت کنیم. جمله قبلی را به دقت به خاطر بسپارید زیرا کوئری sql به این صورت خواهد بود: $ SELECT * FROM country; جایی که * به این معنی است که باید همه فیلدها را بگیرید. "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 23این چقدر زیبا شدیم اگر بخواهیم فقط یک فیلد خاص را دریافت کنیم، مشکلی نیست: به جای ستاره، نام فیلدهایی را می نویسیم که باید با کاما از هم جدا شوند. خودتان آن را امتحان کنید ؛) ما قبلا یک جدول ایجاد کرده ایم، اما به نوعی اطلاعات کافی در مورد آن نداریم. حجم جمعیت مطمئناً صدمه نمی بیند، درست است؟ و چگونه آن را انجام دهیم؟
  1. یک فیلد جدید به طرح جدول - جمعیت اضافه کنید.
  2. ورودی های موجود را به روز کنید
برای اولین بار، از دستور ALTER TABLE table_name ADD COLUMN استفاده می کنیم . به طور کلی، ALTER TABLE مجموعه ای از دستورات برای عملیات DDL است (به یاد داشته باشید این چیست؟ در مقاله قبلی بود). به هر حال، SELECT به یک عملیات DML اشاره دارد. بیایید موارد زیر را بنویسیم: $ ALTER TABLE کشور ADD COLUMN جمعیت INT; $ DESC کشور؛ "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 24همانطور که در شکل مشاهده می کنید، یک فیلد جدید را با موفقیت به جدول اضافه کردیم و با دستور دوم بررسی کردیم که فیلد در طرحواره قرار دارد. مرحله دوم به روز رسانی ورودی های جدول و اختصاص مقادیر است. بیایید عدد را از ویکی پدیا بگیریم. نه اینکه به آنها اعتماد کنم، اما با این وجود، این سریع ترین و آسان ترین راه است. برای این کار از دستور DML دیگری استفاده کنید. اما ابتدا، بیایید بگوییم که چه کاری می‌خواهیم انجام دهیم: می‌خواهیم جدول کشور را به‌روزرسانی کنیم، فیلد جمعیت را برابر با 41806221 در رکوردی کنیم که در آن id = 1 است. و این ساختار به این صورت است: UPDATE table_name SET table_row1 = مقدار WHERE table_row2 = ارزش 2; بر اساس آن، ما می نویسیم: $ UPDATE کشور SET جمعیت = 41806221 WHERE id = 1; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 25در اینجا برای اولین بار از کلمه کلیدی WHERE استفاده کردیم . برای افزودن مقادیر برای فیلتر کردن لازم است. به عنوان مثال، این بار گفتیم که لازم است فقط برای فیلد (فیلدهایی) که id آن برابر با یک است به روز رسانی شود (تا زمانی که به sql بگوییم این کلید اصلی است - ممکن است چندین مورد وجود داشته باشد). همچنین می‌توانیم شرایطی مانند WHERE id > 2 را تعیین کنیم. اگر اصلاً فیلترینگ را مشخص نکرده بودیم، این مقدار در تمام رکوردهای جدول نوشته می‌شد. برای روسیه، بلاروس و سایر کشورها، خودتان را به‌روزرسانی کنید. ;) حالا بیایید سعی کنیم اطلاعات مربوط به نام و جمعیت را از جدول دریافت کنیم، مشروط بر اینکه شناسه بزرگتر از 1 باشد. $ SELECT name, جمعیت از کشور WHERE id >1; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 26بنابراین، ما فقط آن زمینه هایی را دریافت کردیم که خودمان می خواستیم. از طریق INSERT INTO می توانیم مشخص کنیم که کدام فیلدها را می خواهیم اضافه کنیم و کدام یک را خالی بگذاریم. برای انجام این کار، ما می نویسیم: $ INSERT INTO country (نام، جمعیت) VALUES('Georgia', 1234566); برای بررسی اینکه چه اتفاقی افتاده است، بیایید به لیست تمام فیلدها نگاه کنیم: $ SELECT * FROM country; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 27بدون شناسه، ورودی بد است و جمعیت، البته، از سر گرفته شده است، بنابراین باید آن را حذف کنید. از دستور DELETE FROM table_name استفاده کنید : $ DELETE FROM country WHERE name = 'Georgia'; "پروژه جاوا از A تا Z": ما پایگاه های داده و زبان SQL را تجزیه و تحلیل می کنیم.  قسمت 2 - 28به این ترتیب یاد گرفتیم که چگونه یک فیلد را از جدول حذف کنیم.

مشق شب

تکالیف به شرح زیر خواهد بود:
  1. باید یک کلید اصلی (PRIMARY KEY) از قسمت ID به طرح جدول کشور اضافه کنید.
  2. کشور دیگری را به جدول کشور اضافه کنید - مولداوی.
  3. طبق طرح مقاله قبلی، یک شهر جدول ایجاد کنید که شامل تمام فیلدهای توصیف شده باشد. نام فیلدها به صورت زیر خواهد بود: id، name، country_id، جمعیت.
  4. یک کلید اصلی به جدول شهر اضافه کنید.
  5. یک کلید خارجی به جدول شهر اضافه کنید.
کار جالب است، برای کسانی که می دانند، سریع و بدون پیچیدگی خواهد بود. برای کسانی که این کار را نکرده اند، به عنوان یک تقویت کننده عالی از مطالب این مقاله عمل می کند.

بیایید آن را جمع بندی کنیم

ما در این مقاله کارهای زیادی انجام دادیم. ابتدا سرور پایگاه داده MySQL را نصب و راه اندازی کردیم. ثانیا، ما یک لیست کامل از کلمات کلیدی و پرس و جوها را یاد گرفتیم که با کمک آنها اکنون می توانیم پایگاه داده ها و جداول را ایجاد/حذف کنیم. ما یاد گرفتیم که چگونه داده ها را به جداول اضافه کنیم، آنها را به روز کنیم و حذف کنیم. در اینجا تمام دستوراتی که استفاده کردیم به همراه توضیحات آنها آمده است:
  • CREATE DATABASE database_name; - ایجاد یک پایگاه داده جدید
  • نمایش پایگاه های داده؛ - مشاهده لیست پایگاه های داده
  • DROP DATABASE database_name; - حذف پایگاه داده
  • از نام_ پایگاه داده استفاده کنید. - کار در پایگاه داده
  • CREATE TABLE table_name (id INT, ....); - ایجاد جدول
  • نمایش جداول. - مشاهده لیست جداول
  • جدول DESC TABLE_name; - نمودار جدول را ببینید
  • DROP TABLE جدول_نام; - حذف جدول
  • INSERT INTO table_name VALUES (); - یک فیلد به جدول اضافه کنید
  • SELECT * FROM table_name WHERE table_row = value; - فیلدهای جدول را تحت شرایط بعد از WHERE دریافت کنید
  • SELECT * FROM table_name. - تمام فیلدهای جدول را دریافت کنید
  • ALTER TABLE جدول_نام ADD COLUMN ستون_نام COLUMN_TYPE. - یک فیلد جدید به طرح جدول اضافه کنید
  • به روز رسانی talbe_name SET talbe_row1 = value1 WHERE table_row2 = value2; - به روز رسانی رکوردها در جدول: مقادیر یک فیلد را به شرط فیلد دیگر تنظیم کنید
  • DELETE FROM table_name WHERE table_row1 = value1; - حذف یک فیلد (یا فیلدها) از جدول تحت شرایط خاص.
فکر می کنم با شما کار بسیار خوبی انجام دادیم. از همه کسانی که کار من را دوست دارند دعوت می کنم در حساب GitHub من مشترک شوند ، جایی که پروژه ها و پیشرفت های جالبی را که در حرفه من اتفاق می افتد پست می کنم. از همه کسانی که علاقه مند به کار در متن باز هستند دعوت می کنم در پروژه های من (مخزن ها) شرکت کنند. از توجه همه شما متشکرم. منتظر مقاله بعدی در مورد پایگاه های داده به زودی باشید.

فهرستی از تمام مواد این مجموعه در ابتدای این مقاله است.

نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION