sqlite附加数据库
附加数据库
ATTACH DATABASE file_name AS database_name
分离数据库
DETACH DATABASE database_name
"""附加与分离数据库
附加数据库
ATTACH DATABASE file_name AS database_name
分离数据库
DETACH DATABASE database_name
the statistics of this file:
lines(count) understand_level(h/m/l) classes(count) functions(count) fields(count)
000000000066 ----------------------l 00000000000000 0000000000000001 ~~~~~~~~~~~~~
"""
import time
import sqlite3
__author__ = '与C同行'
def print_pretty_outcome(cursor):
print('-' * 80)
all_outcome = cursor.fetchall()
for column_desc in cursor.description:
print(f'{column_desc[0]:<20}', end='')
print()
for item in all_outcome:
for cell in item:
try:
print(f'{cell:<20}', end='')
except TypeError:
cell = 'None'
print(f'{cell:<20}', end='')
print()
print('-' * 80)
print()
if __name__ == '__main__':
print(f'当前时间:{time.ctime()}')
print()
print('创建一个附加的数据库')
conn = sqlite3.connect('attach.db')
c = conn.cursor()
print('创建一个临时表格')
c.execute('''create table temp1_tb(
first_col text,
second_col text)''')
c.executemany('insert into temp1_tb values (?, ?)',
(('aa', 'bb'),
('cc', 'dd')))
conn.commit()
c.close()
conn.close()
print()
conn = sqlite3.connect('learn.db')
c = conn.cursor()
print('附加attach数据库')
c.execute('attach database "attach.db" as "attach_db"')
print('查询附加数据库中的数据')
c.execute('select * from temp1_tb')
print_pretty_outcome(c)
print('分离数据库')
c.execute('detach database attach_db')
c.close()
conn.close()
附加数据库就是把两个数据库连接在一起,所以这样的操作是数据库之间的操作,以前的操作都是数据库之内的操作,这就是他们之间大的不同。
相关文章