SQLite، یک سیستم مدیریت پایگاه داده رایگان و مستقل از پلتفرم است که به دلیل کارآیی و توانایی ارتباط با بسیاری از زبانهای برنامه نویسی از محبوبیت بسیاری برخوردار است.
در این آموزش، نحوه نصب SQLite برروی Ubuntu 20.04، ایجاد پایگاه داده و نحوه خواندن دادهها، وارد کردن اطلاعات، حذف اطلاعات و پیوند جداول در آن شرح داده شده است.
دقت کنید که قبل از دنبال کردن این آموزش، به یک ماشین محلی یا سرور دارای اوبونتو 20.04 نیاز دارید. این سرور باید شامل یک کاربر sudo غیر از root و یک فایروال باشد.
مرحله 1 - نصب SQLite در اوبونتو 20.04
برای نصب رابط خط فرمان SQLite در اوبونتو، ابتدا لیست بستههای خود را به روز کنید:
sudo apt update
اکنون SQLite را نصب نمایید:
sudo apt install sqlite3
برای تأیید نصب، نسخه نرم افزار را بررسی کنید:
sqlite --version
پس از اجرا، خروجی مشابه زیر را دریافت خواهید کرد:
Output:
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
با نصب SQLite، اکنون آماده ایجاد یک پایگاه داده جدید هستید.
مرحله 2 - ایجاد پایگاه داده SQLite
در این مرحله، نحوه ایجاد یک پایگاه داده SQLite شرح داده شده است. بدین منظور، ترمینال خود را باز کرده و دستور sqlite3 را بصورت زیر اجرا نمایید:
sqlite3 sharks.db
این دستور، یک پایگاه داده جدید به نام sharks ایجاد میکند. اگر فایل sharks.db از قبل وجود داشته باشد، SQLite یک اتصال به آن باز میکند. در غیر این صورت، آن را ایجاد مینماید.
خروجی دستور مشابه زیر خواهد بود:
Output:
SQLite version 3.31.1 2020-01-27 19:55:54
Enter ".help" for usage hints.
پس از آن، کاربر ترمینال شما به صورت زیر تغییر خواهد کرد:
sqlite>
پس از ایجاد پایگاه داده Shark، در ادامه میتوان یک جدول جدید ایجاد کرده و آن را با اطلاعات مورد نظر پر نمود.
مرحله 3 - ایجاد جدول SQLite
پایگاه دادههای SQLite، به صورت جداولی سازمان یافته هستند و جداول، اطلاعات را ذخیره میکنند. برای تجسم بهتر یک جدول، میتوان آن را شامل مجموعهای از ردیفها و ستونها تصور کرد.
در ادامه، ساختار رایج برای وارد کردن دستورات SQLite بیان شده است.
دقت کنید که دستورات SQLite با حروف بزرگ و اطلاعات کاربر با حروف کوچک وارد میشوند و خطوط باید با یک نقطه ویرگول پایان یابد.
اکنون بیایید یک جدول و چند ستون برای دادههای مختلف ID، name، type، average length ایجاد کنیم:
برای ایجاد جدول از دستور زیر استفاده نمایید:
sqlite> CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);
استفاده از NOT NULL، مقداردهی آن ستون را الزامی میکند. در بخش بعد، در مورد NOT NULL با جزئیات بیشتری بحث خواهیم شد.
پس از ایجاد جدول، یک خروجی خالی در ترمینال برمیگردد. اکنون بیایید مقادیری را در آن جدول وارد کنیم.
درج مقادیر در جداول
در SQLite، دستور وارد کردن مقادیر در جدول بصورت زیر است:
sqlite> INSERT INTO tablename VALUES(values go here);
که در آن، tablename نام جدول شما است و مقادیر، داخل پرانتز قرار میگیرند.
اکنون به صورت زیر، سه ردیف VALUES در جدول sharks خود وارد نمایید:
sqlite> INSERT INTO sharks VALUES (1, "Sammy", "Greenland Shark", 427);
sqlite> INSERT INTO sharks VALUES (2, "Alyoshka", "Great White Shark", 600);
sqlite> INSERT INTO sharks VALUES (3, "Himari", "Megaladon", 1800);
از آنجا که قبلاً برای هر یک از متغیرهای جدول خود NOT NULL مشخص کردهاید، باید برای هر یک مقداری وارد کنید.
به عنوان مثال، ردیفی را بدون تعیین مقدار برای ستون average length اضافه نمایید:
sqlite> INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");
در این صورت خطای زیر را دریافت خواهید کرد:
Output:
Error: table sharks has 4 columns but 3 values were supplied
در مرحله بعد، نحوه خواندن اطلاعات از جدول پایگاه داده شرح داده شده است.
مرحله 4 – خواندن اطلاعات از جداول SQLite
در این مرحله، روی اساسیترین روشهای خواندن داده از یک جدول تمرکز شده است.
برای مشاهده جدول خود با تمام مقادیر درج شده میتوانید از SELECT استفاده نمایید:
sqlite> SELECT * FROM sharks;
در این صورت، ورودیهای درج شده قبلی را مشاهده خواهید کرد:
Output:
1|Sammy|Greenland Shark|427
2|Alyoshka|Great White Shark|600
3|Himari|Megaladon|1800
به منظور مشاهده ورودی براساس شناسه آن (مقادیری که به صورت دستی تنظیم میکنیم)، کافیست دستور WHERE را به کوئری خود اضافه نمایید:
sqlite> SELECT * FROM sharks WHERE id IS 1;
این دستور، ردیفی را که شناسهاش برابر 1 است، برمیگرداند:
Output:
1|Sammy|Greenland Shark|427
بیایید نگاهی دقیق به این دستور بیندازیم.
- ابتدا همه (*) ستونهای جدول انتخاب میشود.
- سپس تمام مقادیر id بررسی میگردد.
- پس از آن، تمام ورودیهای جدول که ID آن برابر با 1 است، در خروجی برمیگردانده میشود.
تا این مرحله، شما یک جدول ایجاد کردهاید، دادهها را در آن وارد نمودهاید و به اطلاعات ذخیره شده، کوئری زدهاید. در ادامه نحوه به روز رسانی جداول موجود شرح داده میشود.
مرحله 5 - به روزرسانی جداول در SQLite
در ادامه، ابتدا یک ستون جدید به جدول موجود خود اضافه کرده و سپس مقادیر موجود را در جدول به روز مینماییم.
افزودن ستون به جداول SQLite
SQLite، به شما امکان میدهد جدول خود را با استفاده از دستور ALTER TABLE تغییر دهید. این بدان معنی است که شما میتوانید، ردیفها و ستونهای جدیدی ایجاد کنید، یا ردیفها و ستونهای موجود را تغییر دهید.
برای ایجاد یک ستون جدید از ALTER TABLE به صورت زیر استفاده کنید.
sqlite> ALTER TABLE sharks ADD COLUMN age integer;
اکنون یک ستون پنجم برای age دارید.
به روزرسانی مقادیر در جداول SQLite
با استفاده از دستور UPDATE، مقادیر جدیدی در ستون age اضافه میشود:
sqlite> UPDATE sharks SET age = 272 WHERE id=1;
sqlite> UPDATE sharks SET age = 70 WHERE id=2;
sqlite> UPDATE sharks SET age = 40 WHERE id=3;
Output:
1|Sammy|Greenland Shark|427|272
2|Alyoshka|Great White Shark|600|70
3|Himari|Megaladon|1800|40
در مرحله بعد، نحوه حذف اطلاعات از یک جدول بیان خواهد شد.
مرحله 6 - حذف اطلاعات در SQLite
در این مرحله، شما ورودیهای جدول خود را بر اساس ارزیابی یک استدلال حذف خواهید کرد.
در دستور زیر، از پایگاه داده درخواست میکنید که همه ردیفهای جدول را که مقادیر ستون age آنها کمتر از 200 است، حذف نماید:
sqlite> DELETE FROM sharks WHERE age <= 200;
تایپ کردن SELECT * FROM sharks منجر میشود که Alyoshka و Himari، که هر کدام کمتر از 200 سال سن داشتند، حذف شده و تنها Sammy باقی میماند:
Output:
1|Sammy|Greenland Shark|427|272
مرحله 7 - پیوند اطلاعات در SQLite
فرض کنید که دو جدول در پایگاه داده خود دارید؛ بطوریکه در یک جدول یک مقدار شناسه وجود دارد که با شناسههای موجود در جدول دیگر مطابقت دارد. اکنون برای برقراری ارتباط بین این دو جدول چه مینمایید؟
بدین منظور میتوانید از یکی از چهار دستور پیوند SQLite استفاده کنید:
- INNER JOIN
- OUTER JOIN
- LEFT JOIN
- CROSS JOIN
ابتدا باید جدول دوم را ایجاد کرده و سپس میتوانید برای پیوند به برخی از دادههای جدول اول، از INNER JOIN استفاده نمایید.
به منظور ایجاد جدول دوم با نام endangered، دستور زیر را وارد کنید:
sqlite> CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
sqlite> INSERT INTO endangered VALUES (1, "near threatened");
اکنون جدولهای خود را پیوند بزنید:
sqlite> SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;`
خروجی شما به این شکل خواهد بود:
Output:
1|Sammy|Greenland Shark|427|272|1|near threatened
توجه داشته باشید که خروجی، شامل مقدار id از جدول دوم نیز میباشد. با دستور صریحتر میتوانید، خروجی مورد نظر را تعیین کنید:
sqlite> SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
این بار خروجی، مقدار id جدول دوم را حذف مینماید:
Output:
1|Sammy|Greenland Shark|427|272|near threatened
منبع:
0 دیدگاه
نوشتن دیدگاه