1.查询所有的数据库名:
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA;
2.取得所有数据表名:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='base table';
3.获取指定数据库所有表名:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='数据库名';
4.获取指定数据表列名:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='表名';
5.获取指定数据库中指定表的列信息:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名';
COLUMN_NAME 列名
COLUMN_DEFAULT 默认值[值,NULL]
IS_NULLABLE 是否允许为空[YES,NO]
COLUMN_TYPE 数据类型
EXTRA 是否自增[,auto_increment]
COLUMN_COMMENT 注释
7.同服务器跨数据库拷贝数据(表数据结构相同):
INSERT INTO 数据库A.目标表名 SELECT * FROM 数据库B.源表名;
8.同服务器同数据库拷贝数据,按字段(表数据结构相同):
INSERT INTO 目标表(字段1,字段2) SELECT 字段1,字段2 FROM 来源表;
9.只导入目标表不存在的记录(多条):
INSERT INTO 目标表 (字段1,字段2) SELECT 字段1,字段2 FROM 来源表 WHERE NOT EXISTS (SELECT * FROM 目标表 WHERE 目标表.字段1=来源表.字段1);
10.修改字段数据类型(注意,修改时如果不带完整性约束条件,原有的约束条件将丢失,如果想保留修改时就得带上完整性约束条件)
ALTER TABLE TABLE_NAME MODIFY COLUMN 字段名称 字段类型 [完整性约束条件];