1778 lines
		
	
	
		
			73 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			1778 lines
		
	
	
		
			73 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
DROP TABLE IF EXISTS t0,t1,t2,t3,t4,t5;
 | 
						|
DROP VIEW IF EXISTS v1;
 | 
						|
show variables where variable_name like "skip_show_database";
 | 
						|
Variable_name	Value
 | 
						|
skip_show_database	OFF
 | 
						|
grant select, update, execute on test.* to mysqltest_2@localhost;
 | 
						|
grant select, update on test.* to mysqltest_1@localhost;
 | 
						|
create user mysqltest_3@localhost;
 | 
						|
create user mysqltest_3;
 | 
						|
select * from information_schema.SCHEMATA where schema_name > 'm';
 | 
						|
CATALOG_NAME	SCHEMA_NAME	DEFAULT_CHARACTER_SET_NAME	DEFAULT_COLLATION_NAME	SQL_PATH
 | 
						|
NULL	mtr	latin1	latin1_swedish_ci	NULL
 | 
						|
NULL	mysql	latin1	latin1_swedish_ci	NULL
 | 
						|
NULL	test	latin1	latin1_swedish_ci	NULL
 | 
						|
select schema_name from information_schema.schemata;
 | 
						|
schema_name
 | 
						|
information_schema
 | 
						|
mtr
 | 
						|
mysql
 | 
						|
test
 | 
						|
show databases like 't%';
 | 
						|
Database (t%)
 | 
						|
test
 | 
						|
show databases;
 | 
						|
Database
 | 
						|
information_schema
 | 
						|
mtr
 | 
						|
mysql
 | 
						|
test
 | 
						|
show databases where `database` = 't%';
 | 
						|
Database
 | 
						|
create database mysqltest;
 | 
						|
create table mysqltest.t1(a int, b VARCHAR(30), KEY string_data (b));
 | 
						|
create table test.t2(a int);
 | 
						|
create table t3(a int, KEY a_data (a));
 | 
						|
create table mysqltest.t4(a int);
 | 
						|
create table t5 (id int auto_increment primary key);
 | 
						|
insert into t5 values (10);
 | 
						|
create view v1 (c) as
 | 
						|
SELECT table_name FROM information_schema.TABLES
 | 
						|
WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND
 | 
						|
table_name<>'ndb_binlog_index' AND
 | 
						|
table_name<>'ndb_apply_status';
 | 
						|
select * from v1;
 | 
						|
c
 | 
						|
CHARACTER_SETS
 | 
						|
COLLATIONS
 | 
						|
COLLATION_CHARACTER_SET_APPLICABILITY
 | 
						|
COLUMNS
 | 
						|
COLUMN_PRIVILEGES
 | 
						|
ENGINES
 | 
						|
EVENTS
 | 
						|
FILES
 | 
						|
GLOBAL_STATUS
 | 
						|
GLOBAL_VARIABLES
 | 
						|
KEY_COLUMN_USAGE
 | 
						|
PARTITIONS
 | 
						|
PLUGINS
 | 
						|
PROCESSLIST
 | 
						|
PROFILING
 | 
						|
REFERENTIAL_CONSTRAINTS
 | 
						|
ROUTINES
 | 
						|
SCHEMATA
 | 
						|
SCHEMA_PRIVILEGES
 | 
						|
SESSION_STATUS
 | 
						|
SESSION_VARIABLES
 | 
						|
STATISTICS
 | 
						|
TABLES
 | 
						|
TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES
 | 
						|
TRIGGERS
 | 
						|
USER_PRIVILEGES
 | 
						|
VIEWS
 | 
						|
columns_priv
 | 
						|
db
 | 
						|
event
 | 
						|
func
 | 
						|
general_log
 | 
						|
help_category
 | 
						|
help_keyword
 | 
						|
help_relation
 | 
						|
help_topic
 | 
						|
host
 | 
						|
plugin
 | 
						|
proc
 | 
						|
procs_priv
 | 
						|
servers
 | 
						|
slow_log
 | 
						|
tables_priv
 | 
						|
time_zone
 | 
						|
time_zone_leap_second
 | 
						|
time_zone_name
 | 
						|
time_zone_transition
 | 
						|
time_zone_transition_type
 | 
						|
user
 | 
						|
t1
 | 
						|
t4
 | 
						|
t2
 | 
						|
t3
 | 
						|
t5
 | 
						|
v1
 | 
						|
select c,table_name from v1
 | 
						|
inner join information_schema.TABLES v2 on (v1.c=v2.table_name)
 | 
						|
where v1.c like "t%";
 | 
						|
c	table_name
 | 
						|
TABLES	TABLES
 | 
						|
TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES	TABLE_PRIVILEGES
 | 
						|
TRIGGERS	TRIGGERS
 | 
						|
tables_priv	tables_priv
 | 
						|
time_zone	time_zone
 | 
						|
time_zone_leap_second	time_zone_leap_second
 | 
						|
time_zone_name	time_zone_name
 | 
						|
time_zone_transition	time_zone_transition
 | 
						|
time_zone_transition_type	time_zone_transition_type
 | 
						|
t1	t1
 | 
						|
t4	t4
 | 
						|
t2	t2
 | 
						|
t3	t3
 | 
						|
t5	t5
 | 
						|
select c,table_name from v1
 | 
						|
left join information_schema.TABLES v2 on (v1.c=v2.table_name)
 | 
						|
where v1.c like "t%";
 | 
						|
c	table_name
 | 
						|
TABLES	TABLES
 | 
						|
TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES	TABLE_PRIVILEGES
 | 
						|
TRIGGERS	TRIGGERS
 | 
						|
tables_priv	tables_priv
 | 
						|
time_zone	time_zone
 | 
						|
time_zone_leap_second	time_zone_leap_second
 | 
						|
time_zone_name	time_zone_name
 | 
						|
time_zone_transition	time_zone_transition
 | 
						|
time_zone_transition_type	time_zone_transition_type
 | 
						|
t1	t1
 | 
						|
t4	t4
 | 
						|
t2	t2
 | 
						|
t3	t3
 | 
						|
t5	t5
 | 
						|
select c, v2.table_name from v1
 | 
						|
right join information_schema.TABLES v2 on (v1.c=v2.table_name)
 | 
						|
where v1.c like "t%";
 | 
						|
c	table_name
 | 
						|
TABLES	TABLES
 | 
						|
TABLE_CONSTRAINTS	TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES	TABLE_PRIVILEGES
 | 
						|
TRIGGERS	TRIGGERS
 | 
						|
tables_priv	tables_priv
 | 
						|
time_zone	time_zone
 | 
						|
time_zone_leap_second	time_zone_leap_second
 | 
						|
time_zone_name	time_zone_name
 | 
						|
time_zone_transition	time_zone_transition
 | 
						|
time_zone_transition_type	time_zone_transition_type
 | 
						|
t1	t1
 | 
						|
t4	t4
 | 
						|
t2	t2
 | 
						|
t3	t3
 | 
						|
t5	t5
 | 
						|
select table_name from information_schema.TABLES
 | 
						|
where table_schema = "mysqltest" and table_name like "t%";
 | 
						|
table_name
 | 
						|
t1
 | 
						|
t4
 | 
						|
select * from information_schema.STATISTICS where TABLE_SCHEMA = "mysqltest";
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	NON_UNIQUE	INDEX_SCHEMA	INDEX_NAME	SEQ_IN_INDEX	COLUMN_NAME	COLLATION	CARDINALITY	SUB_PART	PACKED	NULLABLE	INDEX_TYPE	COMMENT
 | 
						|
NULL	mysqltest	t1	1	mysqltest	string_data	1	b	A	NULL	NULL	NULL	YES	BTREE	
 | 
						|
show keys from t3 where Key_name = "a_data";
 | 
						|
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
 | 
						|
t3	1	a_data	1	a	A	NULL	NULL	NULL	YES	BTREE	
 | 
						|
show tables like 't%';
 | 
						|
Tables_in_test (t%)
 | 
						|
t2
 | 
						|
t3
 | 
						|
t5
 | 
						|
show table status;
 | 
						|
Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
 | 
						|
t2	MyISAM	10	Fixed	0	0	0	#	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL		
 | 
						|
t3	MyISAM	10	Fixed	0	0	0	#	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL		
 | 
						|
t5	MyISAM	10	Fixed	1	7	7	#	2048	0	11	#	#	NULL	latin1_swedish_ci	NULL		
 | 
						|
v1	NULL	NULL	NULL	NULL	NULL	NULL	#	NULL	NULL	NULL	#	#	NULL	NULL	NULL	NULL	VIEW
 | 
						|
show full columns from t3 like "a%";
 | 
						|
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
 | 
						|
a	int(11)	NULL	YES	MUL	NULL		select,insert,update,references	
 | 
						|
show full columns from mysql.db like "Insert%";
 | 
						|
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
 | 
						|
Insert_priv	enum('N','Y')	utf8_general_ci	NO		N		select,insert,update,references	
 | 
						|
show full columns from v1;
 | 
						|
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
 | 
						|
c	varchar(64)	utf8_general_ci	NO				select,insert,update,references	
 | 
						|
select * from information_schema.COLUMNS where table_name="t1"
 | 
						|
and column_name= "a";
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	COLUMN_DEFAULT	IS_NULLABLE	DATA_TYPE	CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH	NUMERIC_PRECISION	NUMERIC_SCALE	CHARACTER_SET_NAME	COLLATION_NAME	COLUMN_TYPE	COLUMN_KEY	EXTRA	PRIVILEGES	COLUMN_COMMENT
 | 
						|
NULL	mysqltest	t1	a	1	NULL	YES	int	NULL	NULL	10	0	NULL	NULL	int(11)			select,insert,update,references	
 | 
						|
show columns from mysqltest.t1 where field like "%a%";
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
a	int(11)	YES		NULL	
 | 
						|
create view mysqltest.v1 (c) as select a from mysqltest.t1;
 | 
						|
grant select (a) on mysqltest.t1 to mysqltest_2@localhost;
 | 
						|
grant select on mysqltest.v1 to mysqltest_3;
 | 
						|
select table_name, column_name, privileges from information_schema.columns
 | 
						|
where table_schema = 'mysqltest' and table_name = 't1';
 | 
						|
table_name	column_name	privileges
 | 
						|
t1	a	select
 | 
						|
show columns from mysqltest.t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
a	int(11)	YES		NULL	
 | 
						|
select table_name, column_name, privileges from information_schema.columns
 | 
						|
where table_schema = 'mysqltest' and table_name = 'v1';
 | 
						|
table_name	column_name	privileges
 | 
						|
v1	c	select
 | 
						|
explain select * from v1;
 | 
						|
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
 | 
						|
drop view v1, mysqltest.v1;
 | 
						|
drop tables mysqltest.t4, mysqltest.t1, t2, t3, t5;
 | 
						|
drop database mysqltest;
 | 
						|
select * from information_schema.CHARACTER_SETS
 | 
						|
where CHARACTER_SET_NAME like 'latin1%';
 | 
						|
CHARACTER_SET_NAME	DEFAULT_COLLATE_NAME	DESCRIPTION	MAXLEN
 | 
						|
latin1	latin1_swedish_ci	cp1252 West European	1
 | 
						|
SHOW CHARACTER SET LIKE 'latin1%';
 | 
						|
Charset	Description	Default collation	Maxlen
 | 
						|
latin1	cp1252 West European	latin1_swedish_ci	1
 | 
						|
SHOW CHARACTER SET WHERE charset like 'latin1%';
 | 
						|
Charset	Description	Default collation	Maxlen
 | 
						|
latin1	cp1252 West European	latin1_swedish_ci	1
 | 
						|
select * from information_schema.COLLATIONS
 | 
						|
where COLLATION_NAME like 'latin1%';
 | 
						|
COLLATION_NAME	CHARACTER_SET_NAME	ID	IS_DEFAULT	IS_COMPILED	SORTLEN
 | 
						|
latin1_german1_ci	latin1	5		#	1
 | 
						|
latin1_swedish_ci	latin1	8	Yes	#	1
 | 
						|
latin1_danish_ci	latin1	15		#	1
 | 
						|
latin1_german2_ci	latin1	31		#	2
 | 
						|
latin1_bin	latin1	47		#	1
 | 
						|
latin1_general_ci	latin1	48		#	1
 | 
						|
latin1_general_cs	latin1	49		#	1
 | 
						|
latin1_spanish_ci	latin1	94		#	1
 | 
						|
SHOW COLLATION LIKE 'latin1%';
 | 
						|
