@@ -14,7 +14,7 @@ def queryUserInput
14
14
result = ''
15
15
case query
16
16
17
- when 'exit '
17
+ when 'quit '
18
18
puts 'exiting sqlte cli'
19
19
break
20
20
when /^(\s *(SELECT|select)\s +([\w \s *,]+)\s +(FROM|from)\s +(\S +)\s *(?:(JOIN|join)\s +(\S +)\s +(on|ON)\s +(\S +))?(?:(WHERE|where)\s +(.*?))?\s *)$/
@@ -48,6 +48,11 @@ def queryUserInput
48
48
where_conditions = $3
49
49
request = runUpdateQuery ( table_name , values , where_conditions ) . run
50
50
51
+ when /^\s *(DELETE|delete)\s +(FROM|from)\s +(\w +)\s +(where|WHERE)\s +(.+)/
52
+
53
+ table_name = "#{ $3} .csv"
54
+ where_conditions = $5
55
+ request = runDeleteQuery ( table_name , where_conditions , request ) . run
51
56
52
57
53
58
else
@@ -141,6 +146,14 @@ def runUpdateQuery(table_name,values,where_conditions)
141
146
request
142
147
end
143
148
149
+ def runDeleteQuery(table_name,where_conditions,request)
150
+ request = MySqliteRequest.new
151
+ request = request.delete
152
+ request =request.from(table_name)
153
+ request = processWhereConditions(where_conditions,request)
154
+ request
155
+ end
156
+
144
157
def processWhereConditions(conditions,request)
145
158
splitted_conditions=conditions.split(",")
146
159
@@ -154,36 +167,15 @@ def processWhereConditions(conditions,request)
154
167
return request
155
168
end
156
169
MySQLite.new
157
- # UPDATE nba_player_data SET name = 'Bill Renamed', year_start = '2330' WHERE name = 'Bill Zopf',year_start='1971'
158
-
159
- # request = MySqliteRequest.new
160
- # request = request.update('nba_player_data.csv')
161
- # request = request.values('name' => 'Alaa Renamed2','year_start'=>'2023')
162
- # request = request.where('name', 'Alaa Renamed')
163
- # request = request.where('year_start', '1991')
164
-
165
- # the values were received as [{"name"=>"Alaa Renamed2", "year_start"=>"2023"}]
166
-
167
- # INSERT INTO nba_player_data (name,year_start,year_end,position,height,weight,birth_date,college) VALUES (Alaa Abdelnaby34,1991,1995,F-C,6-10,240,"June 24, 1968",Duke University)
168
-
169
-
170
- #as a hash data is sent this way
171
- #'name' => 'Alaa Abdelnaby', 'year_start' => '1991', 'year_end' => '1995', 'position' => 'F-C', 'height' => '6-10', 'weight' => '240', 'birth_date' => "June 24, 1968", 'college' => 'Duke University'
172
-
170
+ #DELETE FROM nba_player_data WHERE name = 'John'
173
171
172
+ # UPDATE nba_player_data SET name = 'Bill Renamed', year_start = '2330' WHERE name = 'Bill Zopf',year_start='1971'
174
173
175
174
175
+ # INSERT INTO nba_player_data (name,year_start,year_end,position,height,weight,college) VALUES (Alaa Abdelnaby34,1991,1995,F-C,6-10,240,Duke University)
176
+ # INSERT INTO nba_player_data VALUES (Alaa Abdelnaby34,1991,1995,F-C,6-10,240,"June 24, 1968",Duke University)
176
177
177
178
178
- # SELECT name
179
- # FROM table1
180
- # JOIN table2 ON table1.id=table2.id
181
- #SELECT name,email FROM students WHERE name='Matt Zunic'
182
179
183
- # request = MySqliteRequest.new
184
- # request = request.from('nba_player_data.csv')
185
- # request=request.select('*')
186
- # request=request.join('weight','nba_players.csv','weight2')
187
- # request.run
180
+ #SELECT name,email FROM nba_player_data WHERE name='Matt Zunic'
188
181
189
- # UPDATE students SET email = 'jane@janedoe.com', blog = 'https://blog.janedoe.com' WHERE name = 'Mila'
0 commit comments