Problème de colonnes

Signaler
Messages postés
127
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
19 juin 2020
-
Messages postés
28837
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 juillet 2020
-
Bonjour, 




import sqlite3
conn = sqlite3.connect('test2') # OK MAIS VOIR COMMENT AJOUTEr UNE COLONNE MËME SI PAS UTILE POUR TOUS !!!!!!!!!!!!!!!!!!!!!!!!!
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT,
adresse TEXT,
ville TEXT,
tel TEXT

)
""")

conn.commit()


# Insérer des données 1) colonnes = 4 (ne pas tenir compte ID = 0 indexation auto - 2) valeur de la colonne ex: nom, adresse, ville, tel
#--------------------
cursor.execute("""
INSERT INTO users(name, adresse, ville, tel) VALUES(?, ?, ?, ?)""", ("Moulin Jean", "Rue Haute 102", "Mons", "0478149622"))

cursor.execute("""
INSERT INTO users(name, adresse, ville, tel) VALUES(?, ?, ?, ?)""", ("renard Jean", "Rue Haute 102", "Mons", "0579136521"))

# Insérer des nouvelles données:
# -----------------------------


# Pour modifier des entrées:
# -------------------------

cursor.execute("""UPDATE users SET tel = ? WHERE id = 2""", ("025785879",)) # modification du n° tel.

#********************************************** Toujours enregistrer après modification de table ********************************************************************************************
# ------------------------------------------------
# Récupérer les données
#----------------------

cursor.execute("""SELECT id, name, adresse, ville, tel FROM users""")
rows = cursor.fetchall()
for row in rows:
print('{0} : {1} - {2} - {3} - {4}'.format(row[0], row[1], row[2], row[3], row[4]))


Bonjour,

Bonjour
Une table créée avec SQL3 peut-elle être modifier après avoir été créée
Je sais qu'on peut ajouter une données complète mais par ex :ajouter une colonne qui ne sera utile que pour une personne
Ou faut -il créer une colonne supplémentaire au départ
Merci pour l'aide






Configuration: Windows / Chrome 83.0.4103.106

2 réponses

Messages postés
28837
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 juillet 2020
2 585
Bonjour,

Déjà, lorsque tu postes du code sur le forum, il faut utiliser les BALISES DE CODE.
Tuto à lire ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite,
Techniquement, rien ne t’empêche de rajouter de nouveaux champs dans tes tables ( ce que tu appelle les colonnes)....
Mais en règle générale, on conçoit / créé la structure de la bdd au départ... et on évite d'y toucher par la suite...

Si tu n'as qu'une seule "colonne" à ajouter .. même si pas utilisée par la suite... autant la créer tout de suite dans ta table...
Mais si tu viens à avoir plusieurs "colonnes" à créer.. là, c'est le modèle de ta bdd qu'il faut revoir. Si tu as des valeurs "optionnelles" à renseigner, je pense qu'une table supplémentaire serait préférable pour les stocker...

Un table du genre :
users_options
- id
- id_user
- option_libelle
- option_value


NB: Sqlite n'est pas Mysql ... je déplace donc ta question.
Messages postés
127
Date d'inscription
samedi 11 mars 2006
Statut
Membre
Dernière intervention
19 juin 2020
17
Bonjour
Merci pour ta réponse
Est-ce que jai bien utiliser les balises de code?




# python doctor


import sqlite3
conn = sqlite3.connect('test2') # OK MAIS VOIR COMMENT AJOUTEr UNE COLONNE MËME SI PAS UTILE POUR TOUS !!!!!!!!!!!!!!!!!!!!!!!!!
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT,
adresse TEXT,
ville TEXT,
tel TEXT

)
""")

conn.commit()


# Insérer des données 1) colonnes = 4 (ne pas tenir compte ID = 0 indexation auto - 2) valeur de la colonne ex: nom, adresse, ville, tel
#--------------------
cursor.execute("""
INSERT INTO users(name, adresse, ville, tel) VALUES(?, ?, ?, ?)""", ("Moulin Jean", "Rue Haute 102", "Mons", "0478149622"))

cursor.execute("""
INSERT INTO users(name, adresse, ville, tel) VALUES(?, ?, ?, ?)""", ("Renard Jean", "Rue Haute 102", "Mons", "0579136521"))

# Insérer des nouvelles données:
# -----------------------------


# Pour modifier des entrées:
# -------------------------

cursor.execute("""UPDATE users SET tel = ? WHERE id = 2""", ("025785879",)) # modification du n° tel.

#********************************************** Toujours enregistrer après modification de table ********************************************************************************************
# ------------------------------------------------
# Récupérer les données

                        
                
Messages postés
28837
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 juillet 2020
2 585

Est-ce que jai bien utiliser les balises de code?

Non.. il faut que ton code soit dedans....

Comme ça
# python doctor


import sqlite3
conn = sqlite3.connect('test2') # OK MAIS VOIR COMMENT AJOUTEr UNE COLONNE MËME SI PAS UTILE POUR TOUS !!!!!!!!!!!!!!!!!!!!!!!!!
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT,
adresse TEXT,
ville TEXT,
tel TEXT

)
""")