Collation	Charset	Id	Default	Compiled	Sortlen
 | 
						|
latin1_german1_ci	latin1	5		#	1
 | 
						|
latin1_swedish_ci	latin1	8	Yes	#	1
 | 
						|
latin1_danish_ci	latin1	15		#	1
 | 
						|
latin1_german2_ci	latin1	31		#	2
 | 
						|
latin1_bin	latin1	47		#	1
 | 
						|
latin1_general_ci	latin1	48		#	1
 | 
						|
latin1_general_cs	latin1	49		#	1
 | 
						|
latin1_spanish_ci	latin1	94		#	1
 | 
						|
SHOW COLLATION WHERE collation like 'latin1%';
 | 
						|
Collation	Charset	Id	Default	Compiled	Sortlen
 | 
						|
latin1_german1_ci	latin1	5		#	1
 | 
						|
latin1_swedish_ci	latin1	8	Yes	#	1
 | 
						|
latin1_danish_ci	latin1	15		#	1
 | 
						|
latin1_german2_ci	latin1	31		#	2
 | 
						|
latin1_bin	latin1	47		#	1
 | 
						|
latin1_general_ci	latin1	48		#	1
 | 
						|
latin1_general_cs	latin1	49		#	1
 | 
						|
latin1_spanish_ci	latin1	94		#	1
 | 
						|
select * from information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
 | 
						|
where COLLATION_NAME like 'latin1%';
 | 
						|
COLLATION_NAME	CHARACTER_SET_NAME
 | 
						|
latin1_german1_ci	latin1
 | 
						|
latin1_swedish_ci	latin1
 | 
						|
latin1_danish_ci	latin1
 | 
						|
latin1_german2_ci	latin1
 | 
						|
latin1_bin	latin1
 | 
						|
latin1_general_ci	latin1
 | 
						|
latin1_general_cs	latin1
 | 
						|
latin1_spanish_ci	latin1
 | 
						|
drop procedure if exists sel2;
 | 
						|
drop function if exists sub1;
 | 
						|
drop function if exists sub2;
 | 
						|
create function sub1(i int) returns int
 | 
						|
return i+1;
 | 
						|
create procedure sel2()
 | 
						|
begin
 | 
						|
select * from t1;
 | 
						|
select * from t2;
 | 
						|
end|
 | 
						|
select parameter_style, sql_data_access, dtd_identifier
 | 
						|
from information_schema.routines where routine_schema='test';
 | 
						|
parameter_style	sql_data_access	dtd_identifier
 | 
						|
SQL	CONTAINS SQL	NULL
 | 
						|
SQL	CONTAINS SQL	int(11)
 | 
						|
show procedure status where db='test';
 | 
						|
Db	Name	Type	Definer	Modified	Created	Security_type	Comment	character_set_client	collation_connection	Database Collation
 | 
						|
test	sel2	PROCEDURE	root@localhost	#	#	DEFINER		latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
show function status where db='test';
 | 
						|
Db	Name	Type	Definer	Modified	Created	Security_type	Comment	character_set_client	collation_connection	Database Collation
 | 
						|
test	sub1	FUNCTION	root@localhost	#	#	DEFINER		latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
select a.ROUTINE_NAME from information_schema.ROUTINES a,
 | 
						|
information_schema.SCHEMATA b where
 | 
						|
a.ROUTINE_SCHEMA = b.SCHEMA_NAME AND b.SCHEMA_NAME='test';
 | 
						|
ROUTINE_NAME
 | 
						|
sel2
 | 
						|
sub1
 | 
						|
explain select a.ROUTINE_NAME from information_schema.ROUTINES a,
 | 
						|
information_schema.SCHEMATA b where
 | 
						|
a.ROUTINE_SCHEMA = b.SCHEMA_NAME;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	#	ALL	NULL	NULL	NULL	NULL	NULL	
 | 
						|
1	SIMPLE	#	ALL	NULL	NULL	NULL	NULL	NULL	Using where; Using join buffer
 | 
						|
select a.ROUTINE_NAME, b.name from information_schema.ROUTINES a,
 | 
						|
mysql.proc b where a.ROUTINE_NAME = convert(b.name using utf8) AND a.ROUTINE_SCHEMA='test' order by 1;
 | 
						|
ROUTINE_NAME	name
 | 
						|
sel2	sel2
 | 
						|
sub1	sub1
 | 
						|
select count(*) from information_schema.ROUTINES where routine_schema='test';
 | 
						|
count(*)
 | 
						|
2
 | 
						|
create view v1 as select routine_schema, routine_name from information_schema.routines where routine_schema='test'
 | 
						|
order by routine_schema, routine_name;
 | 
						|
select * from v1;
 | 
						|
routine_schema	routine_name
 | 
						|
test	sel2
 | 
						|
test	sub1
 | 
						|
drop view v1;
 | 
						|
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
show create function sub1;
 | 
						|
ERROR 42000: FUNCTION sub1 does not exist
 | 
						|
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
sel2	NULL
 | 
						|
sub1	NULL
 | 
						|
grant all privileges on test.* to mysqltest_1@localhost;
 | 
						|
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
sel2	NULL
 | 
						|
sub1	NULL
 | 
						|
create function sub2(i int) returns int
 | 
						|
return i+1;
 | 
						|
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
sel2	NULL
 | 
						|
sub1	NULL
 | 
						|
sub2	return i+1
 | 
						|
show create procedure sel2;
 | 
						|
Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
 | 
						|
sel2		NULL	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
show create function sub1;
 | 
						|
Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
 | 
						|
sub1		NULL	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
show create function sub2;
 | 
						|
Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
 | 
						|
sub2		CREATE DEFINER=`mysqltest_1`@`localhost` FUNCTION `sub2`(i int) RETURNS int(11)
 | 
						|
return i+1	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
show function status like "sub2";
 | 
						|
Db	Name	Type	Definer	Modified	Created	Security_type	Comment	character_set_client	collation_connection	Database Collation
 | 
						|
test	sub2	FUNCTION	mysqltest_1@localhost	#	#	DEFINER		latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
drop function sub2;
 | 
						|
show create procedure sel2;
 | 
						|
Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
 | 
						|
sel2		CREATE DEFINER=`root`@`localhost` PROCEDURE `sel2`()
 | 
						|
begin
 | 
						|
select * from t1;
 | 
						|
select * from t2;
 | 
						|
end	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
create view v0 (c) as select schema_name from information_schema.schemata;
 | 
						|
select * from v0;
 | 
						|
c
 | 
						|
information_schema
 | 
						|
mtr
 | 
						|
mysql
 | 
						|
test
 | 
						|
explain select * from v0;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	#	ALL	NULL	NULL	NULL	NULL	NULL	
 | 
						|
create view v1 (c) as select table_name from information_schema.tables
 | 
						|
where table_name="v1";
 | 
						|
select * from v1;
 | 
						|
c
 | 
						|
v1
 | 
						|
create view v2 (c) as select column_name from information_schema.columns
 | 
						|
where table_name="v2";
 | 
						|
select * from v2;
 | 
						|
c
 | 
						|
c
 | 
						|
create view v3 (c) as select CHARACTER_SET_NAME from information_schema.character_sets
 | 
						|
where CHARACTER_SET_NAME like "latin1%";
 | 
						|
select * from v3;
 | 
						|
c
 | 
						|
latin1
 | 
						|
create view v4 (c) as select COLLATION_NAME from information_schema.collations
 | 
						|
where COLLATION_NAME like "latin1%";
 | 
						|
select * from v4;
 | 
						|
c
 | 
						|
latin1_german1_ci
 | 
						|
latin1_swedish_ci
 | 
						|
latin1_danish_ci
 | 
						|
latin1_german2_ci
 | 
						|
latin1_bin
 | 
						|
latin1_general_ci
 | 
						|
latin1_general_cs
 | 
						|
latin1_spanish_ci
 | 
						|
show keys from v4;
 | 
						|
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
 | 
						|
select * from information_schema.views where TABLE_NAME like "v%";
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE	CHARACTER_SET_CLIENT	COLLATION_CONNECTION
 | 
						|
NULL	test	v0	select `schemata`.`SCHEMA_NAME` AS `c` from `information_schema`.`schemata`	NONE	NO	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v1	select `tables`.`TABLE_NAME` AS `c` from `information_schema`.`tables` where (`tables`.`TABLE_NAME` = 'v1')	NONE	NO	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v2	select `columns`.`COLUMN_NAME` AS `c` from `information_schema`.`columns` where (`columns`.`TABLE_NAME` = 'v2')	NONE	NO	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v3	select `character_sets`.`CHARACTER_SET_NAME` AS `c` from `information_schema`.`character_sets` where (`character_sets`.`CHARACTER_SET_NAME` like 'latin1%')	NONE	NO	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v4	select `collations`.`COLLATION_NAME` AS `c` from `information_schema`.`collations` where (`collations`.`COLLATION_NAME` like 'latin1%')	NONE	NO	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
drop view v0, v1, v2, v3, v4;
 | 
						|
create table t1 (a int);
 | 
						|
grant select,update,insert on t1 to mysqltest_1@localhost;
 | 
						|
grant select (a), update (a),insert(a), references(a) on t1 to mysqltest_1@localhost;
 | 
						|
grant all on test.* to mysqltest_1@localhost with grant option;
 | 
						|
select * from information_schema.USER_PRIVILEGES where grantee like '%mysqltest_1%';
 | 
						|
GRANTEE	TABLE_CATALOG	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'mysqltest_1'@'localhost'	NULL	USAGE	NO
 | 
						|
select * from information_schema.SCHEMA_PRIVILEGES where grantee like '%mysqltest_1%';
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	SELECT	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	INSERT	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	UPDATE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	DELETE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	CREATE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	DROP	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	REFERENCES	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	INDEX	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	ALTER	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	CREATE TEMPORARY TABLES	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	LOCK TABLES	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	EXECUTE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	CREATE VIEW	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	SHOW VIEW	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	CREATE ROUTINE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	ALTER ROUTINE	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	EVENT	YES
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	TRIGGER	YES
 | 
						|
select * from information_schema.TABLE_PRIVILEGES where grantee like '%mysqltest_1%';
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	SELECT	NO
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	INSERT	NO
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	UPDATE	NO
 | 
						|
select * from information_schema.COLUMN_PRIVILEGES where grantee like '%mysqltest_1%';
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	a	SELECT	NO
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	a	INSERT	NO
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	a	UPDATE	NO
 | 
						|
'mysqltest_1'@'localhost'	NULL	test	t1	a	REFERENCES	NO
 | 
						|
delete from mysql.user where user like 'mysqltest%';
 | 
						|
delete from mysql.db where user like 'mysqltest%';
 | 
						|
delete from mysql.tables_priv where user like 'mysqltest%';
 | 
						|
delete from mysql.columns_priv where user like 'mysqltest%';
 | 
						|
flush privileges;
 | 
						|
drop table t1;
 | 
						|
create table t1 (a int null, primary key(a));
 | 
						|
alter table t1 add constraint constraint_1 unique (a);
 | 
						|
alter table t1 add constraint unique key_1(a);
 | 
						|
alter table t1 add constraint constraint_2 unique key_2(a);
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `a` int(11) NOT NULL DEFAULT '0',
 | 
						|
  PRIMARY KEY (`a`),
 | 
						|
  UNIQUE KEY `constraint_1` (`a`),
 | 
						|
  UNIQUE KEY `key_1` (`a`),
 | 
						|
  UNIQUE KEY `key_2` (`a`)
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
 | 
						|
select * from information_schema.TABLE_CONSTRAINTS where
 | 
						|
TABLE_SCHEMA= "test";
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_SCHEMA	TABLE_NAME	CONSTRAINT_TYPE
 | 
						|
NULL	test	PRIMARY	test	t1	PRIMARY KEY
 | 
						|
NULL	test	constraint_1	test	t1	UNIQUE
 | 
						|
NULL	test	key_1	test	t1	UNIQUE
 | 
						|
NULL	test	key_2	test	t1	UNIQUE
 | 
						|
select * from information_schema.KEY_COLUMN_USAGE where
 | 
						|
TABLE_SCHEMA= "test";
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	POSITION_IN_UNIQUE_CONSTRAINT	REFERENCED_TABLE_SCHEMA	REFERENCED_TABLE_NAME	REFERENCED_COLUMN_NAME
 | 
						|
NULL	test	PRIMARY	NULL	test	t1	a	1	NULL	NULL	NULL	NULL
 | 
						|
