No, Google's road data is proprietary and is not distributed in a GIS capable format. This is because Google spends a lot of money keeping their GIS accurate and current, and distributing it for free would allow Google's competitors (e.g. Microsoft, MapQuest, Apple, ESRI) to download it. This would forfeit Google's competitive advantage in the web mapping world.
OpenStreetMap does offer downloads of their entire road dataset. The "Downloading data" Wiki page has some more information. The data download page is here. If you only need data for a single region or country, I recommend using the prepackaged downloads from geofabrik.de.
Firstly you need a data source. Your best option for this is OpenStreetMaps' Database. But if you take the entire world, the data is in 100s of GBs.
Secondly, you will need a source for your cities. You will need a polygon source, which indicates the boundary of the city, so that you can then select the streets inside it. However finding this source is going to be an hard task. I know of no source that will give the boundary of each and every city in the world. You will have to integrate and collect this data yourself, from various sources.
Once you have these two, you will first have to get the boundary of the input city, and then select the roads that lie within it.
Best Answer
Ok, that's the steps you need to folow.
I am not sure if i translate it correctly because not i am using polish version of QGIS. You can find in Vector toolbox.
After that just select same feature line twice without any unic fields.
EDIT
Ok i see that Dissolve in Qgis is a bit different that Dissolve in ArcGIS. But to work around it i came up with this idea.