如何判斷mysql數(shù)據(jù)庫已經(jīng)存在?
我學(xué)習(xí)有兩個(gè)問題想問下:
①我跟老師用的數(shù)據(jù)庫軟件不一樣,我用的是mysql官方的,創(chuàng)建表時(shí)長度、主鍵和自增都設(shè)置了,但是插入數(shù)據(jù)時(shí)提示id沒有默認(rèn)值。
②如何在創(chuàng)建數(shù)據(jù)庫前,判斷數(shù)據(jù)庫是否存在,我嘗試用以下sql語句判斷
CREATE?DATABASE?IF?NOT?EXISTS?testdb
但是第二次運(yùn)行時(shí)提示數(shù)據(jù)庫已存在的警告,那么?IF NOT EXISTS根本沒起作用啊!請問應(yīng)該怎么判斷?后來用了網(wǎng)上一個(gè)方法成功了,但是感覺有點(diǎn)曲線救國:
if?not?cursor.execute("SELECT?*?FROM?information_schema.SCHEMATA?where?SCHEMA_NAME='testdb'"): ????sql_create_db?=?"create?database?testdb" ????cursor.execute(sql_create_db)
搜了一晚上都無果,請問應(yīng)該怎么正確判斷數(shù)據(jù)庫或表是否存在?