|
SmtC: Show me the Code
Ole Peter Smith
Instituto de Matemática e Estatística
Universidade Federal de Goiás
http://www.olesmith.com.br
|
|
Problemas resolvemos na hora!
Milagres demoram mais um pouco...
Provérbio dinamarquês
|
INSERT
INSERT INTO
table_name
(column1, column2, column3, ...)
VALUES
(value1, value2, value3, ...);
??Third.py3 Listing: Third.py3.
#!/usr/bin/python3
import re
#A dict
persons=[
{
"ID": 1,
"Name": "Ole",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 2,
"Name": "Fulano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1999",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 3,
"Name": "Beltrano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 4,
"Name": "Ciclano",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 444444",
"Fax": "62 4444444",
},
{
"ID": 5,
"Name": "Odin",
"Email": "ole@ufg.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
{
"ID": 6,
"Name": "Thor",
"Email": "thor@ceu.br",
"Birthday": "11/01/1964",
"Phone": "62 5555555",
"Fax": "62 5555555",
},
]
def Dict2SQL(dct,table,level=1,indent=" "):
keys=list(dct.keys())
vals=[]
for key in keys:
vals.append("'"+str(dct[ key ])+"'")
return "("+",".join(vals)+"),"
def Dicts2SQL(dcts,table,level=1,indent=" "):
texts=[
"INSERT INTO `"+table+"`"
]
keys=list(dcts[0].keys())
cols=[]
for key in keys:
cols.append(key)
texts.append( "("+",".join(cols)+")" )
texts.append( "VALUES" )
for i in range(len(dcts)):
#Increment level
texts.append(
Dict2SQL(dcts[i],table,level+1,indent)
)
#Remove trailing comma
texts[ len(texts)-1 ]=re.sub(',$',";",texts[ len(texts)-1 ])
return texts
def Lines2File(fname,lines):
f=open(fname,"w" )
for line in lines:
f.write("%s\n" % line)
f.close()
lines=[
'CREATE TABLE `Persons` (ID int,Name varchar(255),Email varchar(255),Birthday varchar(255),Phone varchar(255),Fax varchar(255));\n\n'
]+Dicts2SQL(persons,"Persons")
Lines2File("Persons.sql",lines)
print( "\n".join(lines) )
|
CREATE TABLE `Persons` (ID int,Name varchar(255),Email varchar(255),Birthday varchar(255),Phone varchar(255),Fax varchar(255));
INSERT INTO `Persons`
(Phone,Name,Birthday,Fax,Email,ID)
VALUES
('62 5555555','Ole','11/01/1964','62 5555555','ole@ufg.br','1'),
('62 5555555','Fulano','11/01/1999','62 5555555','ole@ufg.br','2'),
('62 5555555','Beltrano','11/01/1964','62 5555555','ole@ufg.br','3'),
('62 444444','Ciclano','11/01/1964','62 4444444','ole@ufg.br','4'),
('62 5555555','Odin','11/01/1964','62 5555555','ole@ufg.br','5'),
('62 5555555','Thor','11/01/1964','62 5555555','thor@ceu.br','6');
Output from: /usr/bin/python3 Third.py3
|
In mysql client: source file.sql
|
Messages:
0 secs.
|