NULL	test	constraint_1	NULL	test	t1	a	1	NULL	NULL	NULL	NULL
 | 
						|
NULL	test	key_1	NULL	test	t1	a	1	NULL	NULL	NULL	NULL
 | 
						|
NULL	test	key_2	NULL	test	t1	a	1	NULL	NULL	NULL	NULL
 | 
						|
select table_name from information_schema.TABLES where table_schema like "test%";
 | 
						|
table_name
 | 
						|
t1
 | 
						|
select table_name,column_name from information_schema.COLUMNS where table_schema like "test%";
 | 
						|
table_name	column_name
 | 
						|
t1	a
 | 
						|
select ROUTINE_NAME from information_schema.ROUTINES;
 | 
						|
ROUTINE_NAME
 | 
						|
sel2
 | 
						|
sub1
 | 
						|
delete from mysql.user where user='mysqltest_1';
 | 
						|
drop table t1;
 | 
						|
drop procedure sel2;
 | 
						|
drop function sub1;
 | 
						|
create table t1(a int);
 | 
						|
create view v1 (c) as select a from t1 with check option;
 | 
						|
create view v2 (c) as select a from t1 WITH LOCAL CHECK OPTION;
 | 
						|
create view v3 (c) as select a from t1 WITH CASCADED CHECK OPTION;
 | 
						|
select * from information_schema.views;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE	CHARACTER_SET_CLIENT	COLLATION_CONNECTION
 | 
						|
NULL	test	v1	select `test`.`t1`.`a` AS `c` from `test`.`t1`	CASCADED	YES	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v2	select `test`.`t1`.`a` AS `c` from `test`.`t1`	LOCAL	YES	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v3	select `test`.`t1`.`a` AS `c` from `test`.`t1`	CASCADED	YES	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
grant select (a) on test.t1 to joe@localhost with grant option;
 | 
						|
select * from INFORMATION_SCHEMA.COLUMN_PRIVILEGES;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'joe'@'localhost'	NULL	test	t1	a	SELECT	YES
 | 
						|
select * from INFORMATION_SCHEMA.TABLE_PRIVILEGES;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
drop view v1, v2, v3;
 | 
						|
drop table t1;
 | 
						|
delete from mysql.user where user='joe';
 | 
						|
delete from mysql.db where user='joe';
 | 
						|
delete from mysql.tables_priv where user='joe';
 | 
						|
delete from mysql.columns_priv where user='joe';
 | 
						|
flush privileges;
 | 
						|
create table t1 (a int not null auto_increment,b int, primary key (a));
 | 
						|
insert into t1 values (1,1),(NULL,3),(NULL,4);
 | 
						|
select AUTO_INCREMENT from information_schema.tables where table_name = 't1';
 | 
						|
AUTO_INCREMENT
 | 
						|
4
 | 
						|
drop table t1;
 | 
						|
create table t1 (s1 int);
 | 
						|
insert into t1 values (0),(9),(0);
 | 
						|
select s1 from t1 where s1 in (select version from
 | 
						|
information_schema.tables) union select version from
 | 
						|
information_schema.tables;
 | 
						|
s1
 | 
						|
10
 | 
						|
drop table t1;
 | 
						|
SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets;
 | 
						|
Table	Create Table
 | 
						|
