Python 커넥터를 사용하여 MySQL의 테이블/데이터베이스가 이미 존재하는지 확인하는 방법은 무엇입니까?
P粉242535777
2023-08-28 13:31:54
<p>그래서 저는 데이터베이스 이름, 테이블 이름, 테이블 구조(열 이름), 데이터 등 모든 것에 대해 사용자로부터 입력을 받아 다양한 추가, 삭제, 업데이트 및 기타 작업을 수행하는 프로그램을 만들고 싶습니다. 기능. 하지만 사용자가 입력한 테이블/데이터베이스가 이미 존재하는지 확인할 수 없습니다. 다음 코드를 사용해 보았습니다. </p>
<pre class="brush:php;toolbar:false;">def create_table():
table_in_database=input('이 테이블을 생성하려는 데이터베이스의 이름을 입력하세요:')
x=mysql.connect(호스트=host_name,user=user_name,password=user_password,database=table_in_database)
y=x.cursor()
y.fetchall()의 table_in_database인 경우:
name_table=input('생성할 테이블의 이름을 입력하세요:')
y.fetchall()의 name_table인 경우:
print('테이블이 이미 존재합니다. 다른 이름을 사용하거나 기존 테이블을 사용하세요.')
또 다른:
table_structure=tuple(input('테이블의 구조/행 이름을 입력하세요(쉼표로 구분):'))
y.execute('테이블 생성 '+name_table+''+table_structure+'')
print('table', name_table, '성공적으로 생성됨')
x.커밋()
또 다른:
print('데이터베이스', table_in_database, '존재하지 않습니다')</pre>
<p>하지만 y.fetchall()을 수행하는 데 실패했기 때문에 y.fetchall()을 사용하는 대신 모든 데이터베이스를 표시하는 다른 함수 show_database()를 사용해 보았지만 NoneType 오류가 발생했습니다. 테이블/데이터베이스가 존재하는지 확인할 수 있는 방법이 있습니까? </p>
데이터베이스에 연결하고 쿼리를 실행하면
으아악SHOW TABLES;
해당 데이터베이스의 모든 테이블 목록이 반환됩니다.기준을 사용하여 검색을 구체화할 수 있습니다:
데이터베이스와 일치하도록 열 이름을 수정해야 합니다.
으아악