leon22
leon22

Reputation: 5649

Run multiple commands in sqlite manager

It's possible to run more than one command in the direct SQL execution in SQlite Manager? (useful if you insert a lot of data)

e.g.

insert into TestTable (Name, Age) values("Thomas", 25)
insert into TestTable (Name, Age) values("Peter", 29)
...

Thx

Upvotes: 5

Views: 17926

Answers (4)

Ahmad Ismail
Ahmad Ismail

Reputation: 13842

Create a file like:

$ cat query-list.sql
insert into TestTable (Name, Age) values("Thomas", 25)
insert into TestTable (Name, Age) values("Peter", 29)
...

Now run the command:

$ sqlite3 my-database.db < query-list.sql

Upvotes: 1

Winter Squad
Winter Squad

Reputation: 167

Perhaps you may work executemany() method instead of execute()

Something like:

values = [
    ("Thomas", 25),
    ("Peter", 29)
]
conn.executemany("insert into TestTable (Name, Age) values (?, ?)", values)

Will work fine.

Upvotes: 2

acatt
acatt

Reputation: 487

Alternatively, you could write the statement as:

insert into TestTable (Name, Age) 
values
("Thomas", 25),
("Peter", 29)
;

Edit: Please note, as per @DominiqueJacquel's comment, that this will only work in SQLite version 3.7.11+

Upvotes: 5

leon22
leon22

Reputation: 5649

Solution is very simple ;-)

-> use a semicolon to separate the commands

insert into TestTable (Name, Age) values("Thomas", 25);
insert into TestTable (Name, Age) values("Peter", 29);
...

Upvotes: 16

Related Questions