<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Examples_-_sql_manage.py</id>
	<title>Examples - sql manage.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=Examples_-_sql_manage.py"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Examples_-_sql_manage.py&amp;action=history"/>
	<updated>2026-05-18T23:54:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Examples_-_sql_manage.py&amp;diff=3835&amp;oldid=prev</id>
		<title>PeterHarding at 20:10, 27 March 2012</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Examples_-_sql_manage.py&amp;diff=3835&amp;oldid=prev"/>
		<updated>2012-03-27T20:10:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:10, 28 March 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# NAME&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# NAME&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#   sql_manage.py - Setup Sqlite data for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PCMS &lt;/del&gt;data preaparation&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#   sql_manage.py - Setup Sqlite data for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb &lt;/ins&gt;data preaparation&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SYNOPSIS&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# SYNOPSIS&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l66&quot;&gt;Line 66:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 66:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-----------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-----------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms &lt;/del&gt;import SqliteDB, DbCustomer&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb &lt;/ins&gt;import SqliteDB, DbCustomer&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-----------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#-----------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l85&quot;&gt;Line 85:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 85:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;customers      = []&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;customers      = []&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms_data&lt;/del&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb_data&lt;/ins&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms_noldap&lt;/del&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb_noldap&lt;/ins&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms_soap&lt;/del&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb_soap&lt;/ins&gt;.db&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms_users&lt;/del&gt;.sqlite&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DB_NAME        = &amp;#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb_users&lt;/ins&gt;.sqlite&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;p_event_type   = re.compile(r&amp;#039;:EventType&amp;gt;(.*)&amp;lt;&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;p_event_type   = re.compile(r&amp;#039;:EventType&amp;gt;(.*)&amp;lt;&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l248&quot;&gt;Line 248:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 248:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       elif opt == &amp;#039;-I&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       elif opt == &amp;#039;-I&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          mode             = Modes.Create&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          mode             = Modes.Create&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          tables           = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pcms&lt;/del&gt;.Tables&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          tables           = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appdb&lt;/ins&gt;.Tables&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       elif opt == &amp;#039;-l&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       elif opt == &amp;#039;-l&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          log_flg          = True&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          log_flg          = True&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=Examples_-_sql_manage.py&amp;diff=3834&amp;oldid=prev</id>
		<title>PeterHarding: Created page with &quot; &lt;pre&gt; #!/usr/bin/env python # #       Author:  Peter Harding  &lt;plh@performiq.com.au&gt; # #                PerformIQ Pty. Ltd. #                Level 6, #                170 Que...&quot;</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=Examples_-_sql_manage.py&amp;diff=3834&amp;oldid=prev"/>
		<updated>2012-03-27T20:09:36Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; &amp;lt;pre&amp;gt; #!/usr/bin/env python # #       Author:  Peter Harding  &amp;lt;plh@performiq.com.au&amp;gt; # #                PerformIQ Pty. Ltd. #                Level 6, #                170 Que...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
#&lt;br /&gt;
#       Author:  Peter Harding  &amp;lt;plh@performiq.com.au&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
#                PerformIQ Pty. Ltd.&lt;br /&gt;
#                Level 6,&lt;br /&gt;
#                170 Queen Street,&lt;br /&gt;
#                MELBOURNE, VIC, 3000&lt;br /&gt;
#&lt;br /&gt;
#                Fax:     03 9578 7810&lt;br /&gt;
#                Mobile:  0418 375 085&lt;br /&gt;
#  &lt;br /&gt;
#           @(#) [1.0.01] sql_manage.py 2011-06-12&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# NAME&lt;br /&gt;
#   sql_manage.py - Setup Sqlite data for PCMS data preaparation&lt;br /&gt;
#&lt;br /&gt;
# SYNOPSIS&lt;br /&gt;
#   sql_manage.py [-dv]&lt;br /&gt;
#&lt;br /&gt;
# PARAMETERS&lt;br /&gt;
#   See __doc__ below&lt;br /&gt;
#&lt;br /&gt;
# DESCRIPTION&lt;br /&gt;
#   Analyse barcodes&lt;br /&gt;
#&lt;br /&gt;
# RETURNS&lt;br /&gt;
#   0 for successful completion, 1 for any error&lt;br /&gt;
#&lt;br /&gt;
# FILES&lt;br /&gt;
#   ...&lt;br /&gt;
#&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Usage:&lt;br /&gt;
&lt;br /&gt;
   $ sql_manage.py [-dv] &lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
   -d              Debug&lt;br /&gt;
   -w &amp;lt;date&amp;gt;       When (e.g.  -w  20110613)&lt;br /&gt;
   -t              User test data (equivalent to -w  TST)&lt;br /&gt;
   -v              Verbose&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import re&lt;br /&gt;
