On 1/27/2026 11:22 PM, DFS via Python-list wrote:
On 1/27/2026 4:02 PM, Lawrence D’Oliveiro wrote:
[snip]


Just some thoughts:

     cSQL =  " CREATE TABLE Files "
     cSQL += " ( "
     cSQL += "   FileID       INTEGER NOT NULL PRIMARY KEY, "
     cSQL += "   FolderID     INTEGER REFERENCES Folders (FolderID), "
     cSQL += "   Folder       TEXT    NOT NULL, "
     cSQL += "   FileName     TEXT    NOT NULL, "
     cSQL += "   FileCreated  NUMBER  NOT NULL, "
     cSQL += "   FileModified NUMBER  NOT NULL, "
     cSQL += "   FileSizeKB   NUMBER  NOT NULL "
     cSQL += " );"

Did you know Python does implicit string concatenation, like C and
C++?

I've used other ways here and there, but that style of string-building is my habit.

other ways that might be a little more efficient:

cSQL =  (
" CREATE TABLE Files "
" ( "
"   FileID       INTEGER NOT NULL PRIMARY KEY, "
"   FolderID     INTEGER REFERENCES Folders (FolderID), "
"   Folder       TEXT    NOT NULL, "
"   FileName     TEXT    NOT NULL, "
"   FileCreated  NUMBER  NOT NULL, "
"   FileModified NUMBER  NOT NULL, "
"   FileSizeKB   NUMBER  NOT NULL "
" );"
)


cSQL =  " CREATE TABLE Files \
( \
  FileID       INTEGER NOT NULL PRIMARY KEY, \
  FolderID     INTEGER REFERENCES Folders (FolderID), \
  Folder       TEXT    NOT NULL, \
  FileName     TEXT    NOT NULL, \
  FileCreated  NUMBER  NOT NULL, \
  FileModified NUMBER  NOT NULL, \
  FileSizeKB   NUMBER  NOT NULL \
);"

Definitely don't like this trailing slashes format.

What's wrong with the obvious way, which is also the easiest and most readable?

cSQL = """CREATE TABLE Files
(
 FileID       INTEGER NOT NULL PRIMARY KEY,
 FolderID     INTEGER REFERENCES Folders (FolderID),
 Folder       TEXT    NOT NULL,
 FileName     TEXT    NOT NULL,
 FileCreated  NUMBER  NOT NULL,
 FileModified NUMBER  NOT NULL,
 FileSizeKB   NUMBER  NOT NULL
);"""

If your db doesn't like query strings with embedded newlines, just add

.replace('\n', ' ')

to the end of the above string.

[snip]
--
https://mail.python.org/mailman3//lists/python-list.python.org

Reply via email to