mysql查询数据库所有表,删除所有表外键,清空所有表数据

####mysql命令登录数据库
	1.mysql -u root -ppassword
	2.mysql -u root -p
	  Enter password:****提示输入密码
	3.mysql -h localhost -u root -ppassword
	4.mysql -h 127.0.0.1 -u root -ppassword
	5.-p参数和密码中间不能有间隔

####mysql数据库信息查看
	1.show databases;查看数据库
	2.use [数据库名] ;使用xx数据库
	3.CREATE DATABASE [数据库名];创建一个数据库
	4.show tables;查看当前库里的表
	5.CREATE TABLE [表名]
		([字段名] [类型], [字段名] [类型]);
	6.DESCRIBE [表名] ;显示表结构
	7.source d:/mysql.sql; 导入sql文件
	
##########mysql查询某个库所有表的外键生成删除外键sql
SELECT 
	CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;') 
FROM 
	information_schema.TABLE_CONSTRAINTS c 
WHERE 
	c.TABLE_SCHEMA='db_rule_dto_test' AND c.CONSTRAINT_TYPE='FOREIGN KEY';
	
##########mysql生成某个库清空所有表的sql
SELECT 
	CONCAT('TRUNCATE TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' ;') 
FROM 
	information_schema.TABLE_CONSTRAINTS c 
WHERE 
	c.TABLE_SCHEMA='db_rule_dto_test';
	
-- 禁用外键约束
SET FOREIGN_KEY_CHECKS = 0
-- 启用外键约束
SET FOREIGN_KEY_CHECKS = 1;
由于FOREIGN_KEY_CHECKS是基于session的,当关闭了session重新建立连接,这个变量就会恢复默认值,
也就是开启外键约束,当然我们也可以全局的FOREIGN_KEY_CHECKS变量。
SET GLOBAL FOREIGN_KEY_CHECKS = 0;
	
生成批量操作表的sql
SELECT 
	CONCAT('[caozuo] TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' ;') 
FROM 
	information_schema.TABLE_CONSTRAINTS ;

 

posted @ 2018-12-18 10:48  蜜獾互联网  阅读(13)  评论(0编辑  收藏  举报  来源