CHARACTER_SETS	CREATE TEMPORARY TABLE `CHARACTER_SETS` (
 | 
						|
  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
 | 
						|
  `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MEMORY DEFAULT CHARSET=utf8
 | 
						|
set names latin2;
 | 
						|
SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets;
 | 
						|
Table	Create Table
 | 
						|
CHARACTER_SETS	CREATE TEMPORARY TABLE `CHARACTER_SETS` (
 | 
						|
  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
 | 
						|
  `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MEMORY DEFAULT CHARSET=utf8
 | 
						|
set names latin1;
 | 
						|
create table t1 select * from information_schema.CHARACTER_SETS
 | 
						|
where CHARACTER_SET_NAME like "latin1";
 | 
						|
select * from t1;
 | 
						|
CHARACTER_SET_NAME	DEFAULT_COLLATE_NAME	DESCRIPTION	MAXLEN
 | 
						|
latin1	latin1_swedish_ci	cp1252 West European	1
 | 
						|
alter table t1 default character set utf8;
 | 
						|
show create table t1;
 | 
						|
Table	Create Table
 | 
						|
t1	CREATE TABLE `t1` (
 | 
						|
  `CHARACTER_SET_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DEFAULT_COLLATE_NAME` varchar(32) NOT NULL DEFAULT '',
 | 
						|
  `DESCRIPTION` varchar(60) NOT NULL DEFAULT '',
 | 
						|
  `MAXLEN` bigint(3) NOT NULL DEFAULT '0'
 | 
						|
) ENGINE=MyISAM DEFAULT CHARSET=utf8
 | 
						|
drop table t1;
 | 
						|
create view v1 as select * from information_schema.TABLES;
 | 
						|
drop view v1;
 | 
						|
create table t1(a NUMERIC(5,3), b NUMERIC(5,1), c float(5,2),
 | 
						|
d NUMERIC(6,4), e float, f DECIMAL(6,3), g int(11), h DOUBLE(10,3),
 | 
						|
i DOUBLE);
 | 
						|
select COLUMN_NAME,COLUMN_TYPE, CHARACTER_MAXIMUM_LENGTH,
 | 
						|
CHARACTER_OCTET_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE
 | 
						|
from information_schema.columns where table_name= 't1';
 | 
						|
COLUMN_NAME	COLUMN_TYPE	CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH	NUMERIC_PRECISION	NUMERIC_SCALE
 | 
						|
a	decimal(5,3)	NULL	NULL	5	3
 | 
						|
b	decimal(5,1)	NULL	NULL	5	1
 | 
						|
c	float(5,2)	NULL	NULL	5	2
 | 
						|
d	decimal(6,4)	NULL	NULL	6	4
 | 
						|
e	float	NULL	NULL	12	NULL
 | 
						|
f	decimal(6,3)	NULL	NULL	6	3
 | 
						|
g	int(11)	NULL	NULL	10	0
 | 
						|
h	double(10,3)	NULL	NULL	10	3
 | 
						|
i	double	NULL	NULL	22	NULL
 | 
						|
drop table t1;
 | 
						|
create table t115 as select table_name, column_name, column_type
 | 
						|
from information_schema.columns where table_name = 'proc';
 | 
						|
select * from t115;
 | 
						|
table_name	column_name	column_type
 | 
						|
proc	db	char(64)
 | 
						|
proc	name	char(64)
 | 
						|
proc	type	enum('FUNCTION','PROCEDURE')
 | 
						|
proc	specific_name	char(64)
 | 
						|
proc	language	enum('SQL')
 | 
						|
proc	sql_data_access	enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA')
 | 
						|
proc	is_deterministic	enum('YES','NO')
 | 
						|
proc	security_type	enum('INVOKER','DEFINER')
 | 
						|
proc	param_list	blob
 | 
						|
proc	returns	longblob
 | 
						|
proc	body	longblob
 | 
						|
proc	definer	char(77)
 | 
						|
proc	created	timestamp
 | 
						|
proc	modified	timestamp
 | 
						|
proc	sql_mode	set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH')
 | 
						|
proc	comment	char(64)
 | 
						|
proc	character_set_client	char(32)
 | 
						|
proc	collation_connection	char(32)
 | 
						|
proc	db_collation	char(32)
 | 
						|
proc	body_utf8	longblob
 | 
						|
drop table t115;
 | 
						|
create procedure p108 () begin declare c cursor for select data_type
 | 
						|
from information_schema.columns;  open c; open c; end;//
 | 
						|
call p108()//
 | 
						|
ERROR 24000: Cursor is already open
 | 
						|
drop procedure p108;
 | 
						|
create view v1 as select A1.table_name from information_schema.TABLES A1
 | 
						|
where table_name= "user";
 | 
						|
select * from v1;
 | 
						|
table_name
 | 
						|
user
 | 
						|
drop view v1;
 | 
						|
create view vo as select 'a' union select 'a';
 | 
						|
show index from vo;
 | 
						|
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
 | 
						|
select * from information_schema.TABLE_CONSTRAINTS where
 | 
						|
TABLE_NAME= "vo";
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_SCHEMA	TABLE_NAME	CONSTRAINT_TYPE
 | 
						|
select * from information_schema.KEY_COLUMN_USAGE where
 | 
						|
TABLE_NAME= "vo";
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	POSITION_IN_UNIQUE_CONSTRAINT	REFERENCED_TABLE_SCHEMA	REFERENCED_TABLE_NAME	REFERENCED_COLUMN_NAME
 | 
						|
drop view vo;
 | 
						|
select TABLE_NAME,TABLE_TYPE,ENGINE
 | 
						|
from information_schema.tables
 | 
						|
where table_schema='information_schema' limit 2;
 | 
						|
TABLE_NAME	TABLE_TYPE	ENGINE
 | 
						|
CHARACTER_SETS	SYSTEM VIEW	MEMORY
 | 
						|
COLLATIONS	SYSTEM VIEW	MEMORY
 | 
						|
show tables from information_schema like "T%";
 | 
						|
Tables_in_information_schema (T%)
 | 
						|
TABLES
 | 
						|
TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES
 | 
						|
TRIGGERS
 | 
						|
create database information_schema;
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
use information_schema;
 | 
						|
show full tables like "T%";
 | 
						|
Tables_in_information_schema (T%)	Table_type
 | 
						|
TABLES	SYSTEM VIEW
 | 
						|
TABLE_CONSTRAINTS	SYSTEM VIEW
 | 
						|
TABLE_PRIVILEGES	SYSTEM VIEW
 | 
						|
TRIGGERS	SYSTEM VIEW
 | 
						|
create table t1(a int);
 | 
						|
ERROR 42S02: Unknown table 't1' in information_schema
 | 
						|
use test;
 | 
						|
show tables;
 | 
						|
Tables_in_test
 | 
						|
use information_schema;
 | 
						|
show tables like "T%";
 | 
						|
Tables_in_information_schema (T%)
 | 
						|
TABLES
 | 
						|
TABLE_CONSTRAINTS
 | 
						|
TABLE_PRIVILEGES
 | 
						|
TRIGGERS
 | 
						|
select table_name from tables where table_name='user';
 | 
						|
table_name
 | 
						|
user
 | 
						|
select column_name, privileges from columns
 | 
						|
where table_name='user' and column_name like '%o%';
 | 
						|
column_name	privileges
 | 
						|
Host	select,insert,update,references
 | 
						|
Password	select,insert,update,references
 | 
						|
Drop_priv	select,insert,update,references
 | 
						|
Reload_priv	select,insert,update,references
 | 
						|
Shutdown_priv	select,insert,update,references
 | 
						|
Process_priv	select,insert,update,references
 | 
						|
Show_db_priv	select,insert,update,references
 | 
						|
Lock_tables_priv	select,insert,update,references
 | 
						|
Show_view_priv	select,insert,update,references
 | 
						|
Create_routine_priv	select,insert,update,references
 | 
						|
Alter_routine_priv	select,insert,update,references
 | 
						|
max_questions	select,insert,update,references
 | 
						|
max_connections	select,insert,update,references
 | 
						|
max_user_connections	select,insert,update,references
 | 
						|
use test;
 | 
						|
create function sub1(i int) returns int
 | 
						|
return i+1;
 | 
						|
create table t1(f1 int);
 | 
						|
create view v2 (c) as select f1 from t1;
 | 
						|
create view v3 (c) as select sub1(1);
 | 
						|
create table t4(f1 int, KEY f1_key (f1));
 | 
						|
drop table t1;
 | 
						|
drop function sub1;
 | 
						|
select table_name from information_schema.views
 | 
						|
where table_schema='test';
 | 
						|
table_name
 | 
						|
v2
 | 
						|
v3
 | 
						|
select table_name from information_schema.views
 | 
						|
where table_schema='test';
 | 
						|
table_name
 | 
						|
v2
 | 
						|
v3
 | 
						|
select column_name from information_schema.columns
 | 
						|
where table_schema='test';
 | 
						|
column_name
 | 
						|
f1
 | 
						|
Warnings:
 | 
						|
Warning	1356	View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
 | 
						|
Warning	1356	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
 | 
						|
select index_name from information_schema.statistics where table_schema='test';
 | 
						|
index_name
 | 
						|
f1_key
 | 
						|
select constraint_name from information_schema.table_constraints
 | 
						|
where table_schema='test';
 | 
						|
constraint_name
 | 
						|
show create view v2;
 | 
						|
View	Create View	character_set_client	collation_connection
 | 
						|
v2	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `test`.`t1`.`f1` AS `c` from `t1`	latin1	latin1_swedish_ci
 | 
						|
Warnings:
 | 
						|
Warning	1356	View 'test.v2' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
 | 
						|
show create table v3;
 | 
						|
View	Create View	character_set_client	collation_connection
 | 
						|
v3	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `sub1`(1) AS `c`	latin1	latin1_swedish_ci
 | 
						|
Warnings:
 | 
						|
Warning	1356	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
 | 
						|
drop view v2;
 | 
						|
drop view v3;
 | 
						|
drop table t4;
 | 
						|
select * from information_schema.table_names;
 | 
						|
ERROR 42S02: Unknown table 'table_names' in information_schema
 | 
						|
select column_type from information_schema.columns
 | 
						|
where table_schema="information_schema" and table_name="COLUMNS" and
 | 
						|
(column_name="character_set_name" or column_name="collation_name");
 | 
						|
column_type
 | 
						|
varchar(32)
 | 
						|
varchar(32)
 | 
						|
select TABLE_ROWS from information_schema.tables where
 | 
						|
table_schema="information_schema" and table_name="COLUMNS";
 | 
						|
TABLE_ROWS
 | 
						|
NULL
 | 
						|
select table_type from information_schema.tables
 | 
						|
where table_schema="mysql" and table_name="user";
 | 
						|
table_type
 | 
						|
BASE TABLE
 | 
						|
show open tables where `table` like "user";
 | 
						|
Database	Table	In_use	Name_locked
 | 
						|
mysql	user	0	0
 | 
						|
show status where variable_name like "%database%";
 | 
						|
Variable_name	Value
 | 
						|
Com_show_databases	3
 | 
						|
show variables where variable_name like "skip_show_databas";
 | 
						|
Variable_name	Value
 | 
						|
show global status like "Threads_running";
 | 
						|
Variable_name	Value
 | 
						|
Threads_running	#
 | 
						|
create table t1(f1 int);
 | 
						|
create table t2(f2 int);
 | 
						|
create view v1 as select * from t1, t2;
 | 
						|
set @got_val= (select count(*) from information_schema.columns);
 | 
						|
drop view v1;
 | 
						|
drop table t1, t2;
 | 
						|
use test;
 | 
						|
CREATE TABLE t_crashme ( f1 BIGINT);
 | 
						|
CREATE VIEW a1 (t_CRASHME) AS SELECT f1 FROM t_crashme GROUP BY f1;
 | 
						|
CREATE VIEW a2 AS SELECT t_CRASHME FROM a1;
 | 
						|
count(*)
 | 
						|
68
 | 
						|
drop view a2, a1;
 | 
						|
drop table t_crashme;
 | 
						|
select table_schema,table_name, column_name from
 | 
						|
information_schema.columns
 | 
						|
where data_type = 'longtext';
 | 
						|
table_schema	table_name	column_name
 | 
						|
information_schema	COLUMNS	COLUMN_DEFAULT
 | 
						|
information_schema	COLUMNS	COLUMN_TYPE
 | 
						|
information_schema	EVENTS	EVENT_DEFINITION
 | 
						|
information_schema	PARTITIONS	PARTITION_EXPRESSION
 | 
						|
information_schema	PARTITIONS	SUBPARTITION_EXPRESSION
 | 
						|
information_schema	PARTITIONS	PARTITION_DESCRIPTION
 | 
						|
information_schema	PLUGINS	PLUGIN_DESCRIPTION
 | 
						|
information_schema	PROCESSLIST	INFO
 | 
						|
information_schema	ROUTINES	ROUTINE_DEFINITION
 | 
						|
information_schema	TRIGGERS	ACTION_CONDITION
 | 
						|
information_schema	TRIGGERS	ACTION_STATEMENT
 | 
						|
information_schema	VIEWS	VIEW_DEFINITION
 | 
						|
select table_name, column_name, data_type from information_schema.columns
 | 
						|
where data_type = 'datetime';
 | 
						|
table_name	column_name	data_type
 | 
						|
EVENTS	EXECUTE_AT	datetime
 | 
						|
EVENTS	STARTS	datetime
 | 
						|
EVENTS	ENDS	datetime
 | 
						|
EVENTS	CREATED	datetime
 | 
						|
EVENTS	LAST_ALTERED	datetime
 | 
						|
EVENTS	LAST_EXECUTED	datetime
 | 
						|
FILES	CREATION_TIME	datetime
 | 
						|
FILES	LAST_UPDATE_TIME	datetime
 | 
						|
FILES	LAST_ACCESS_TIME	datetime
 | 
						|
FILES	CREATE_TIME	datetime
 | 
						|
FILES	UPDATE_TIME	datetime
 | 
						|
FILES	CHECK_TIME	datetime
 | 
						|
PARTITIONS	CREATE_TIME	datetime
 | 
						|
PARTITIONS	UPDATE_TIME	datetime
 | 
						|
PARTITIONS	CHECK_TIME	datetime
 | 
						|
ROUTINES	CREATED	datetime
 | 
						|
ROUTINES	LAST_ALTERED	datetime
 | 
						|
TABLES	CREATE_TIME	datetime
 | 
						|
TABLES	UPDATE_TIME	datetime
 | 
						|
TABLES	CHECK_TIME	datetime
 | 
						|
TRIGGERS	CREATED	datetime
 | 
						|
event	execute_at	datetime
 | 
						|
event	last_executed	datetime
 | 
						|
event	starts	datetime
 | 
						|
event	ends	datetime
 | 
						|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES A
 | 
						|
WHERE NOT EXISTS
 | 
						|
(SELECT * FROM INFORMATION_SCHEMA.COLUMNS B
 | 
						|
WHERE A.TABLE_SCHEMA = B.TABLE_SCHEMA
 | 
						|
AND A.TABLE_NAME = B.TABLE_NAME);
 | 
						|
COUNT(*)
 | 
						|
0
 | 
						|
create table t1
 | 
						|
( x_bigint BIGINT,
 | 
						|
x_integer INTEGER,
 | 
						|
x_smallint SMALLINT,
 | 
						|
x_decimal DECIMAL(5,3),
 | 
						|
x_numeric NUMERIC(5,3),
 | 
						|
x_real REAL,
 | 
						|
x_float FLOAT,
 | 
						|
x_double_precision DOUBLE PRECISION );
 | 
						|
SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH
 | 
						|
FROM INFORMATION_SCHEMA.COLUMNS
 | 
						|
WHERE TABLE_NAME= 't1';
 | 
						|
COLUMN_NAME	CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH
 | 
						|
x_bigint	NULL	NULL
 | 
						|
x_integer	NULL	NULL
 | 
						|
x_smallint	NULL	NULL
 | 
						|
x_decimal	NULL	NULL
 | 
						|
x_numeric	NULL	NULL
 | 
						|
x_real	NULL	NULL
 | 
						|
x_float	NULL	NULL
 | 
						|
x_double_precision	NULL	NULL
 | 
						|
drop table t1;
 | 
						|
grant select on test.* to mysqltest_4@localhost;
 | 
						|
SELECT TABLE_NAME, COLUMN_NAME, PRIVILEGES FROM INFORMATION_SCHEMA.COLUMNS
 | 
						|
where COLUMN_NAME='TABLE_NAME';
 | 
						|
TABLE_NAME	COLUMN_NAME	PRIVILEGES
 | 
						|
COLUMNS	TABLE_NAME	select
 | 
						|
COLUMN_PRIVILEGES	TABLE_NAME	select
 | 
						|
FILES	TABLE_NAME	select
 | 
						|
KEY_COLUMN_USAGE	TABLE_NAME	select
 | 
						|
PARTITIONS	TABLE_NAME	select
 | 
						|
REFERENTIAL_CONSTRAINTS	TABLE_NAME	select
 | 
						|
STATISTICS	TABLE_NAME	select
 | 
						|
TABLES	TABLE_NAME	select
 | 
						|
TABLE_CONSTRAINTS	TABLE_NAME	select
 | 
						|
TABLE_PRIVILEGES	TABLE_NAME	select
 | 
						|
VIEWS	TABLE_NAME	select
 | 
						|
delete from mysql.user where user='mysqltest_4';
 | 
						|
delete from mysql.db where user='mysqltest_4';
 | 
						|
flush privileges;
 | 
						|
SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
 | 
						|
table_schema	count(*)
 | 
						|
information_schema	28
 | 
						|
mysql	22
 | 
						|
create table t1 (i int, j int);
 | 
						|
create trigger trg1 before insert on t1 for each row
 | 
						|
begin
 | 
						|
if new.j > 10 then
 | 
						|
set new.j := 10;
 | 
						|
end if;
 | 
						|
end|
 | 
						|
create trigger trg2 before update on t1 for each row
 | 
						|
begin
 | 
						|
if old.i % 2 = 0 then
 | 
						|
set new.j := -1;
 | 
						|
end if;
 | 
						|
end|
 | 
						|
create trigger trg3 after update on t1 for each row
 | 
						|
begin
 | 
						|
if new.j = -1 then
 | 
						|
set @fired:= "Yes";
 | 
						|
end if;
 | 
						|
end|
 | 
						|
show triggers;
 | 
						|
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
 | 
						|
trg1	INSERT	t1	begin
 | 
						|
if new.j > 10 then
 | 
						|
set new.j := 10;
 | 
						|
end if;
 | 
						|
end	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
trg2	UPDATE	t1	begin
 | 
						|
if old.i % 2 = 0 then
 | 
						|
set new.j := -1;
 | 
						|
end if;
 | 
						|
end	BEFORE	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
trg3	UPDATE	t1	begin
 | 
						|
if new.j = -1 then
 | 
						|
set @fired:= "Yes";
 | 
						|
end if;
 | 
						|
end	AFTER	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
select * from information_schema.triggers where trigger_schema in ('mysql', 'information_schema', 'test', 'mysqltest');
 | 
						|
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE	DEFINER	CHARACTER_SET_CLIENT	COLLATION_CONNECTION	DATABASE_COLLATION
 | 
						|
NULL	test	trg1	INSERT	NULL	test	t1	0	NULL	begin
 | 
						|
if new.j > 10 then
 | 
						|
set new.j := 10;
 | 
						|
end if;
 | 
						|
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
NULL	test	trg2	UPDATE	NULL	test	t1	0	NULL	begin
 | 
						|
if old.i % 2 = 0 then
 | 
						|
set new.j := -1;
 | 
						|
end if;
 | 
						|
end	ROW	BEFORE	NULL	NULL	OLD	NEW	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
NULL	test	trg3	UPDATE	NULL	test	t1	0	NULL	begin
 | 
						|
if new.j = -1 then
 | 
						|
set @fired:= "Yes";
 | 
						|
end if;
 | 
						|
end	ROW	AFTER	NULL	NULL	OLD	NEW	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
drop trigger trg1;
 | 
						|
drop trigger trg2;
 | 
						|
drop trigger trg3;
 | 
						|
drop table t1;
 | 
						|
create database mysqltest;
 | 
						|
create table mysqltest.t1 (f1 int, f2 int);
 | 
						|
create table mysqltest.t2 (f1 int);
 | 
						|
grant select (f1) on mysqltest.t1 to user1@localhost;
 | 
						|
grant select on mysqltest.t2 to user2@localhost;
 | 
						|
grant select on mysqltest.* to user3@localhost;
 | 
						|
grant select on *.* to user4@localhost;
 | 
						|
select * from information_schema.column_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user1'@'localhost'	NULL	mysqltest	t1	f1	SELECT	NO
 | 
						|
select * from information_schema.table_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.schema_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.user_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user1'@'localhost'	NULL	USAGE	NO
 | 
						|
show grants;
 | 
						|
Grants for user1@localhost
 | 
						|
GRANT USAGE ON *.* TO 'user1'@'localhost'
 | 
						|
GRANT SELECT (f1) ON `mysqltest`.`t1` TO 'user1'@'localhost'
 | 
						|
select * from information_schema.column_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.table_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user2'@'localhost'	NULL	mysqltest	t2	SELECT	NO
 | 
						|
select * from information_schema.schema_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.user_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user2'@'localhost'	NULL	USAGE	NO
 | 
						|
show grants;
 | 
						|
Grants for user2@localhost
 | 
						|
GRANT USAGE ON *.* TO 'user2'@'localhost'
 | 
						|
GRANT SELECT ON `mysqltest`.`t2` TO 'user2'@'localhost'
 | 
						|
select * from information_schema.column_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.table_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
select * from information_schema.schema_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user3'@'localhost'	NULL	mysqltest	SELECT	NO
 | 
						|
select * from information_schema.user_privileges order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user3'@'localhost'	NULL	USAGE	NO
 | 
						|
show grants;
 | 
						|
Grants for user3@localhost
 | 
						|
GRANT USAGE ON *.* TO 'user3'@'localhost'
 | 
						|
GRANT SELECT ON `mysqltest`.* TO 'user3'@'localhost'
 | 
						|
select * from information_schema.column_privileges where grantee like '%user%'
 | 
						|
order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user1'@'localhost'	NULL	mysqltest	t1	f1	SELECT	NO
 | 
						|
select * from information_schema.table_privileges where grantee like '%user%'
 | 
						|
order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user2'@'localhost'	NULL	mysqltest	t2	SELECT	NO
 | 
						|
select * from information_schema.schema_privileges where grantee like '%user%'
 | 
						|
order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	TABLE_SCHEMA	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user3'@'localhost'	NULL	mysqltest	SELECT	NO
 | 
						|
select * from information_schema.user_privileges where grantee like '%user%'
 | 
						|
order by grantee;
 | 
						|
GRANTEE	TABLE_CATALOG	PRIVILEGE_TYPE	IS_GRANTABLE
 | 
						|
'user1'@'localhost'	NULL	USAGE	NO
 | 
						|
'user2'@'localhost'	NULL	USAGE	NO
 | 
						|
'user3'@'localhost'	NULL	USAGE	NO
 | 
						|
'user4'@'localhost'	NULL	SELECT	NO
 | 
						|
show grants;
 | 
						|
Grants for user4@localhost
 | 
						|
GRANT SELECT ON *.* TO 'user4'@'localhost'
 | 
						|
drop user user1@localhost, user2@localhost, user3@localhost, user4@localhost;
 | 
						|
use test;
 | 
						|
drop database mysqltest;
 | 
						|
drop procedure if exists p1;
 | 
						|
drop procedure if exists p2;
 | 
						|
create procedure p1 () modifies sql data set @a = 5;
 | 
						|
create procedure p2 () set @a = 5;
 | 
						|
select sql_data_access from information_schema.routines
 | 
						|
where specific_name like 'p%';
 | 
						|
sql_data_access
 | 
						|
MODIFIES SQL DATA
 | 
						|
CONTAINS SQL
 | 
						|
drop procedure p1;
 | 
						|
drop procedure p2;
 | 
						|
show create database information_schema;
 | 
						|
Database	Create Database
 | 
						|
information_schema	CREATE DATABASE `information_schema` /*!40100 DEFAULT CHARACTER SET utf8 */
 | 
						|
create table t1(f1 LONGBLOB, f2 LONGTEXT);
 | 
						|
select column_name,data_type,CHARACTER_OCTET_LENGTH,
 | 
						|
CHARACTER_MAXIMUM_LENGTH
 | 
						|
from information_schema.columns
 | 
						|
where table_name='t1';
 | 
						|
column_name	data_type	CHARACTER_OCTET_LENGTH	CHARACTER_MAXIMUM_LENGTH
 | 
						|
f1	longblob	4294967295	4294967295
 | 
						|
f2	longtext	4294967295	4294967295
 | 
						|
drop table t1;
 | 
						|
create table t1(f1 tinyint, f2 SMALLINT, f3 mediumint, f4 int,
 | 
						|
f5 BIGINT, f6 BIT, f7 bit(64));
 | 
						|
select column_name, NUMERIC_PRECISION, NUMERIC_SCALE
 | 
						|
from information_schema.columns
 | 
						|
where table_name='t1';
 | 
						|
column_name	NUMERIC_PRECISION	NUMERIC_SCALE
 | 
						|
f1	3	0
 | 
						|
f2	5	0
 | 
						|
f3	7	0
 | 
						|
f4	10	0
 | 
						|
f5	19	0
 | 
						|
f6	1	NULL
 | 
						|
f7	64	NULL
 | 
						|
drop table t1;
 | 
						|
create table t1 (f1 integer);
 | 
						|
create trigger tr1 after insert on t1 for each row set @test_var=42;
 | 
						|
use information_schema;
 | 
						|
select trigger_schema, trigger_name from triggers where
 | 
						|
trigger_name='tr1';
 | 
						|
trigger_schema	trigger_name
 | 
						|
test	tr1
 | 
						|
use test;
 | 
						|
drop table t1;
 | 
						|
create table t1 (a int not null, b int);
 | 
						|
use information_schema;
 | 
						|
select column_name, column_default from columns
 | 
						|
where table_schema='test' and table_name='t1';
 | 
						|
column_name	column_default
 | 
						|
a	NULL
 | 
						|
b	NULL
 | 
						|
use test;
 | 
						|
show columns from t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
a	int(11)	NO		NULL	
 | 
						|
b	int(11)	YES		NULL	
 | 
						|
drop table t1;
 | 
						|
CREATE TABLE t1 (a int);
 | 
						|
CREATE TABLE t2 (b int);
 | 
						|
SHOW TABLE STATUS FROM test
 | 
						|
WHERE name IN ( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
 | 
						|
WHERE TABLE_SCHEMA='test' AND TABLE_TYPE='BASE TABLE');
 | 
						|
Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment
 | 
						|
t1	MyISAM	10	Fixed	0	0	0	#	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL		
 | 
						|
t2	MyISAM	10	Fixed	0	0	0	#	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL		
 | 
						|
DROP TABLE t1,t2;
 | 
						|
create table t1(f1 int);
 | 
						|
create view v1 (c) as select f1 from t1;
 | 
						|
select database();
 | 
						|
database()
 | 
						|
NULL
 | 
						|
show fields from test.v1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
c	int(11)	YES		NULL	
 | 
						|
drop view v1;
 | 
						|
drop table t1;
 | 
						|
alter database information_schema;
 | 
						|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 | 
						|
drop database information_schema;
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
drop table information_schema.tables;
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
alter table information_schema.tables;
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
use information_schema;
 | 
						|
create temporary table schemata(f1 char(10));
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
CREATE PROCEDURE p1 ()
 | 
						|
BEGIN
 | 
						|
SELECT 'foo' FROM DUAL;
 | 
						|
END |
 | 
						|
ERROR 42000: Unknown database 'information_schema'
 | 
						|
select ROUTINE_NAME from routines where ROUTINE_SCHEMA='information_schema';
 | 
						|
ROUTINE_NAME
 | 
						|
grant all on information_schema.* to 'user1'@'localhost';
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
grant select on information_schema.* to 'user1'@'localhost';
 | 
						|
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
 | 
						|
use test;
 | 
						|
create table t1(id int);
 | 
						|
insert into t1(id) values (1);
 | 
						|
select 1 from (select 1 from test.t1) a;
 | 
						|
1
 | 
						|
1
 | 
						|
use information_schema;
 | 
						|
select 1 from (select 1 from test.t1) a;
 | 
						|
1
 | 
						|
1
 | 
						|
use test;
 | 
						|
drop table t1;
 | 
						|
create table t1 (f1 int(11));
 | 
						|
create view v1 as select * from t1;
 | 
						|
drop table t1;
 | 
						|
select table_type from information_schema.tables
 | 
						|
where table_name="v1";
 | 
						|
table_type
 | 
						|
VIEW
 | 
						|
drop view v1;
 | 
						|
create temporary table t1(f1 int, index(f1));
 | 
						|
show columns from t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
f1	int(11)	YES	MUL	NULL	
 | 
						|
describe t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
f1	int(11)	YES	MUL	NULL	
 | 
						|
show indexes from t1;
 | 
						|
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
 | 
						|
t1	1	f1	1	f1	A	NULL	NULL	NULL	YES	BTREE	
 | 
						|
drop table t1;
 | 
						|
create table t1(f1 binary(32), f2 varbinary(64));
 | 
						|
select character_maximum_length, character_octet_length
 | 
						|
from information_schema.columns where table_name='t1';
 | 
						|
character_maximum_length	character_octet_length
 | 
						|
32	32
 | 
						|
64	64
 | 
						|
drop table t1;
 | 
						|
CREATE TABLE t1 (f1 BIGINT, f2 VARCHAR(20), f3 BIGINT);
 | 
						|
INSERT INTO t1 SET f1 = 1, f2 = 'Schoenenbourg', f3 = 1;
 | 
						|
CREATE FUNCTION func2() RETURNS BIGINT RETURN 1;
 | 
						|
CREATE FUNCTION func1() RETURNS BIGINT
 | 
						|
BEGIN
 | 
						|
RETURN ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.VIEWS);
 | 
						|
