|
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
|
|
Quando Pedro me fala sobre Paulo
Sei mais do Pedro do que do Paulo
Sigmund Freud
|
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`
(Email,Fax,Phone,ID,Name,Birthday)
VALUES
('ole@ufg.br','62 5555555','62 5555555','1','Ole','11/01/1964'),
('ole@ufg.br','62 5555555','62 5555555','2','Fulano','11/01/1999'),
('ole@ufg.br','62 5555555','62 5555555','3','Beltrano','11/01/1964'),
('ole@ufg.br','62 4444444','62 444444','4','Ciclano','11/01/1964'),
('ole@ufg.br','62 5555555','62 5555555','5','Odin','11/01/1964'),
('thor@ceu.br','62 5555555','62 5555555','6','Thor','11/01/1964');
Output from: /usr/bin/python3 Third.py3
|
In mysql client: source file.sql
|
Messages:
0 secs.
|