问答详情
源自:4-1 存储数据到MySQL

如何判断mysql数据库已经存在?

我学习有两个问题想问下:

①我跟老师用的数据库软件不一样,我用的是mysql官方的,创建表时长度、主键和自增都设置了,但是插入数据时提示id没有默认值。

②如何在创建数据库前,判断数据库是否存在,我尝试用以下sql语句判断

CREATE DATABASE IF NOT EXISTS testdb

但是第二次运行时提示数据库已存在的警告,那么 IF NOT EXISTS根本没起作用啊!请问应该怎么判断?后来用了网上一个方法成功了,但是感觉有点曲线救国:

if not cursor.execute("SELECT * FROM information_schema.SCHEMATA where SCHEMA_NAME='testdb'"):
    sql_create_db = "create database testdb"
    cursor.execute(sql_create_db)

搜了一晚上都无果,请问应该怎么正确判断数据库或表是否存在?

提问者:phoenixor 2017-04-02 00:22

个回答