END//
 | 
						|
CREATE VIEW v1 AS SELECT 1 FROM t1
 | 
						|
WHERE f3 = (SELECT func2 ());
 | 
						|
SELECT func1();
 | 
						|
func1()
 | 
						|
1
 | 
						|
DROP TABLE t1;
 | 
						|
DROP VIEW v1;
 | 
						|
DROP FUNCTION func1;
 | 
						|
DROP FUNCTION func2;
 | 
						|
select column_type, group_concat(table_schema, '.', table_name), count(*) as num
 | 
						|
from information_schema.columns where
 | 
						|
table_schema='information_schema' and
 | 
						|
(column_type = 'varchar(7)' or column_type = 'varchar(20)'
 | 
						|
 or column_type = 'varchar(27)')
 | 
						|
group by column_type order by num;
 | 
						|
column_type	group_concat(table_schema, '.', table_name)	num
 | 
						|
varchar(27)	information_schema.COLUMNS	1
 | 
						|
varchar(7)	information_schema.ROUTINES,information_schema.VIEWS	2
 | 
						|
varchar(20)	information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PROFILING	6
 | 
						|
create table t1(f1 char(1) not null, f2 char(9) not null)
 | 
						|
default character set utf8;
 | 
						|
select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from
 | 
						|
information_schema.columns where table_schema='test' and table_name = 't1';
 | 
						|
CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH
 | 
						|
1	3
 | 
						|
9	27
 | 
						|
drop table t1;
 | 
						|
use mysql;
 | 
						|
INSERT INTO `proc` VALUES ('test','','PROCEDURE','','SQL','CONTAINS_SQL',
 | 
						|
'NO','DEFINER','','','BEGIN\r\n  \r\nEND','root@%','2006-03-02 18:40:03',
 | 
						|
'2006-03-02 18:40:03','','','utf8','utf8_general_ci','utf8_general_ci','n/a');
 | 
						|
select routine_name from information_schema.routines where ROUTINE_SCHEMA='test';
 | 
						|
routine_name
 | 
						|
 | 
						|
delete from proc where name='';
 | 
						|
use test;
 | 
						|
grant select on test.* to mysqltest_1@localhost;
 | 
						|
create table t1 (id int);
 | 
						|
create view v1 as select * from t1;
 | 
						|
create definer = mysqltest_1@localhost
 | 
						|
sql security definer view v2 as select 1;
 | 
						|
select * from information_schema.views
 | 
						|
where table_name='v1' or table_name='v2';
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE	CHARACTER_SET_CLIENT	COLLATION_CONNECTION
 | 
						|
NULL	test	v1		NONE	YES	root@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
NULL	test	v2	select 1 AS `1`	NONE	NO	mysqltest_1@localhost	DEFINER	latin1	latin1_swedish_ci
 | 
						|
drop view v1, v2;
 | 
						|
drop table t1;
 | 
						|
drop user mysqltest_1@localhost;
 | 
						|
set @a:= '.';
 | 
						|
create table t1(f1 char(5));
 | 
						|
create table t2(f1 char(5));
 | 
						|
select concat(@a, table_name), @a, table_name
 | 
						|
from information_schema.tables where table_schema = 'test';
 | 
						|
concat(@a, table_name)	@a	table_name
 | 
						|
.t1	.	t1
 | 
						|
.t2	.	t2
 | 
						|
drop table t1,t2;
 | 
						|
DROP PROCEDURE IF EXISTS p1;
 | 
						|
DROP FUNCTION IF EXISTS f1;
 | 
						|
CREATE PROCEDURE p1() SET @a= 1;
 | 
						|
CREATE FUNCTION f1() RETURNS INT RETURN @a + 1;
 | 
						|
CREATE USER mysql_bug20230@localhost;
 | 
						|
GRANT EXECUTE ON PROCEDURE p1 TO mysql_bug20230@localhost;
 | 
						|
GRANT EXECUTE ON FUNCTION f1 TO mysql_bug20230@localhost;
 | 
						|
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='test';
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
f1	RETURN @a + 1
 | 
						|
