Похожие презентации:
Python тілінде программалаудың негіздері
1. Python тілінде программалаудың негіздері
2.
13-Дәріс SQLite Python-ға кіріспе, Sqlite Мәліметтер Базасы.Python-да SQLite-ке қосылу
SQLite — бұл SQL-сұрауларымен жұмыс істейтін жеңіл, енгізілген
деректер базасын басқару жүйесі. SQLite деректерді сақтау үшін
файлдық жүйені пайдаланады, бұл оны шағын деректер көлемі бар
қолданбалар үшін ыңғайлы етеді. Басқа ДББЖ-лардан, мысалы,
MySQL немесе PostgreSQL-дан айырмашылығы, SQLite қосымша
серверді қажет етпейді — барлық деректер бір файлда сақталады, ал
деректер базасы тікелей қосымшаға интеграцияланған.
3.
SQLite-тің негізгі ерекшеліктері:•Жеңілдігі: SQLite — бұл серверлік бағдарламалық қамтамасыз
етуді орнатуды талап етпейтін енгізілген деректер базасы.
•Қауіпсіздік: SQLite деректермен жұмыс істегенде SQL-сұрауларын
пайдаланады, бұл деректер базасымен жұмыс істеуді құрылымдық
және қауіпсіз етеді.
•Жылдамдық: SQLite шағын деректер көлемінде жеткілікті жылдам
жұмыс істейді.
•Дискдегі файл: барлық деректер базасы бір файлда сақталады, бұл
оның резервтік көшірмесін жасау мен көшіруді жеңілдетеді.
SQLite мобильді қосымшаларда, және браузерлерде деректерді
сақтау үшін белсенді қолданылады.
4.
Неге Python және SQLite?Python — танымал бағдарламалау тілі, және оның
артықшылықтарының бірі — SQLite-пен жұмыс істеуге арналған
енгізілген модульдің болуы — sqlite3 модулі. Бұл бізге деректер
базасымен оңай әрекеттесуге мүмкіндік береді, қосымша орнатулар
мен күрделі конфигурацияларды талап етпейді.
SQLite-ті Python-да қолданудың артықшылықтары:
•Қарапайымдылық: SQLite-пен жұмыс істегенде сервер құру,
конфигурациялау немесе қосылымдарды басқару қажет емес.
•Жинақылық: деректерді сақтау үшін тек бір деректер базасының
файлы пайдаланылады, бұл шағын жобалар үшін өте ыңғайлы.
•Интеграция: sqlite3 модулі Python-ның стандартты кітапханасына
енгізілген, және оны пайдалану үшін қосымша кітапханаларды орнату
қажет емес.
5.
SQLite-ті орнату және Python арқылы қосылуPython-да SQLite-пен жұмыс істеу үшін бөлек кітапханаларды орнатудың
қажеті жоқ, себебі sqlite3 стандартты кітапханаға кіреді.
Тек импорттаймыз:
import sqlite3 # SQLite-пен жұмыс істеуге арналған модульді
импорттаймыз
Деректер базасын құру және қосылу
SQLite деректер базасына қосылу үшін connect() функциясын пайдалану
керек. Бұл функция деректер базасының файл атын параметр ретінде
қабылдайды. Егер деректер базасының файлы әлі жоқ болса, SQLite оны
автоматты түрде жасайды.
Мысал:
# Деректер базасына қосыламыз, егер ол бар болса, немесе жаңа
жасаймыз conn = sqlite3.connect('my_database.db') # my_database.db деректер базасының файлы
6.
Мұнда:•my_database.db — деректер базасының файлының аты.
•Егер файл жоқ болса, ол жасалады.
•Деректер базасына қосылған кезде, байланыс объектісі (conn)
жасалады, ол деректер базасымен әрекеттесу үшін пайдаланылады.
SQL-сұрауларын орындау үшін курсорды құру
SQL-сұрауларын орындау үшін курсор объектісін жасау қажет. Курсор
деректер базасымен әрекеттесу үшін пайдаланылады: сұраулар
орындау, деректерді алу және т.б.
cursor = conn.cursor() # Курсорды құру
Енді біз осы курсор арқылы SQL-сұрауларын орындауға болады.
7.
Деректер базасында кесте құруДеректерді сақтау үшін кесте құру қажет. Ол үшін CREATE TABLE
SQL-сұрауын пайдаланамыз. Бұл сұрау деректер базасында кесте
құрады.
Студенттер туралы ақпарат сақтау үшін кесте құру мысалы:
cursor.execute(''' CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT, # id - уникалды
идентификатор
name TEXT NOT NULL, # name - студенттің аты
age INTEGER, # age - студенттің жасы
grade TEXT # grade - студенттің бағасы
)
''') conn.commit() # Деректер базасында өзгерістерді сақтаймыз
8.
Мұнда:•CREATE TABLE IF NOT EXISTS кестені тек егер ол әлі жоқ болса
ғана құрады.
•AUTOINCREMENT әр жаңа студент үшін id мәнінің автоматты түрде
ұлғаюын қамтамасыз етеді.
•NOT NULL өрістің бос болмауы керек екенін білдіреді.
Кестеге деректерді енгізу
Кестеге деректер қосу үшін INSERT INTO SQL-сұрауын пайдаланады.
Студенттер туралы ақпарат енгізейік:
cursor.execute("INSERT INTO students (name, age, grade) VALUES ('John
Doe', 21, 'A')")
conn.commit() # Өзгерістерді сақтаймыз
9.
Мұнда:•INSERT INTO students (name, age, grade) деректер қосылатын кесте мен
өрістерді көрсетеді.
•VALUES ('John Doe', 21, 'A') — бұл енгізілетін деректер.
Кестеден деректерді оқу
Деректерді алу үшін SELECT сұрауын пайдаланамыз. Барлық жолдарды
немесе тек белгілі бір жолдарды таңдауға болады.
Барлық студенттерді алу мысалы:
cursor.execute("SELECT * FROM students") # Кестеден барлық деректерді
таңдаймыз
rows = cursor.fetchall() # Сұрау нәтижесінен барлық жолдарды аламыз #
Барлық жолдарды шығарамыз
for row in rows:
print(row)
10.
Мұнда:•SELECT * FROM students кестеден барлық жолдардың барлық
бағандарын таңдайды.
•fetchall() барлық жолдарды нәтижеден шығарады.
Кестедегі деректерді жаңарту
Кестедегі деректерді өзгерту үшін UPDATE SQL-сұрауын пайдаланамыз.
Студенттің бағасын жаңарту мысалы:
cursor.execute("UPDATE students SET grade = 'B' WHERE name = 'John
Doe'")
conn.commit() # Өзгерістерді сақтаймыз
Мұнда:
•UPDATE students SET grade = 'B' grade бағанының мәнін 'B' етіп өзгертеді.
•WHERE name = 'John Doe' жаңартуды тек студенттің аты "Джон Доу"
болған жолдармен шектейді.
11.
Кестеден деректерді жоюДеректерді жою үшін DELETE сұрауын пайдаланамыз.
Аты бойынша студентті жою мысалы:
cursor.execute("DELETE FROM students WHERE name = 'John Doe'")
conn.commit() # Өзгерістерді сақтаймыз
Мұнда:
•DELETE FROM students students кестесінен деректерді жояды.
•WHERE name = 'John Doe' тек аты "Джон Доу" болған жолдарды жоюды
көрсетеді.
Деректер базасымен байланыс орнатуды жабу
Деректер базасымен жұмыс аяқталған кезде, байланыс орнатуды жабу
қажет.
conn.close() # Деректер базасымен байланысты жабамыз
12.
import sqlite3# Деректер базасына қосыламыз
conn = sqlite3.connect('students.db')
cursor = conn.cursor()
# Кестені құру
cursor.execute('''
CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER,
grade TEXT
)
''')
13.
# Деректерді енгізуcursor.execute("INSERT INTO students (name, age, grade) VALUES ('Alice',
22, 'B')")
cursor.execute("INSERT INTO students (name, age, grade) VALUES ('Bob',
24, 'A')")
conn.commit()
# Деректерді оқу
cursor.execute("SELECT * FROM students")
rows = cursor.fetchall()
for row in rows:
print(row)
14.
# Деректерді жаңартуcursor.execute("UPDATE students SET grade = 'A' WHERE name = 'Alice'")
conn.commit()
# Деректерді жою
cursor.execute("DELETE FROM students WHERE name = 'Bob'")
conn.commit()
# Байланысты жабамыз
conn.close()
15.
Қосымша материалПайдалы сілтемелер
https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
http://blog.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/
http://www.vogella.com/tutorials/AndroidSQLite/article.html
http://microsin.net/programming/android/saving-files.html
http://sqlitebrowser.org
https://habrahabr.ru/post/125883/
http://www.enterra.ru/blog/android_issues_with_sqlite/
Sqlite.exe консолінде жұмыс істеу
http://developer.alexanderklimov.ru/android/sqlite/cathouse.php
Программирование