import sys&lt;br /&gt;
import glob&lt;br /&gt;
import time&lt;br /&gt;
import getopt&lt;br /&gt;
import sqlite3&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
from datetime import datetime, timedelta&lt;br /&gt;
from urllib import quote&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import pcms&lt;br /&gt;
&lt;br /&gt;
from pcms import SqliteDB, DbCustomer&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
__version__    = &amp;quot;1.0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
debug_lvl      = 0&lt;br /&gt;
quiet_flg      = False&lt;br /&gt;
verbose_flg    = False&lt;br /&gt;
freq_flg       = True&lt;br /&gt;
countries      = []&lt;br /&gt;
despatches     = {}&lt;br /&gt;
departures     = {}&lt;br /&gt;
wrk_dir        = None&lt;br /&gt;
f_log          = None&lt;br /&gt;
customers      = []&lt;br /&gt;
&lt;br /&gt;
DB_NAME        = &amp;#039;pcms_data.db&amp;#039;&lt;br /&gt;
DB_NAME        = &amp;#039;pcms_noldap.db&amp;#039;&lt;br /&gt;
DB_NAME        = &amp;#039;pcms_soap.db&amp;#039;&lt;br /&gt;
DB_NAME        = &amp;#039;pcms_users.sqlite&amp;#039;&lt;br /&gt;
&lt;br /&gt;
p_event_type   = re.compile(r&amp;#039;:EventType&amp;gt;(.*)&amp;lt;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
#=======================================================================&lt;br /&gt;
&lt;br /&gt;
class Enum(set):&lt;br /&gt;
   pass&lt;br /&gt;
&lt;br /&gt;
   #-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
   def __getattr__(self, name):&lt;br /&gt;
      if name in self:&lt;br /&gt;
         return name&lt;br /&gt;
      raise AttributeError&lt;br /&gt;
&lt;br /&gt;
#=======================================================================&lt;br /&gt;
&lt;br /&gt;
def load_customers(name=None):&lt;br /&gt;
   if not name:&lt;br /&gt;
      return None&lt;br /&gt;
&lt;br /&gt;
   file_path = &amp;#039;data/%s.csv&amp;#039; % name&lt;br /&gt;
&lt;br /&gt;
   try:&lt;br /&gt;
      f_in = open(file_path, &amp;#039;r&amp;#039;)&lt;br /&gt;
   except IOError, msg:&lt;br /&gt;
      sys.stderr.write(f + &amp;#039;: cannot open: &amp;#039; + `msg` + &amp;#039;\n&amp;#039;)&lt;br /&gt;
      sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
   line_cnt    = 0&lt;br /&gt;
   no_events   = 0&lt;br /&gt;
   events      = []&lt;br /&gt;
&lt;br /&gt;
   while True:&lt;br /&gt;
      line = f_in.readline()&lt;br /&gt;
&lt;br /&gt;
      if not line: break&lt;br /&gt;
&lt;br /&gt;
      line = line[:-1]&lt;br /&gt;
&lt;br /&gt;
      customer = DbCustomer()&lt;br /&gt;
&lt;br /&gt;
      customer.fromCsv(line)&lt;br /&gt;
&lt;br /&gt;
      line_cnt += 1&lt;br /&gt;
&lt;br /&gt;
      customers.append(customer)&lt;br /&gt;
&lt;br /&gt;
   f_in.close()&lt;br /&gt;
&lt;br /&gt;
   return customers&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def db_load(db_name, names=None):&lt;br /&gt;
   global wrk_dir&lt;br /&gt;
&lt;br /&gt;
   if not names:&lt;br /&gt;
      return False&lt;br /&gt;
&lt;br /&gt;
   wrk_dir = os.getcwd()&lt;br /&gt;
&lt;br /&gt;
   session = SqliteDB(db_name)&lt;br /&gt;
&lt;br /&gt;
   session.Drop(&amp;#039;Customer&amp;#039;)&lt;br /&gt;
   session.Create(&amp;#039;Customer&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
   for name in names:&lt;br /&gt;
      rows = load_customers(name)&lt;br /&gt;
&lt;br /&gt;
      for row in rows:&lt;br /&gt;
         session.Insert(row)&lt;br /&gt;
&lt;br /&gt;
   session.Close()&lt;br /&gt;
 &lt;br /&gt;
   return True&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def create(db_name, table):&lt;br /&gt;
   session = SqliteDB(db_name)&lt;br /&gt;
&lt;br /&gt;
   session.Create(table)&lt;br /&gt;
&lt;br /&gt;
   session.Close()&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def drop(db_name, table):&lt;br /&gt;
   session = SqliteDB(db_name)&lt;br /&gt;
&lt;br /&gt;
   session.Drop(table)&lt;br /&gt;
&lt;br /&gt;
   session.Close()&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def schema(db_name):&lt;br /&gt;
   session = SqliteDB(db_name)&lt;br /&gt;
&lt;br /&gt;
   session.Schema()&lt;br /&gt;
&lt;br /&gt;
   session.Close()&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def pick(db_name, table, no=10):&lt;br /&gt;
   session = SqliteDB(db_name)&lt;br /&gt;
&lt;br /&gt;
   cust_list = session.SelectOkToSetup(table, no)&lt;br /&gt;
&lt;br /&gt;
   session.Close()&lt;br /&gt;
&lt;br /&gt;
   for cust in cust_list:&lt;br /&gt;
      print cust&lt;br /&gt;
&lt;br /&gt;
   return list&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
   global debug_lvl&lt;br /&gt;
   global quiet_flg, verbose_flg&lt;br /&gt;
   global f_log&lt;br /&gt;
&lt;br /&gt;
   try:&lt;br /&gt;
      username = os.environ[&amp;#039;USER&amp;#039;]&lt;br /&gt;
   except:&lt;br /&gt;
      print &amp;quot;Set USER environment variable and re-run&amp;quot;&lt;br /&gt;
      sys.exit(0)&lt;br /&gt;
&lt;br /&gt;
   try:&lt;br /&gt;
      opts, args = getopt.getopt(sys.argv[1:], &amp;quot;C:dD:f:IlL:o:P:qstvVw:X:?&amp;quot;)&lt;br /&gt;
   except getopt.error, msg:&lt;br /&gt;
      print __doc__&lt;br /&gt;
      return 1&lt;br /&gt;
&lt;br /&gt;
   Modes = Enum([&amp;quot;Create&amp;quot;, &amp;quot;Drop&amp;quot;, &amp;quot;List&amp;quot;, &amp;quot;Load&amp;quot;, &amp;quot;Pick&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   customers  = None&lt;br /&gt;
   names      = []&lt;br /&gt;
   log_flg    = False&lt;br /&gt;
   db_name    = DB_NAME&lt;br /&gt;
   mode       = None&lt;br /&gt;
   tables     = []&lt;br /&gt;
&lt;br /&gt;
   for opt, arg in opts:&lt;br /&gt;
      if opt == &amp;#039;-d&amp;#039;:&lt;br /&gt;
         debug_lvl       += 1&lt;br /&gt;
      elif opt == &amp;#039;-D&amp;#039;:&lt;br /&gt;
         debug_lvl        = int(arg)&lt;br /&gt;
      elif opt == &amp;#039;-C&amp;#039;:&lt;br /&gt;
         tables.append(arg)&lt;br /&gt;
         mode             = Modes.Create&lt;br /&gt;
      elif opt == &amp;#039;-f&amp;#039;:&lt;br /&gt;
         fname            = arg&lt;br /&gt;
      elif opt == &amp;#039;-I&amp;#039;:&lt;br /&gt;
         mode             = Modes.Create&lt;br /&gt;
         tables           = pcms.Tables&lt;br /&gt;
      elif opt == &amp;#039;-l&amp;#039;:&lt;br /&gt;
         log_flg          = True&lt;br /&gt;
      elif opt == &amp;#039;-L&amp;#039;:&lt;br /&gt;
         file_name        = arg&lt;br /&gt;
         mode             = Modes.Load&lt;br /&gt;
      elif opt == &amp;#039;-n&amp;#039;:&lt;br /&gt;
         db_name          = arg&lt;br /&gt;
      elif opt == &amp;#039;-o&amp;#039;:&lt;br /&gt;
         orig             = arg&lt;br /&gt;
      elif opt == &amp;#039;-P&amp;#039;:&lt;br /&gt;
         table            = arg&lt;br /&gt;
         mode             = Modes.Pick&lt;br /&gt;
      elif opt == &amp;#039;-q&amp;#039;:&lt;br /&gt;
         quiet_flg        = True&lt;br /&gt;
      elif opt == &amp;#039;-w&amp;#039;:&lt;br /&gt;
         names.append(arg)&lt;br /&gt;
      elif opt == &amp;#039;-s&amp;#039;:&lt;br /&gt;
         schema(db_name)&lt;br /&gt;
         return 0&lt;br /&gt;
      elif opt == &amp;#039;-t&amp;#039;:&lt;br /&gt;
         names.append(&amp;#039;TST&amp;#039;)&lt;br /&gt;
      elif opt == &amp;#039;-v&amp;#039;:&lt;br /&gt;
         verbose_flg      = True&lt;br /&gt;
      elif opt == &amp;#039;-V&amp;#039;:&lt;br /&gt;
         print &amp;quot;Version: %s&amp;quot; % __version__&lt;br /&gt;
         return 0&lt;br /&gt;
      elif opt == &amp;#039;-X&amp;#039;:&lt;br /&gt;
         table            = arg&lt;br /&gt;
         mode             = Modes.Drop&lt;br /&gt;
      elif opt == &amp;#039;-?&amp;#039;:&lt;br /&gt;
         print __doc__&lt;br /&gt;
         return 0&lt;br /&gt;
&lt;br /&gt;
   if log_flg:&lt;br /&gt;
      try:&lt;br /&gt;
         f_log = open(&amp;#039;loader.log&amp;#039;, &amp;#039;a+&amp;#039;)&lt;br /&gt;
      except IOError, msg:&lt;br /&gt;
         sys.stderr.write(f + &amp;#039;: cannot open: &amp;#039; + `msg` + &amp;#039;\n&amp;#039;)&lt;br /&gt;
         sys.exit(1)&lt;br /&gt;
&lt;br /&gt;
   if verbose_flg:  print &amp;quot;&amp;gt;&amp;gt;&amp;gt; %s&amp;quot; % mode&lt;br /&gt;
&lt;br /&gt;
   if mode == Modes.Create:&lt;br /&gt;
      for table in tables:&lt;br /&gt;
         create(db_name, table)&lt;br /&gt;
   elif mode == Modes.Drop:&lt;br /&gt;
      drop(db_name, table)&lt;br /&gt;
   elif mode == Modes.Load:&lt;br /&gt;
      db_load(db_name, [file_name, ])&lt;br /&gt;
   elif mode == Modes.List:&lt;br /&gt;
      pass&lt;br /&gt;
   elif mode == Modes.Pick:&lt;br /&gt;
      customers = pick(db_name, table)&lt;br /&gt;
&lt;br /&gt;
   return 0&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039; or __name__ == sys.argv[0]:&lt;br /&gt;
   sys.exit(main())&lt;br /&gt;
&lt;br /&gt;
#-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Revision History:&lt;br /&gt;
&lt;br /&gt;
     Date     Who   Description&lt;br /&gt;
   --------   ---   --------------------------------------------------&lt;br /&gt;
   20110612   plh   Initial implementation&lt;br /&gt;
&lt;br /&gt;
Problems to fix:&lt;br /&gt;
&lt;br /&gt;
To Do:&lt;br /&gt;
&lt;br /&gt;
Issues:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sqlite Help:&lt;br /&gt;
&lt;br /&gt;
   .backup ?DB? FILE      Backup DB (default &amp;quot;main&amp;quot;) to FILE&lt;br /&gt;
   .bail ON|OFF           Stop after hitting an error.  Default OFF&lt;br /&gt;
   .databases             List names and files of attached databases&lt;br /&gt;
   .dump ?TABLE? ...      Dump the database in an SQL text format&lt;br /&gt;
                            If TABLE specified, only dump tables matching&lt;br /&gt;
                            LIKE pattern TABLE.&lt;br /&gt;
   .echo ON|OFF           Turn command echo on or off&lt;br /&gt;
   .exit                  Exit this program&lt;br /&gt;
   .explain ?ON|OFF?      Turn output mode suitable for EXPLAIN on or off.&lt;br /&gt;
                            With no args, it turns EXPLAIN on.&lt;br /&gt;
   .header(s) ON|OFF      Turn display of headers on or off&lt;br /&gt;
   .help                  Show this message&lt;br /&gt;
   .import FILE TABLE     Import data from FILE into TABLE&lt;br /&gt;
   .indices ?TABLE?       Show names of all indices&lt;br /&gt;
                            If TABLE specified, only show indices for tables&lt;br /&gt;
                            matching LIKE pattern TABLE.&lt;br /&gt;
   .load FILE ?ENTRY?     Load an extension library&lt;br /&gt;
   .log FILE|off          Turn logging on or off.  FILE can be stderr/stdout&lt;br /&gt;
   .mode MODE ?TABLE?     Set output mode where MODE is one of:&lt;br /&gt;
                            csv      Comma-separated values&lt;br /&gt;
                            column   Left-aligned columns.  (See .width)&lt;br /&gt;
                            html     HTML &amp;lt;table&amp;gt; code&lt;br /&gt;
                            insert   SQL insert statements for TABLE&lt;br /&gt;
                            line     One value per line&lt;br /&gt;
                            list     Values delimited by .separator string&lt;br /&gt;
                            tabs     Tab-separated values&lt;br /&gt;
                            tcl      TCL list elements&lt;br /&gt;
   .nullvalue STRING      Print STRING in place of NULL values&lt;br /&gt;
   .output FILENAME       Send output to FILENAME&lt;br /&gt;
   .output stdout         Send output to the screen&lt;br /&gt;
   .prompt MAIN CONTINUE  Replace the standard prompts&lt;br /&gt;
   .quit                  Exit this program&lt;br /&gt;
   .read FILENAME         Execute SQL in FILENAME&lt;br /&gt;
   .restore ?DB? FILE     Restore content of DB (default &amp;quot;main&amp;quot;) from FILE&lt;br /&gt;
   .schema ?TABLE?        Show the CREATE statements&lt;br /&gt;
                            If TABLE specified, only show tables matching&lt;br /&gt;
                            LIKE pattern TABLE.&lt;br /&gt;
   .separator STRING      Change separator used by output mode and .import&lt;br /&gt;
   .show                  Show the current values for various settings&lt;br /&gt;
   .stats ON|OFF          Turn stats on or off&lt;br /&gt;
   .tables ?TABLE?        List names of tables&lt;br /&gt;
                            If TABLE specified, only list tables matching&lt;br /&gt;
                            LIKE pattern TABLE.&lt;br /&gt;
   .timeout MS            Try opening locked tables for MS milliseconds&lt;br /&gt;
   .width NUM1 NUM2 ...   Set column widths for &amp;quot;column&amp;quot; mode&lt;br /&gt;
   .timer ON|OFF          Turn the CPU timer measurement on or off&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Sqlite]]&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>