p1	SET @a= 1
 | 
						|
SHOW CREATE PROCEDURE p1;
 | 
						|
Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
 | 
						|
p1		CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
 | 
						|
SET @a= 1	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
SHOW CREATE FUNCTION f1;
 | 
						|
Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
 | 
						|
f1		CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
 | 
						|
RETURN @a + 1	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='test';
 | 
						|
ROUTINE_NAME	ROUTINE_DEFINITION
 | 
						|
f1	NULL
 | 
						|
p1	NULL
 | 
						|
SHOW CREATE PROCEDURE p1;
 | 
						|
Procedure	sql_mode	Create Procedure	character_set_client	collation_connection	Database Collation
 | 
						|
p1		NULL	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
SHOW CREATE FUNCTION f1;
 | 
						|
Function	sql_mode	Create Function	character_set_client	collation_connection	Database Collation
 | 
						|
f1		NULL	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
CALL p1();
 | 
						|
SELECT f1();
 | 
						|
f1()
 | 
						|
2
 | 
						|
DROP FUNCTION f1;
 | 
						|
DROP PROCEDURE p1;
 | 
						|
DROP USER mysql_bug20230@localhost;
 | 
						|
SELECT t.table_name, c1.column_name
 | 
						|
FROM information_schema.tables t
 | 
						|
INNER JOIN
 | 
						|
information_schema.columns c1
 | 
						|
ON t.table_schema = c1.table_schema AND
 | 
						|
t.table_name = c1.table_name
 | 
						|
WHERE t.table_schema = 'information_schema' AND
 | 
						|
c1.ordinal_position =
 | 
						|
( SELECT COALESCE(MIN(c2.ordinal_position),1)
 | 
						|
FROM information_schema.columns c2
 | 
						|
WHERE c2.table_schema = t.table_schema AND
 | 
						|
c2.table_name = t.table_name AND
 | 
						|
c2.column_name LIKE '%SCHEMA%'
 | 
						|
        );
 | 
						|
table_name	column_name
 | 
						|
CHARACTER_SETS	CHARACTER_SET_NAME
 | 
						|
COLLATIONS	COLLATION_NAME
 | 
						|
COLLATION_CHARACTER_SET_APPLICABILITY	COLLATION_NAME
 | 
						|
COLUMNS	TABLE_SCHEMA
 | 
						|
COLUMN_PRIVILEGES	TABLE_SCHEMA
 | 
						|
ENGINES	ENGINE
 | 
						|
EVENTS	EVENT_SCHEMA
 | 
						|
FILES	TABLE_SCHEMA
 | 
						|
GLOBAL_STATUS	VARIABLE_NAME
 | 
						|
GLOBAL_VARIABLES	VARIABLE_NAME
 | 
						|
KEY_COLUMN_USAGE	CONSTRAINT_SCHEMA
 | 
						|
PARTITIONS	TABLE_SCHEMA
 | 
						|
PLUGINS	PLUGIN_NAME
 | 
						|
PROCESSLIST	ID
 | 
						|
PROFILING	QUERY_ID
 | 
						|
REFERENTIAL_CONSTRAINTS	CONSTRAINT_SCHEMA
 | 
						|
ROUTINES	ROUTINE_SCHEMA
 | 
						|
SCHEMATA	SCHEMA_NAME
 | 
						|
SCHEMA_PRIVILEGES	TABLE_SCHEMA
 | 
						|
SESSION_STATUS	VARIABLE_NAME
 | 
						|
SESSION_VARIABLES	VARIABLE_NAME
 | 
						|
STATISTICS	TABLE_SCHEMA
 | 
						|
TABLES	TABLE_SCHEMA
 | 
						|
TABLE_CONSTRAINTS	CONSTRAINT_SCHEMA
 | 
						|
TABLE_PRIVILEGES	TABLE_SCHEMA
 | 
						|
TRIGGERS	TRIGGER_SCHEMA
 | 
						|
USER_PRIVILEGES	GRANTEE
 | 
						|
VIEWS	TABLE_SCHEMA
 | 
						|
SELECT t.table_name, c1.column_name
 | 
						|
FROM information_schema.tables t
 | 
						|
INNER JOIN
 | 
						|
information_schema.columns c1
 | 
						|
ON t.table_schema = c1.table_schema AND
 | 
						|
t.table_name = c1.table_name
 | 
						|
WHERE t.table_schema = 'information_schema' AND
 | 
						|
c1.ordinal_position =
 | 
						|
( SELECT COALESCE(MIN(c2.ordinal_position),1)
 | 
						|
FROM information_schema.columns c2
 | 
						|
WHERE c2.table_schema = 'information_schema' AND
 | 
						|
c2.table_name = t.table_name AND
 | 
						|
c2.column_name LIKE '%SCHEMA%'
 | 
						|
        );
 | 
						|
table_name	column_name
 | 
						|
CHARACTER_SETS	CHARACTER_SET_NAME
 | 
						|
COLLATIONS	COLLATION_NAME
 | 
						|
COLLATION_CHARACTER_SET_APPLICABILITY	COLLATION_NAME
 | 
						|
COLUMNS	TABLE_SCHEMA
 | 
						|
COLUMN_PRIVILEGES	TABLE_SCHEMA
 | 
						|
ENGINES	ENGINE
 | 
						|
EVENTS	EVENT_SCHEMA
 | 
						|
FILES	TABLE_SCHEMA
 | 
						|
GLOBAL_STATUS	VARIABLE_NAME
 | 
						|
GLOBAL_VARIABLES	VARIABLE_NAME
 | 
						|
KEY_COLUMN_USAGE	CONSTRAINT_SCHEMA
 | 
						|
PARTITIONS	TABLE_SCHEMA
 | 
						|
PLUGINS	PLUGIN_NAME
 | 
						|
PROCESSLIST	ID
 | 
						|
PROFILING	QUERY_ID
 | 
						|
REFERENTIAL_CONSTRAINTS	CONSTRAINT_SCHEMA
 | 
						|
ROUTINES	ROUTINE_SCHEMA
 | 
						|
SCHEMATA	SCHEMA_NAME
 | 
						|
SCHEMA_PRIVILEGES	TABLE_SCHEMA
 | 
						|
SESSION_STATUS	VARIABLE_NAME
 | 
						|
SESSION_VARIABLES	VARIABLE_NAME
 | 
						|
STATISTICS	TABLE_SCHEMA
 | 
						|
TABLES	TABLE_SCHEMA
 | 
						|
TABLE_CONSTRAINTS	CONSTRAINT_SCHEMA
 | 
						|
TABLE_PRIVILEGES	TABLE_SCHEMA
 | 
						|
TRIGGERS	TRIGGER_SCHEMA
 | 
						|
USER_PRIVILEGES	GRANTEE
 | 
						|
VIEWS	TABLE_SCHEMA
 | 
						|
SELECT MAX(table_name) FROM information_schema.tables WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test');
 | 
						|
MAX(table_name)
 | 
						|
VIEWS
 | 
						|
SELECT table_name from information_schema.tables
 | 
						|
