
可以使用drop table if exists 表名。
如果只是需要查询需要的表,可以使用命令show tables查看当前数据库中的所有表
show databases可以查看当前用户中的所有数据库
use 数据库名改变当前数据库
SELECT count( * )FROM information_schema.TABLES
WHERE table_name = 'table name'
AND TABLE_SCHEMA = 'database name'
判断字段是否存在:DROP
PROCEDURE
IF
EXISTS
schema_change
DELIMITER
//
CREATE
PROCEDURE
schema_change()
BEGIN
DECLARE
CurrentDatabase
VARCHAR()
SELECT
DATABASE()
INTO
CurrentDatabase
IF
NOT
EXISTS
(SELECT
*
FROM
information_schema.columns
WHERE
table_schema=CurrentDatabase
AND
table_name
=
'rtc_order'
AND
column_name
=
'IfUpSend')
THEN
ALTER
TABLE
rtc_order
ADD
COLUMN
`IfUpSend`
BIT
NOT
NULL
DEFAULT
COMMENT
'是否上传
是否上传'
END
IF
END//
DELIMITER
CALL
schema_change()
判断索引是否存在:
DROP
PROCEDURE
IF
EXISTS
schema_change
DELIMITER
//
CREATE
PROCEDURE
schema_change()
BEGIN
DECLARE
CurrentDatabase
VARCHAR()
SELECT
DATABASE()
INTO
CurrentDatabase
IF
NOT
EXISTS
(SELECT
*
FROM
information_schema.statistics
WHERE
table_schema=CurrentDatabase
AND
table_name
=
'rtc_phototype'
AND
index_name
=
'index_name')
THEN
ALTER
TABLE
`rtc_Phototype`
ADD
INDEX
index_name
(
`imgtype`
)
END
IF
END//
DELIMITER
CALL
schema_change()
从这两段可以看出很多东西,具体可以自己试验一下
关于小编给大家介绍的Mysql判断表字段或索引是否存在的内容就给大家介绍到这里,希望对大家有所帮助!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)