本文整理汇总了Python中index.Index.parseColumnNamesFromString方法的典型用法代码示例。如果您正苦于以下问题:Python Index.parseColumnNamesFromString方法的具体用法?Python Index.parseColumnNamesFromString怎么用?Python Index.parseColumnNamesFromString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类index.Index
的用法示例。
在下文中一共展示了Index.parseColumnNamesFromString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parseCreateTableString
# 需要导入模块: from index import Index [as 别名]
# 或者: from index.Index import parseColumnNamesFromString [as 别名]
def parseCreateTableString(self, createTableString):
createTablePattern = re.compile('CREATE TABLE `(?P<name>[a-z_]+)` \((?P<columns>.*?)\) ENGINE=(?P<engine>[a-z]+) (AUTO_INCREMENT=(?P<autoincrement>\d+) )?DEFAULT CHARSET=(?P<charset>[a-z\d]+)',
re.IGNORECASE | re.DOTALL)
matches = createTablePattern.match(createTableString)
if matches is None:
print "Error:\n" + createTableString
columns = matches.group('columns').strip().split("\n")
for index, column in enumerate(columns):
column = column.strip()
column = column.strip(',')
primaryKeyMatch = re.match("^(PRIMARY KEY \((?P<columns>.*)\))", column)
uniqueKeyMatch = re.match("^(UNIQUE KEY `(?P<key_name>.*?)` \((?P<columns>.*)\))", column)
keyMatch = re.match("^(KEY `(?P<key_name>.*?)` \((?P<columns>.*)\))", column)
if primaryKeyMatch is not None:
indexColumns = self.columnStringsToObjects(Index.parseColumnNamesFromString(primaryKeyMatch.group('columns')))
self.indexes.append(Index('PRIMARY', 'PRIMARY', indexColumns))
elif uniqueKeyMatch is not None:
indexColumns = self.columnStringsToObjects(Index.parseColumnNamesFromString(uniqueKeyMatch.group('columns')))
self.indexes.append(Index('UNIQUE', uniqueKeyMatch.group('key_name'), indexColumns))
elif keyMatch is not None:
indexColumns = self.columnStringsToObjects(Index.parseColumnNamesFromString(keyMatch.group('columns')))
self.indexes.append(Index('KEY', keyMatch.group('key_name'), indexColumns))
else:
self.columns.append(Column.fromString(column))
self.name = matches.group('name')
self.autoincrement = matches.group('autoincrement')