Kolomnamen achterhalen (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 1: Regel 1:
 
== Kolomnamen achterhalen is simpel ==
 
== Kolomnamen achterhalen is simpel ==
  
<pre>
+
In den beginne:
select column_name from information_schema.columns where table_name="tabelnaam" and table_schema="databasenaam";
+
 
</pre>
+
select column_name from information_schema.columns where table_name="tabelnaam" and table_schema="databasenaam";
 +
 
 +
Ik snap trouwens niet waar <code>and table_schema="databasenaam"</code> voor nodig is, want dit werkt ook:
 +
 
 +
select column_name from information_schema.columns where table_name="tabelnaam";
  
Of wegschrijven in een tijdelijke tabel:
+
Het resultaat kan uiteraard ook naar een tabel worden weggeschreven, in dit geval een tijdelijke tabel:
  
 
<pre>
 
<pre>
drop table if exists tmp;
+
drop temporary table if exists kolomnaam_tmp
create temporary table tmp select column_name  
+
create temporary table kolomnaam_tmp select column_name  
 
from information_schema.columns  
 
from information_schema.columns  
where table_name="tabelnaam" and table_schema="databasenaam";
+
where table_name="tabelnaam";
 
</pre>
 
</pre>
  
Regel 18: Regel 22:
 
<pre>
 
<pre>
 
select group_concat(column_name) from information_schema.columns  
 
select group_concat(column_name) from information_schema.columns  
where table_name="amazon_de_tmp" and table_schema="webwinkels";
+
where table_name="amazon_de_tmp";
  
 
item_sku,external_product_id,external_product_id_type,asin,item_name_de,manufacturer,feed_product_type,
 
item_sku,external_product_id,external_product_id_type,asin,item_name_de,manufacturer,feed_product_type,
Regel 33: Regel 37:
 
== Kolomnamen naar één record wegschrijven ==
 
== Kolomnamen naar één record wegschrijven ==
  
Maar nu wil ik de namen naar verschillende velden in één record in een tabel schrijven, bv. om deze veldnamen als heading te gebruiken. Liefst zonder de kolomnamen te moeten benoemen.
+
=== Problemen, problemen ===
 +
 
 +
Als ik Amazon-sjablonen met productdata aan het vullen ben, moet ik de namen van de kolommen in de eerste regel vermelden. Oftewel:
 +
 
 +
* Hoe plaats ik die kolomnamen in één record, met de juiste waarde in de juiste kolom?
 +
* Hoe kun je überhaupt in SQL een record dat is opgeslagen in een ''delimited string'' in een record invoegen???
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 11 mei 2016 13:05

Kolomnamen achterhalen is simpel

In den beginne:

select column_name from information_schema.columns where table_name="tabelnaam" and table_schema="databasenaam";

Ik snap trouwens niet waar and table_schema="databasenaam" voor nodig is, want dit werkt ook:

select column_name from information_schema.columns where table_name="tabelnaam";

Het resultaat kan uiteraard ook naar een tabel worden weggeschreven, in dit geval een tijdelijke tabel:

drop temporary table if exists kolomnaam_tmp
create temporary table kolomnaam_tmp select column_name 
from information_schema.columns 
where table_name="tabelnaam";

Of uitvoeren als één string - inclusief voorbeeld-output:

select group_concat(column_name) from information_schema.columns 
where table_name="amazon_de_tmp";

item_sku,external_product_id,external_product_id_type,asin,item_name_de,manufacturer,feed_product_type,
brand_name,part_number,description_de,update_delete,standard_price_de,quantity,fulfillment_latency,
condition_type,number_of_items,website_shipping_weight,website_shipping_weight_unit_of_measure,
item_length,item_width,item_height,item_dimensions_unit_of_measure,item_weight,
item_weight_unit_of_measure,recommended_browse_nodes,generic_keywords,bullet_point1,bullet_point2,
bullet_point3,bullet_point4,bullet_point5,target_audience_keywords,main_image_url,other_image_url1,
package_height,package_height_unit_of_measure,package_width,package_width_unit_of_measure,package_length,
package_length_unit_of_measure,package_weight,package_weight_unit_of_measure,color_name,color_map,
material_type,specific_uses_for_product,item_name,description,standard_price

Kolomnamen naar één record wegschrijven

Problemen, problemen

Als ik Amazon-sjablonen met productdata aan het vullen ben, moet ik de namen van de kolommen in de eerste regel vermelden. Oftewel:

  • Hoe plaats ik die kolomnamen in één record, met de juiste waarde in de juiste kolom?
  • Hoe kun je überhaupt in SQL een record dat is opgeslagen in een delimited string in een record invoegen???

Bronnen