I am new to Thingworx and exploring certain things , i want to know how data from devices is captured, stored, and searched , modified and then displayed on the mashups.
Also I am using Azure SQL as my external database. how to capture the data which is generated by device in a specific interval of time.
If you haven't gone through the ThingWorx foundation classes/learning paths yet, I highly recommend those.
In ThingWorx first you would define a model which can capture your desired information. That information can be brought into ThingWorx in a variety of ways, Edge Agent like Kepserver, Rest API or connectors to other systems.
Data can be stored in ThingWorx as Properties, DataTables, or Streams each of these would have their own way (services) to read/search/modify
Mashups are then created to interact with the Model through those services.
For external databases, you can install as an extension (or directly by adding the right jar) jdbc drivers to connect to them. Within ThingWorx there is a 'Database' ThingTemplate which can then be configured to use the driver to connect.
Data generated at a specific interval can either be pushed by the device to ThingWorx as needed, or fetched by ThingWorx using a Timer/Scheduler mechanism.
You are asking quite a lot of very good questions that I think will be better answered by going through the foundation classes. Please check www.ptcu.com
As Pai stated, it's recommended that you complete the trainings. You will find there are multiple ways to handle the data push and you should develop an understanding of the options before jumping into a particular method that may turn out to be inefficient or error prone. The training covers timers and schedulers, and device connectivity as well.