SQLite டைப் பயன்படுத்தி தரவுத்தளத்தை உருவாக்குதல்
பின்வரும் எடுத்துக்காட்டு sqlite3 பயன்படுத்தி பைத்தானில் ஒரு
தரவு தளத்தை எவ்வாறு இணைப்பது என்பதை விளக்குகிறது.
# Python code to demonstrate table
creation and insertions with SQL
# importing module
import sqlite3
# connecting to the database
connection = sqlite3.connect
("Academy.db")
# cursor
cursor = connection.cursor()
மேற்கண்ட எடுத்துக்காட்டில், "Academy" என்ற பெயரில் தரவுத்தளம் உருவாக்கப்பட்டுள்ளது. இது SQL-ன் "CREATE DATABASE Academy;" என்ற கட்டளைக்கு இணையானது. அனுப்புவது. "sqlite3. connect ('Academy.db')" என்ற கூற்றை அழைக்கும் போது ஏற்கனவே உருவாக்கிய தரவுத்தளத்தைத் திறக்கும்.
ஒரு வெற்று தரவுத்தளத்தை உருவாக்கிய பிறகு, முடிந்த வரை ஒன்று
அல்லது அதற்கு மேற்பட்ட அட்டவணைகளைச் சேர்க்கலாம். அதற்கான கட்டளை அமைப்பு
CREATE TABLE Student (
RollnoINTEGER, SnameVARCHAR(20), GradeCHAR(1), gender
CHAR(1),
Average float(5.2), birth_date DATE, PRIMARY KEY
(Rollno));
மேற்காண் இந்த முறையில் SQL கட்டளைகளில் செய்யப்படுவதைப் போலவே நேரடியாக பைத்தானில் செய்யலாம்.
SQL அல்லது SQLiteக்கு கட்டளைகளை அனுப்ப
cursor பொருள்தேவை. பொதுவாக SQL மற்றும்
தரவுத்தளத்திலுள்ள cursor என்பது, தரவுத்தளப் பதிவுகளின் மீது செயல்படும் ஒரு கட்டுப்பாட்டு
அமைப்பாகும்.
குறிப்பு
SQL-ன்
அனைத்து கட்டளைகளையும் செயல்படுத்த cursor பயன்படுகிறது.
இணைப்புக்கான cursor ( ) வழிமுறையை அழைத்து cursor பொருளை உருவாக்கலாம்.
Cursor விடைத்தொகுப்பில் இருந்து பதிவுகளை எடுக்கப்பயன்படுகிறது.
பைத்தானில் SQL கட்டளைகளை மூன்று மேற்கொள் அடைப்புக் குறிகளுக்குள்
சரமாக வரையறுக்க வேண்டும்.
எடுத்தக்காட்டு
import sqlite3
sql_command = """
CREATE TABLE Student (
Rollno INTEGER PRIMARY KEY,
Sname VARCHAR(20),
Grade CHAR(1),
gender CHAR(1),
Average DECIMAL(5,2),
birth_date DATE);"""
மேலேயுள்ள எடுத்துக்காட்டில்,
Emp_no என்ற புலம் "INTEGER PRIMARY KEY" (முழு எண்
முதன்மைத் திறவுகோல்) என வரையறுக்கப்பட்டுள்ளது. SQLite3 ல் இதுபோல் பெயரிடப்பட்டநெடுவரிசையானது
தானாகவே அதிகரித்துக் கொள்ளும்.
வேறு விதமாக கூற வேண்டுமெனில், அட்டவணையில் உள்ள ஒரு நெடுவரிசை INTEGER PRIMARY KEY, என்று அறிவிக்கப்பட்டு, எப்பொழுதெல்லாம் NULL என்ற மதிப்பு உள்ளீடாகப் பயன்படுத்தப்படுகிறதோ, அந்த NULL மதிப்புதானாகவே அந்தநெடுவரிசையில் இதுவரை பயன்படுத்தப்பட்ட மிக உயர்ந்த மதிப்பைவிட ஒன்று மிகுந்து முழு எண்ணாக இருக்கும். வெற்று அட்டவணை எனில் 1 என்ற மதிப்பு பயன்படுத்தப்படும்.
இப்பொழுது அட்டவணையுடன் கூடிய ஒரு தரவுத்தளம் எந்த தரவுகளும்
இல்லாமல் உள்ளது. "INSERT" கட்டளையை SQLite ல் அனுப்புவதன் மூலம் அட்டவணையில்
தரவுகளை உள்ளிடலாம். execute() செயற்கூறு கொடுக்கப்பட்ட SQL கட்டளையை செயல்டுத்தும்
எடுத்தக்காட்டு
import sqlite3
connection = sqlite3.connect
("Academy.db")
cursor = connection.cursor()
# delete
cursor.execute ("""DROP
TABLE Student;"'")
sql_command ="""
CREATE TABLE Student (
Rollno INTEGER PRIMARY KEY , Sname
VARCHAR(20), Grade CHAR(1),
gender CHAR(1), Average DECIMAL (5,
2), birth_date DATE);"""
cursor.execute(sql_command)
sql_command="""INSERT
INTO Student (Rollno, Sname, Grade, gender, Average, birth_ date) VALUES (NULL,
"Akshay", "B", "M","87.8",
"2001-12-12");""" cursor.execute(sql_ command)
sql_command = "'"INSERT INTO
Student (Rollno, Sname, Grade, gender, Average, birth_date) VALUES (NULL,
"Aravind", "A",
"M","92.50","2000-08-17");""" cursor.
execute(sql_command)
# never forget this, if you want the
changes to be saved:
connection.commit()
connection.close()
print("STUDENT TABLE
CREATED")
வெளியீடு
STUDENT TABLE CREATED
பின்வரும் எடுத்துக்காட்டு 15.3.2 ஒரு முழுமையான உதாரணமாகும்.
இந்த நிரலை இயக்க "Academy. db” கோப்பை வேண்டும் அல்லது SQL கட்டளையில் உள்ள
DROP TABLE என்றவரியின் குறிப்புரையாக்குக.
பெரும்பாலான நிகழ்வுகளில் கருத்தியலாக ஒரு SQL அட்டவணையில் தரவுகளை
இடையில் செருக முடியாது. Insert கூற்றைப்பயன்படுத்தி, சில பைத்தான் தரவு இனங்களில்
உள்ள பலத்தரவுகளை உள்ளிடலாம்.
பின்வரும் எடுத்துக்காட்டில், Academy.db என்ற தரவுத்தளம் மற்றும்
Student அட்டவணை ஏற்கனவே உள்ளது எனக்கொள்க. நபர்களின் தரவுகளைக்கொண்ட List-யைINSERT
கூற்றைப் பயன்படுத்தி உள்ளிடப்பட்டுள்ளது.
எடுத்தக்காட்டு
import sqlite3
connection =
sqlite3.connect("Academy.db")
cursor = connection.cursor()
student_data = [("BASKAR",
"C", "M","75.2","1998-05-17"),
("SAJINI", "A",
"F","95.6","2002-11-01"),
("VARUN", "B",
"M","80.6","2001-03-14"),
("PRIYA", "A",
"F","98.6","2002-01-01"),
("TARUN", "D",
"M","62.3","1999-02-01")]
for p in student_data:
format_str = "'''INSERT INTO
Student (Rollno, Sname, Grade, gender, Average, birth_ date) VALUES
(NULL,"{name}", "{gr}",
"{gender}","{avg}","{birthdate}");"""
sql_command=format_str.format(name=p [0]
,gr=p [1],gender=p [2],avg=p[3], birthdate = p[4])
cursor.execute(sql_command)
connection.commit()
connection.close()
print("RECORDS ADDED TO STUDENT
TABLE ")
வெளியீடு
RECORDS ADDED TO STUDENT TABLE