WHERE table_name=(SELECT MAX(table_name)
 | 
						|
FROM information_schema.tables WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test'));
 | 
						|
table_name
 | 
						|
VIEWS
 | 
						|
DROP TABLE IF EXISTS bug23037;
 | 
						|
DROP FUNCTION IF EXISTS get_value;
 | 
						|
SELECT COLUMN_NAME, MD5(COLUMN_DEFAULT), LENGTH(COLUMN_DEFAULT) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='bug23037';
 | 
						|
COLUMN_NAME	MD5(COLUMN_DEFAULT)	LENGTH(COLUMN_DEFAULT)
 | 
						|
fld1	7cf7a6782be951a1f2464a350da926a5	65532
 | 
						|
SELECT MD5(get_value());
 | 
						|
MD5(get_value())
 | 
						|
7cf7a6782be951a1f2464a350da926a5
 | 
						|
SELECT COLUMN_NAME, MD5(COLUMN_DEFAULT), LENGTH(COLUMN_DEFAULT), COLUMN_DEFAULT=get_value() FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='bug23037';
 | 
						|
COLUMN_NAME	MD5(COLUMN_DEFAULT)	LENGTH(COLUMN_DEFAULT)	COLUMN_DEFAULT=get_value()
 | 
						|
fld1	7cf7a6782be951a1f2464a350da926a5	65532	1
 | 
						|
DROP TABLE bug23037;
 | 
						|
DROP FUNCTION get_value;
 | 
						|
create view v1 as
 | 
						|
select table_schema as object_schema,
 | 
						|
table_name   as object_name,
 | 
						|
table_type   as object_type
 | 
						|
from information_schema.tables
 | 
						|
order by object_schema;
 | 
						|
explain select * from v1;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	NULL	NULL	NULL	NULL	Open_frm_only; Scanned all databases; Using filesort
 | 
						|
explain select * from (select table_name from information_schema.tables) as a;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	PRIMARY	<derived2>	system	NULL	NULL	NULL	NULL	0	const row not found
 | 
						|
2	DERIVED	tables	ALL	NULL	NULL	NULL	NULL	NULL	Skip_open_table; Scanned all databases
 | 
						|
drop view v1;
 | 
						|
create table t1 (f1 int(11));
 | 
						|
create table t2 (f1 int(11), f2 int(11));
 | 
						|
select table_name from information_schema.tables
 | 
						|
where table_schema = 'test' and table_name not in
 | 
						|
(select table_name from information_schema.columns
 | 
						|
where table_schema = 'test' and column_name = 'f3');
 | 
						|
table_name
 | 
						|
t1
 | 
						|
t2
 | 
						|
drop table t1,t2;
 | 
						|
select 1 as f1 from information_schema.tables  where "CHARACTER_SETS"=
 | 
						|
(select cast(table_name as char)  from information_schema.tables
 | 
						|
order by table_name limit 1) limit 1;
 | 
						|
f1
 | 
						|
1
 | 
						|
select t.table_name, group_concat(t.table_schema, '.', t.table_name),
 | 
						|
count(*) as num1
 | 
						|
from information_schema.tables t
 | 
						|
inner join information_schema.columns c1
 | 
						|
on t.table_schema = c1.table_schema AND t.table_name = c1.table_name
 | 
						|
where t.table_schema = 'information_schema' and
 | 
						|
c1.ordinal_position =
 | 
						|
(select isnull(c2.column_type) -
 | 
						|
isnull(group_concat(c2.table_schema, '.', c2.table_name)) +
 | 
						|
count(*) as num
 | 
						|
from information_schema.columns c2 where
 | 
						|
c2.table_schema='information_schema' and
 | 
						|
(c2.column_type = 'varchar(7)' or c2.column_type = 'varchar(20)')
 | 
						|
group by c2.column_type order by num limit 1)
 | 
						|
group by t.table_name order by num1, t.table_name;
 | 
						|
table_name	group_concat(t.table_schema, '.', t.table_name)	num1
 | 
						|
CHARACTER_SETS	information_schema.CHARACTER_SETS	1
 | 
						|
COLLATIONS	information_schema.COLLATIONS	1
 | 
						|
COLLATION_CHARACTER_SET_APPLICABILITY	information_schema.COLLATION_CHARACTER_SET_APPLICABILITY	1
 | 
						|
COLUMNS	information_schema.COLUMNS	1
 | 
						|
COLUMN_PRIVILEGES	information_schema.COLUMN_PRIVILEGES	1
 | 
						|
ENGINES	information_schema.ENGINES	1
 | 
						|
EVENTS	information_schema.EVENTS	1
 | 
						|
FILES	information_schema.FILES	1
 | 
						|
GLOBAL_STATUS	information_schema.GLOBAL_STATUS	1
 | 
						|
GLOBAL_VARIABLES	information_schema.GLOBAL_VARIABLES	1
 | 
						|
KEY_COLUMN_USAGE	information_schema.KEY_COLUMN_USAGE	1
 | 
						|
PARTITIONS	information_schema.PARTITIONS	1
 | 
						|
PLUGINS	information_schema.PLUGINS	1
 | 
						|
PROCESSLIST	information_schema.PROCESSLIST	1
 | 
						|
PROFILING	information_schema.PROFILING	1
 | 
						|
REFERENTIAL_CONSTRAINTS	information_schema.REFERENTIAL_CONSTRAINTS	1
 | 
						|
ROUTINES	information_schema.ROUTINES	1
 | 
						|
SCHEMATA	information_schema.SCHEMATA	1
 | 
						|
SCHEMA_PRIVILEGES	information_schema.SCHEMA_PRIVILEGES	1
 | 
						|
SESSION_STATUS	information_schema.SESSION_STATUS	1
 | 
						|
SESSION_VARIABLES	information_schema.SESSION_VARIABLES	1
 | 
						|
STATISTICS	information_schema.STATISTICS	1
 | 
						|
TABLES	information_schema.TABLES	1
 | 
						|
TABLE_CONSTRAINTS	information_schema.TABLE_CONSTRAINTS	1
 | 
						|
TABLE_PRIVILEGES	information_schema.TABLE_PRIVILEGES	1
 | 
						|
TRIGGERS	information_schema.TRIGGERS	1
 | 
						|
USER_PRIVILEGES	information_schema.USER_PRIVILEGES	1
 | 
						|
VIEWS	information_schema.VIEWS	1
 | 
						|
create table t1(f1 int);
 | 
						|
create view v1 as select f1+1 as a from t1;
 | 
						|
create table t2 (f1 int, f2 int);
 | 
						|
create view v2 as select f1+1 as a, f2 as b from t2;
 | 
						|
select table_name, is_updatable from information_schema.views;
 | 
						|
table_name	is_updatable
 | 
						|
v1	NO
 | 
						|
v2	YES
 | 
						|
delete from v1;
 | 
						|
drop view v1,v2;
 | 
						|
drop table t1,t2;
 | 
						|
alter database;
 | 
						|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 | 
						|
alter database test;
 | 
						|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 | 
						|
create database mysqltest;
 | 
						|
create table mysqltest.t1(a int, b int, c int);
 | 
						|
create trigger mysqltest.t1_ai after insert on mysqltest.t1
 | 
						|
for each row set @a = new.a + new.b + new.c;
 | 
						|
grant select(b) on mysqltest.t1 to mysqltest_1@localhost;
 | 
						|
select trigger_name from information_schema.triggers
 | 
						|
where event_object_table='t1';
 | 
						|
trigger_name
 | 
						|
t1_ai
 | 
						|
show triggers from mysqltest;
 | 
						|
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
 | 
						|
t1_ai	INSERT	t1	set @a = new.a + new.b + new.c	AFTER	NULL		root@localhost	latin1	latin1_swedish_ci	latin1_swedish_ci
 | 
						|
show columns from t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
b	int(11)	YES		NULL	
 | 
						|
select column_name from information_schema.columns where table_name='t1';
 | 
						|
column_name
 | 
						|
b
 | 
						|
show triggers;
 | 
						|
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer	character_set_client	collation_connection	Database Collation
 | 
						|
select trigger_name from information_schema.triggers
 | 
						|
where event_object_table='t1';
 | 
						|
trigger_name
 | 
						|
drop user mysqltest_1@localhost;
 | 
						|
drop database mysqltest;
 | 
						|
create table t1 (
 | 
						|
f1 varchar(50),
 | 
						|
f2 varchar(50) not null,
 | 
						|
f3 varchar(50) default '',
 | 
						|
f4 varchar(50) default NULL,
 | 
						|
f5 bigint not null,
 | 
						|
f6 bigint not null default 10,
 | 
						|
f7 datetime not null,
 | 
						|
f8 datetime default '2006-01-01'
 | 
						|
);
 | 
						|
select column_default from information_schema.columns where table_name= 't1';
 | 
						|
column_default
 | 
						|
NULL
 | 
						|
NULL
 | 
						|
 | 
						|
NULL
 | 
						|
NULL
 | 
						|
10
 | 
						|
NULL
 | 
						|
2006-01-01 00:00:00
 | 
						|
show columns from t1;
 | 
						|
Field	Type	Null	Key	Default	Extra
 | 
						|
f1	varchar(50)	YES		NULL	
 | 
						|
f2	varchar(50)	NO		NULL	
 | 
						|
f3	varchar(50)	YES			
 | 
						|
f4	varchar(50)	YES		NULL	
 | 
						|
f5	bigint(20)	NO		NULL	
 | 
						|
f6	bigint(20)	NO		10	
 | 
						|
f7	datetime	NO		NULL	
 | 
						|
f8	datetime	YES		2006-01-01 00:00:00	
 | 
						|
drop table t1;
 | 
						|
show fields from information_schema.table_names;
 | 
						|
ERROR 42S02: Unknown table 'table_names' in information_schema
 | 
						|
show keys from information_schema.table_names;
 | 
						|
ERROR 42S02: Unknown table 'table_names' in information_schema
 | 
						|
USE information_schema;
 | 
						|
SET max_heap_table_size = 16384;
 | 
						|
CREATE TABLE test.t1( a INT );
 | 
						|
SELECT *
 | 
						|
FROM tables ta
 | 
						|
JOIN collations co ON ( co.collation_name = ta.table_catalog )
 | 
						|
JOIN character_sets cs ON ( cs.character_set_name = ta.table_catalog );
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	VERSION	ROW_FORMAT	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	AUTO_INCREMENT	CREATE_TIME	UPDATE_TIME	CHECK_TIME	TABLE_COLLATION	CHECKSUM	CREATE_OPTIONS	TABLE_COMMENT	COLLATION_NAME	CHARACTER_SET_NAME	ID	IS_DEFAULT	IS_COMPILED	SORTLEN	CHARACTER_SET_NAME	DEFAULT_COLLATE_NAME	DESCRIPTION	MAXLEN
 | 
						|
DROP TABLE test.t1;
 | 
						|
SET max_heap_table_size = DEFAULT;
 | 
						|
USE test;
 | 
						|
End of 5.0 tests.
 | 
						|
select * from information_schema.engines WHERE ENGINE="MyISAM";
 | 
						|
ENGINE	SUPPORT	COMMENT	TRANSACTIONS	XA	SAVEPOINTS
 | 
						|
MyISAM	DEFAULT	Default engine as of MySQL 3.23 with great performance	NO	NO	NO
 | 
						|
grant select on *.* to user3148@localhost;
 | 
						|
select user,db from information_schema.processlist;
 | 
						|
user	db
 | 
						|
user3148	test
 | 
						|
drop user user3148@localhost;
 | 
						|
DROP TABLE IF EXISTS server_status;
 | 
						|
DROP EVENT IF EXISTS event_status;
 | 
						|
SET GLOBAL event_scheduler=1;
 | 
						|
CREATE EVENT event_status
 | 
						|
ON SCHEDULE AT NOW()
 | 
						|
ON COMPLETION NOT PRESERVE
 | 
						|
DO
 | 
						|
BEGIN
 | 
						|
CREATE TABLE server_status
 | 
						|
SELECT variable_name
 | 
						|
FROM information_schema.global_status
 | 
						|
WHERE variable_name LIKE 'ABORTED_CONNECTS' OR
 | 
						|
variable_name LIKE 'BINLOG_CACHE_DISK_USE';
 | 
						|
END$$
 | 
						|
SELECT variable_name FROM server_status;
 | 
						|
variable_name
 | 
						|
ABORTED_CONNECTS
 | 
						|
BINLOG_CACHE_DISK_USE
 | 
						|
DROP TABLE server_status;
 | 
						|
SET GLOBAL event_scheduler=0;
 | 
						|
explain select table_name from information_schema.views where
 | 
						|
table_schema='test' and table_name='v1';
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	views	ALL	NULL	TABLE_SCHEMA,TABLE_NAME	NULL	NULL	NULL	Using where; Open_frm_only; Scanned 0 databases
 | 
						|
explain select * from information_schema.tables;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	NULL	NULL	NULL	NULL	Open_full_table; Scanned all databases
 | 
						|
explain select * from information_schema.collations;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	collations	ALL	NULL	NULL	NULL	NULL	NULL	
 | 
						|
explain select * from information_schema.tables where
 | 
						|
table_schema='test' and table_name= 't1';
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	TABLE_SCHEMA,TABLE_NAME	NULL	NULL	NULL	Using where; Open_full_table; Scanned 0 databases
 | 
						|
explain select table_name, table_type from information_schema.tables
 | 
						|
where table_schema='test';
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	TABLE_SCHEMA	NULL	NULL	NULL	Using where; Open_frm_only; Scanned 1 database
 | 
						|
explain select b.table_name
 | 
						|
from information_schema.tables a, information_schema.columns b
 | 
						|
where a.table_name='t1' and a.table_schema='test' and b.table_name=a.table_name;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	a	ALL	NULL	TABLE_SCHEMA,TABLE_NAME	NULL	NULL	NULL	Using where; Skip_open_table; Scanned 0 databases
 | 
						|
1	SIMPLE	b	ALL	NULL	NULL	NULL	NULL	NULL	Using where; Open_frm_only; Scanned all databases; Using join buffer
 | 
						|
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
 | 
						|
WHERE SCHEMA_NAME = 'mysqltest';
 | 
						|
CATALOG_NAME	SCHEMA_NAME	DEFAULT_CHARACTER_SET_NAME	DEFAULT_COLLATION_NAME	SQL_PATH
 | 
						|
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
 | 
						|
WHERE SCHEMA_NAME = '';
 | 
						|
CATALOG_NAME	SCHEMA_NAME	DEFAULT_CHARACTER_SET_NAME	DEFAULT_COLLATION_NAME	SQL_PATH
 | 
						|
SELECT * FROM INFORMATION_SCHEMA.SCHEMATA
 | 
						|
WHERE SCHEMA_NAME = 'test';
 | 
						|
CATALOG_NAME	SCHEMA_NAME	DEFAULT_CHARACTER_SET_NAME	DEFAULT_COLLATION_NAME	SQL_PATH
 | 
						|
NULL	test	latin1	latin1_swedish_ci	NULL
 | 
						|
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='nonexisting';
 | 
						|
count(*)
 | 
						|
0
 | 
						|
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mysql' AND TABLE_NAME='';
 | 
						|
count(*)
 | 
						|
0
 | 
						|
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='';
 | 
						|
count(*)
 | 
						|
0
 | 
						|
select count(*) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='' AND TABLE_NAME='nonexisting';
 | 
						|
count(*)
 | 
						|
0
 | 
						|
CREATE VIEW v1
 | 
						|
AS SELECT *
 | 
						|
FROM information_schema.tables;
 | 
						|
SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS where TABLE_NAME = 'v1';
 | 
						|
VIEW_DEFINITION
 | 
						|
select `tables`.`TABLE_CATALOG` AS `TABLE_CATALOG`,`tables`.`TABLE_SCHEMA` AS `TABLE_SCHEMA`,`tables`.`TABLE_NAME` AS `TABLE_NAME`,`tables`.`TABLE_TYPE` AS `TABLE_TYPE`,`tables`.`ENGINE` AS `ENGINE`,`tables`.`VERSION` AS `VERSION`,`tables`.`ROW_FORMAT` AS `ROW_FORMAT`,`tables`.`TABLE_ROWS` AS `TABLE_ROWS`,`tables`.`AVG_ROW_LENGTH` AS `AVG_ROW_LENGTH`,`tables`.`DATA_LENGTH` AS `DATA_LENGTH`,`tables`.`MAX_DATA_LENGTH` AS `MAX_DATA_LENGTH`,`tables`.`INDEX_LENGTH` AS `INDEX_LENGTH`,`tables`.`DATA_FREE` AS `DATA_FREE`,`tables`.`AUTO_INCREMENT` AS `AUTO_INCREMENT`,`tables`.`CREATE_TIME` AS `CREATE_TIME`,`tables`.`UPDATE_TIME` AS `UPDATE_TIME`,`tables`.`CHECK_TIME` AS `CHECK_TIME`,`tables`.`TABLE_COLLATION` AS `TABLE_COLLATION`,`tables`.`CHECKSUM` AS `CHECKSUM`,`tables`.`CREATE_OPTIONS` AS `CREATE_OPTIONS`,`tables`.`TABLE_COMMENT` AS `TABLE_COMMENT` from `information_schema`.`tables`
 | 
						|
DROP VIEW v1;
 | 
						|
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
 | 
						|
WHERE SCHEMA_NAME ='information_schema';
 | 
						|
SCHEMA_NAME
 | 
						|
information_schema
 | 
						|
SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES
 | 
						|
WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db';
 | 
						|
TABLE_COLLATION
 | 
						|
utf8_bin
 | 
						|
select * from information_schema.columns where table_schema = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	COLUMN_DEFAULT	IS_NULLABLE	DATA_TYPE	CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH	NUMERIC_PRECISION	NUMERIC_SCALE	CHARACTER_SET_NAME	COLLATION_NAME	COLUMN_TYPE	COLUMN_KEY	EXTRA	PRIVILEGES	COLUMN_COMMENT
 | 
						|
select * from `information_schema`.`COLUMNS` where `TABLE_NAME` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	COLUMN_DEFAULT	IS_NULLABLE	DATA_TYPE	CHARACTER_MAXIMUM_LENGTH	CHARACTER_OCTET_LENGTH	NUMERIC_PRECISION	NUMERIC_SCALE	CHARACTER_SET_NAME	COLLATION_NAME	COLUMN_TYPE	COLUMN_KEY	EXTRA	PRIVILEGES	COLUMN_COMMENT
 | 
						|
select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_SCHEMA` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	POSITION_IN_UNIQUE_CONSTRAINT	REFERENCED_TABLE_SCHEMA	REFERENCED_TABLE_NAME	REFERENCED_COLUMN_NAME
 | 
						|
select * from `information_schema`.`KEY_COLUMN_USAGE` where `TABLE_NAME` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	ORDINAL_POSITION	POSITION_IN_UNIQUE_CONSTRAINT	REFERENCED_TABLE_SCHEMA	REFERENCED_TABLE_NAME	REFERENCED_COLUMN_NAME
 | 
						|
select * from `information_schema`.`PARTITIONS` where `TABLE_SCHEMA` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PARTITION_NAME	SUBPARTITION_NAME	PARTITION_ORDINAL_POSITION	SUBPARTITION_ORDINAL_POSITION	PARTITION_METHOD	SUBPARTITION_METHOD	PARTITION_EXPRESSION	SUBPARTITION_EXPRESSION	PARTITION_DESCRIPTION	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	CREATE_TIME	UPDATE_TIME	CHECK_TIME	CHECKSUM	PARTITION_COMMENT	NODEGROUP	TABLESPACE_NAME
 | 
						|
select * from `information_schema`.`PARTITIONS` where `TABLE_NAME` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PARTITION_NAME	SUBPARTITION_NAME	PARTITION_ORDINAL_POSITION	SUBPARTITION_ORDINAL_POSITION	PARTITION_METHOD	SUBPARTITION_METHOD	PARTITION_EXPRESSION	SUBPARTITION_EXPRESSION	PARTITION_DESCRIPTION	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	CREATE_TIME	UPDATE_TIME	CHECK_TIME	CHECKSUM	PARTITION_COMMENT	NODEGROUP	TABLESPACE_NAME
 | 
						|
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `CONSTRAINT_SCHEMA` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	UNIQUE_CONSTRAINT_CATALOG	UNIQUE_CONSTRAINT_SCHEMA	UNIQUE_CONSTRAINT_NAME	MATCH_OPTION	UPDATE_RULE	DELETE_RULE	TABLE_NAME	REFERENCED_TABLE_NAME
 | 
						|
select * from `information_schema`.`REFERENTIAL_CONSTRAINTS` where `TABLE_NAME` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	UNIQUE_CONSTRAINT_CATALOG	UNIQUE_CONSTRAINT_SCHEMA	UNIQUE_CONSTRAINT_NAME	MATCH_OPTION	UPDATE_RULE	DELETE_RULE	TABLE_NAME	REFERENCED_TABLE_NAME
 | 
						|
select * from information_schema.schemata where schema_name = NULL;
 | 
						|
CATALOG_NAME	SCHEMA_NAME	DEFAULT_CHARACTER_SET_NAME	DEFAULT_COLLATION_NAME	SQL_PATH
 | 
						|
select * from `information_schema`.`STATISTICS` where `TABLE_SCHEMA` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	NON_UNIQUE	INDEX_SCHEMA	INDEX_NAME	SEQ_IN_INDEX	COLUMN_NAME	COLLATION	CARDINALITY	SUB_PART	PACKED	NULLABLE	INDEX_TYPE	COMMENT
 | 
						|
select * from `information_schema`.`STATISTICS` where `TABLE_NAME` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	NON_UNIQUE	INDEX_SCHEMA	INDEX_NAME	SEQ_IN_INDEX	COLUMN_NAME	COLLATION	CARDINALITY	SUB_PART	PACKED	NULLABLE	INDEX_TYPE	COMMENT
 | 
						|
select * from information_schema.tables where table_schema = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	VERSION	ROW_FORMAT	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	AUTO_INCREMENT	CREATE_TIME	UPDATE_TIME	CHECK_TIME	TABLE_COLLATION	CHECKSUM	CREATE_OPTIONS	TABLE_COMMENT
 | 
						|
select * from information_schema.tables where table_catalog = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	VERSION	ROW_FORMAT	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	AUTO_INCREMENT	CREATE_TIME	UPDATE_TIME	CHECK_TIME	TABLE_COLLATION	CHECKSUM	CREATE_OPTIONS	TABLE_COMMENT
 | 
						|
select * from information_schema.tables where table_name = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	VERSION	ROW_FORMAT	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	AUTO_INCREMENT	CREATE_TIME	UPDATE_TIME	CHECK_TIME	TABLE_COLLATION	CHECKSUM	CREATE_OPTIONS	TABLE_COMMENT
 | 
						|
select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_SCHEMA` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_SCHEMA	TABLE_NAME	CONSTRAINT_TYPE
 | 
						|
select * from `information_schema`.`TABLE_CONSTRAINTS` where `TABLE_NAME` = NULL;
 | 
						|
CONSTRAINT_CATALOG	CONSTRAINT_SCHEMA	CONSTRAINT_NAME	TABLE_SCHEMA	TABLE_NAME	CONSTRAINT_TYPE
 | 
						|
select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_SCHEMA` = NULL;
 | 
						|
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE	DEFINER	CHARACTER_SET_CLIENT	COLLATION_CONNECTION	DATABASE_COLLATION
 | 
						|
select * from `information_schema`.`TRIGGERS` where `EVENT_OBJECT_TABLE` = NULL;
 | 
						|
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_ORDER	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	CREATED	SQL_MODE	DEFINER	CHARACTER_SET_CLIENT	COLLATION_CONNECTION	DATABASE_COLLATION
 | 
						|
select * from `information_schema`.`VIEWS` where `TABLE_SCHEMA` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE	CHARACTER_SET_CLIENT	COLLATION_CONNECTION
 | 
						|
select * from `information_schema`.`VIEWS` where `TABLE_NAME` = NULL;
 | 
						|
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE	CHARACTER_SET_CLIENT	COLLATION_CONNECTION
 | 
						|
explain extended select 1 from information_schema.tables;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	NULL	NULL	NULL	NULL	NULL	Skip_open_table; Scanned all databases
 | 
						|
Warnings:
 | 
						|
Note	1003	select 1 AS `1` from `information_schema`.`tables`
 | 
						|
use information_schema;
 | 
						|
show events;
 | 
						|
Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
 | 
						|
show events from information_schema;
 | 
						|
Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
 | 
						|
show events where Db= 'information_schema';
 | 
						|
Db	Name	Definer	Time zone	Type	Execute at	Interval value	Interval field	Starts	Ends	Status	Originator	character_set_client	collation_connection	Database Collation
 | 
						|
use test;
 | 
						|
#
 | 
						|
# Bug#34166 Server crash in SHOW OPEN TABLES and prelocking
 | 
						|
#
 | 
						|
drop table if exists t1;
 | 
						|
drop function if exists f1;
 | 
						|
create table t1 (a int);
 | 
						|
create function f1() returns int
 | 
						|
begin
 | 
						|
insert into t1 (a) values (1);
 | 
						|
return 0;
 | 
						|
end|
 | 
						|
show open tables where f1()=0;
 | 
						|
show open tables where f1()=0;
 | 
						|
drop table t1;
 | 
						|
drop function f1;
 | 
						|
select * from information_schema.tables where 1=sleep(100000);
 | 
						|
select * from information_schema.columns where 1=sleep(100000);
 | 
						|
explain select count(*) from information_schema.tables;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	tables	ALL	NULL	NULL	NULL	NULL	NULL	Skip_open_table; Scanned all databases
 | 
						|
explain select count(*) from information_schema.columns;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	columns	ALL	NULL	NULL	NULL	NULL	NULL	Open_frm_only; Scanned all databases
 | 
						|
explain select count(*) from information_schema.views;
 | 
						|
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | 
						|
1	SIMPLE	views	ALL	NULL	NULL	NULL	NULL	NULL	Open_frm_only; Scanned all databases
 | 
						|
set global init_connect="drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;\
 | 
						|
drop table if exists t1;drop table if exists t1;";
 | 
						|
select * from information_schema.global_variables where variable_name='init_connect';
 | 
						|
VARIABLE_NAME	VARIABLE_VALUE
 | 
						|
INIT_CONNECT	drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists t1;
 | 
						|
drop table if exists t1;drop table if exists
 | 
						|
Warnings:
 | 
						|
Warning	1265	Data truncated for column 'VARIABLE_VALUE' at row 1
 | 
						|
set global init_connect="";
 | 
						|
create table t0 select * from information_schema.global_status where VARIABLE_NAME='COM_SELECT';
 | 
						|
SELECT 1;
 | 
						|
1
 | 
						|
1
 | 
						|
select a.VARIABLE_VALUE - b.VARIABLE_VALUE from t0 b, information_schema.global_status a
 | 
						|
where a.VARIABLE_NAME = b.VARIABLE_NAME;
 | 
						|
a.VARIABLE_VALUE - b.VARIABLE_VALUE
 | 
						|
2
 | 
						|
drop table t0;
 | 
						|
CREATE TABLE t1(a INT) KEY_BLOCK_SIZE=1;
 | 
						|
SELECT CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
 | 
						|
CREATE_OPTIONS
 | 
						|
KEY_BLOCK_SIZE=1
 | 
						|
DROP TABLE t1;
 | 
						|
SET TIMESTAMP=@@TIMESTAMP + 10000000;
 | 
						|
SELECT 'OK' AS TEST_RESULT FROM INFORMATION_SCHEMA.PROCESSLIST WHERE time < 0;
 | 
						|
TEST_RESULT
 | 
						|
OK
 | 
						|
SET TIMESTAMP=DEFAULT;
 | 
						|
#
 | 
						|
# Bug #50276: Security flaw in INFORMATION_SCHEMA.TABLES
 | 
						|
#
 | 
						|
CREATE DATABASE db1;
 | 
						|
USE db1;
 | 
						|
CREATE TABLE t1 (id INT);
 | 
						|
CREATE USER nonpriv;
 | 
						|
USE test;
 | 
						|
# connected as nonpriv
 | 
						|
# Should return 0
 | 
						|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
 | 
						|
COUNT(*)
 | 
						|
0
 | 
						|
USE INFORMATION_SCHEMA;
 | 
						|
# Should return 0
 | 
						|
SELECT COUNT(*) FROM TABLES WHERE TABLE_NAME='t1';
 | 
						|
COUNT(*)
 | 
						|
0
 | 
						|
# connected as root
 | 
						|
DROP USER nonpriv;
 | 
						|
DROP TABLE db1.t1;
 | 
						|
DROP DATABASE db1;
 | 
						|
 | 
						|
Bug#54422 query with = 'variables'
 | 
						|
 | 
						|
CREATE TABLE variables(f1 INT);
 | 
						|
SELECT COLUMN_DEFAULT, TABLE_NAME
 | 
						|
FROM INFORMATION_SCHEMA.COLUMNS
 | 
						|
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = 'variables';
 | 
						|
COLUMN_DEFAULT	TABLE_NAME
 | 
						|
NULL	variables
 | 
						|
DROP TABLE variables;
 | 
						|
#
 | 
						|
# Bug #53814: NUMERIC_PRECISION for unsigned bigint field is 19, 
 | 
						|
# should be 20
 | 
						|
#
 | 
						|
CREATE TABLE ubig (a BIGINT, b BIGINT UNSIGNED);
 | 
						|
SELECT TABLE_NAME, COLUMN_NAME, NUMERIC_PRECISION 
 | 
						|
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='ubig';
 | 
						|
TABLE_NAME	COLUMN_NAME	NUMERIC_PRECISION
 | 
						|
ubig	a	19
 | 
						|
ubig	b	20
 | 
						|
INSERT INTO ubig VALUES (0xFFFFFFFFFFFFFFFF,0xFFFFFFFFFFFFFFFF);
 | 
						|
Warnings:
 | 
						|
Warning	1264	Out of range value for column 'a' at row 1
 | 
						|
SELECT length(CAST(b AS CHAR)) FROM ubig;
 | 
						|
length(CAST(b AS CHAR))
 | 
						|
20
 | 
						|
DROP TABLE ubig;
 | 
						|
End of 5.1 tests.
 |