drop table if exists t1,t2;
drop table if exists t1aa,t2aa;
drop database if exists mysqltest;
drop database if exists mysqltest1;
delete from mysql.user where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
delete from mysql.db where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
flush privileges;
create table t1 (a int not null primary key, b int not null,c int not null, key(b,c));
insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4);
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
check table t1 fast;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	27	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	Table is already up to date
check table t1 fast;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	27	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	Table is already up to date
check table t1 changed;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
insert into t1 values (5,5,5);
check table t1 changed;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
check table t1 medium;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
check table t1 extended;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	5	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	check	status	OK
show index from t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			STATISTICS	TABLE_NAME	Table	253	64	2	N	1	0	8
def			STATISTICS	NON_UNIQUE	Non_unique	8	1	1	N	32769	0	63
def			STATISTICS	INDEX_NAME	Key_name	253	64	7	N	1	0	8
def			STATISTICS	SEQ_IN_INDEX	Seq_in_index	8	2	1	N	32769	0	63
def			STATISTICS	COLUMN_NAME	Column_name	253	64	1	N	1	0	8
def			STATISTICS	COLLATION	Collation	253	1	1	Y	0	0	8
def			STATISTICS	CARDINALITY	Cardinality	8	21	1	Y	32768	0	63
def			STATISTICS	SUB_PART	Sub_part	8	3	0	Y	32768	0	63
def			STATISTICS	PACKED	Packed	253	10	0	Y	0	0	8
def			STATISTICS	NULLABLE	Null	253	3	0	N	1	0	8
def			STATISTICS	INDEX_TYPE	Index_type	253	16	5	N	1	0	8
def			STATISTICS	COMMENT	Comment	253	16	0	Y	0	0	8
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
t1	0	PRIMARY	1	a	A	5	NULL	NULL		BTREE	
t1	1	b	1	b	A	1	NULL	NULL		BTREE	
t1	1	b	2	c	A	5	NULL	NULL		BTREE	
insert into t1 values (5,5,5);
ERROR 23000: Duplicate entry '5' for key 1
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
optimize table t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	8	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	optimize	status	OK
optimize table t1;
Table	Op	Msg_type	Msg_text
test.t1	optimize	status	Table is already up to date
drop table t1;
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
show variables like "wait_timeout%";
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			VARIABLES	Variable_name	Variable_name	253	80	12	N	1	0	8
def			VARIABLES	Value	Value	253	512	5	N	1	0	8
Variable_name	Value
wait_timeout	28800
show variables like "WAIT_timeout%";
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			VARIABLES	Variable_name	Variable_name	253	80	12	N	1	0	8
def			VARIABLES	Value	Value	253	512	5	N	1	0	8
Variable_name	Value
wait_timeout	28800
show variables like "this_doesn't_exists%";
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			VARIABLES	Variable_name	Variable_name	253	80	0	N	1	0	8
def			VARIABLES	Value	Value	253	512	0	N	1	0	8
Variable_name	Value
show table status from test like "this_doesn't_exists%";
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			TABLES	TABLE_NAME	Name	253	64	0	N	1	0	8
def			TABLES	ENGINE	Engine	253	64	0	Y	0	0	8
def			TABLES	VERSION	Version	8	21	0	Y	32768	0	63
def			TABLES	ROW_FORMAT	Row_format	253	10	0	Y	0	0	8
def			TABLES	TABLE_ROWS	Rows	8	21	0	Y	32768	0	63
def			TABLES	AVG_ROW_LENGTH	Avg_row_length	8	21	0	Y	32768	0	63
def			TABLES	DATA_LENGTH	Data_length	8	21	0	Y	32768	0	63
def			TABLES	MAX_DATA_LENGTH	Max_data_length	8	21	0	Y	32768	0	63
def			TABLES	INDEX_LENGTH	Index_length	8	21	0	Y	32768	0	63
def			TABLES	DATA_FREE	Data_free	8	21	0	Y	32768	0	63
def			TABLES	AUTO_INCREMENT	Auto_increment	8	21	0	Y	32768	0	63
def			TABLES	CREATE_TIME	Create_time	12	19	0	Y	128	0	63
def			TABLES	UPDATE_TIME	Update_time	12	19	0	Y	128	0	63
def			TABLES	CHECK_TIME	Check_time	12	19	0	Y	128	0	63
def			TABLES	TABLE_COLLATION	Collation	253	64	0	Y	0	0	8
def			TABLES	CHECKSUM	Checksum	8	21	0	Y	32768	0	63
def			TABLES	CREATE_OPTIONS	Create_options	253	255	0	Y	0	0	8
def			TABLES	TABLE_COMMENT	Comment	253	80	0	N	1	0	8
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
show databases;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			SCHEMATA	SCHEMA_NAME	Database	253	64	18	N	1	0	8
Database
information_schema
mysql
test
show databases like "test%";
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			SCHEMATA	SCHEMA_NAME	Database (test%)	253	64	4	N	1	0	8
Database (test%)
test
create table t1 (f1 int not null, f2 int not null, f3 int not null, f4 int not null, primary key(f1,f2,f3,f4));
insert into t1 values (1,1,1,0),(1,1,2,0),(1,1,3,0),(1,2,1,0),(1,2,2,0),(1,2,3,0),(1,3,1,0),(1,3,2,0),(1,3,3,0),(1,1,1,1),(1,1,2,1),(1,1,3,1),(1,2,1,1),(1,2,2,1),(1,2,3,1),(1,3,1,1),(1,3,2,1),(1,3,3,1);
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
analyze table t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	7	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	analyze	status	OK
show index from t1;
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
t1	0	PRIMARY	1	f1	A	1	NULL	NULL		BTREE	
t1	0	PRIMARY	2	f2	A	3	NULL	NULL		BTREE	
t1	0	PRIMARY	3	f3	A	9	NULL	NULL		BTREE	
t1	0	PRIMARY	4	f4	A	18	NULL	NULL		BTREE	
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
repair table t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	42	7	Y	0	31	8
def					Op	253	3	6	Y	0	31	8
def					Msg_type	253	3	6	Y	0	31	8
def					Msg_text	253	85	2	Y	0	31	8
Table	Op	Msg_type	Msg_text
test.t1	repair	status	OK
show index from t1;
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
t1	0	PRIMARY	1	f1	A	1	NULL	NULL		BTREE	
t1	0	PRIMARY	2	f2	A	3	NULL	NULL		BTREE	
t1	0	PRIMARY	3	f3	A	9	NULL	NULL		BTREE	
t1	0	PRIMARY	4	f4	A	18	NULL	NULL		BTREE	
drop table t1;
create temporary table t1 (a int not null);
show create table t1;
Table	Create Table
t1	CREATE TEMPORARY TABLE `t1` (
  `a` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
alter table t1 rename t2;
show create table t2;
Table	Create Table
t2	CREATE TEMPORARY TABLE `t2` (
  `a` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t2;
create table t1 (
test_set set( 'val1', 'val2', 'val3' ) not null default '',
name char(20) default 'O''Brien' comment 'O''Brien as default',
c int not null comment 'int column',
`c-b` int comment 'name with a minus',
`space 2` int comment 'name with a space'
  ) comment = 'it\'s a table' ;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `test_set` set('val1','val2','val3') NOT NULL default '',
  `name` char(20) default 'O''Brien' COMMENT 'O''Brien as default',
  `c` int(11) NOT NULL COMMENT 'int column',
  `c-b` int(11) default NULL COMMENT 'name with a minus',
  `space 2` int(11) default NULL COMMENT 'name with a space'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='it''s a table'
set sql_quote_show_create=0;
show create table t1;
Table	Create Table
t1	CREATE TABLE t1 (
  test_set set('val1','val2','val3') NOT NULL default '',
  `name` char(20) default 'O''Brien' COMMENT 'O''Brien as default',
  c int(11) NOT NULL COMMENT 'int column',
  `c-b` int(11) default NULL COMMENT 'name with a minus',
  `space 2` int(11) default NULL COMMENT 'name with a space'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='it''s a table'
set sql_quote_show_create=1;
show full columns from t1;
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
test_set	set('val1','val2','val3')	latin1_swedish_ci	NO				select,insert,update,references	
name	char(20)	latin1_swedish_ci	YES		O'Brien		select,insert,update,references	O'Brien as default
c	int(11)	NULL	NO				select,insert,update,references	int column
c-b	int(11)	NULL	YES		NULL		select,insert,update,references	name with a minus
space 2	int(11)	NULL	YES		NULL		select,insert,update,references	name with a space
drop table t1;
create table t1 (a int not null, unique aa (a));
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  UNIQUE KEY `aa` (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a int not null, primary key (a));
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  PRIMARY KEY  (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
flush tables;
show open tables;
Database	Table	In_use	Name_locked
create table t1(n int);
insert into t1 values (1);
show open tables;
Database	Table	In_use	Name_locked
test	t1	0	0
drop table t1;
create table t1 (a int not null, b VARCHAR(10), INDEX (b) ) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" ENGINE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  `b` varchar(10) default NULL,
  KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
alter table t1 MAX_ROWS=200 ROW_FORMAT=dynamic PACK_KEYS=0;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  `b` varchar(10) default NULL,
  KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=200 AVG_ROW_LENGTH=10 PACK_KEYS=0 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='test'
ALTER TABLE t1 AVG_ROW_LENGTH=0 CHECKSUM=0 COMMENT="" MIN_ROWS=0 MAX_ROWS=0 PACK_KEYS=DEFAULT DELAY_KEY_WRITE=0 ROW_FORMAT=default;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  `b` varchar(10) default NULL,
  KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
create table t1 (a decimal(9,2), b decimal (9,0), e double(9,2), f double(5,0), h float(3,2), i float(3,0));
show columns from t1;
Field	Type	Null	Key	Default	Extra
a	decimal(9,2)	YES		NULL	
b	decimal(9,0)	YES		NULL	
e	double(9,2)	YES		NULL	
f	double(5,0)	YES		NULL	
h	float(3,2)	YES		NULL	
i	float(3,0)	YES		NULL	
show full columns from t1;
Field	Type	Collation	Null	Key	Default	Extra	Privileges	Comment
a	decimal(9,2)	NULL	YES		NULL		select,insert,update,references	
b	decimal(9,0)	NULL	YES		NULL		select,insert,update,references	
e	double(9,2)	NULL	YES		NULL		select,insert,update,references	
f	double(5,0)	NULL	YES		NULL		select,insert,update,references	
h	float(3,2)	NULL	YES		NULL		select,insert,update,references	
i	float(3,0)	NULL	YES		NULL		select,insert,update,references	
drop table t1;
create table t1 (
type_bool bool not null default 0,
type_tiny tinyint not null auto_increment primary key,
type_short smallint(3),
type_mediumint mediumint,
type_bigint bigint,
type_decimal decimal(5,2),
type_numeric numeric(5,2),
empty_char char(0),
type_char char(2),
type_varchar varchar(10),
type_timestamp timestamp not null,
type_date date not null default '0000-00-00',
type_time time not null default '00:00:00',
type_datetime datetime not null default '0000-00-00 00:00:00',
type_year year,
type_enum enum ('red', 'green', 'blue'),
type_set enum ('red', 'green', 'blue'),
type_tinyblob tinyblob,
type_blob blob,
type_medium_blob mediumblob,
type_long_blob longblob,
index(type_short)
) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" ENGINE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed CHARSET=latin1;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `type_bool` tinyint(1) NOT NULL default '0',
  `type_tiny` tinyint(4) NOT NULL auto_increment,
  `type_short` smallint(3) default NULL,
  `type_mediumint` mediumint(9) default NULL,
  `type_bigint` bigint(20) default NULL,
  `type_decimal` decimal(5,2) default NULL,
  `type_numeric` decimal(5,2) default NULL,
  `empty_char` char(0) default NULL,
  `type_char` char(2) default NULL,
  `type_varchar` varchar(10) default NULL,
  `type_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  `type_date` date NOT NULL default '0000-00-00',
  `type_time` time NOT NULL default '00:00:00',
  `type_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
  `type_year` year(4) default NULL,
  `type_enum` enum('red','green','blue') default NULL,
  `type_set` enum('red','green','blue') default NULL,
  `type_tinyblob` tinyblob,
  `type_blob` blob,
  `type_medium_blob` mediumblob,
  `type_long_blob` longblob,
  PRIMARY KEY  (`type_tiny`),
  KEY `type_short` (`type_short`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
insert into t1 (type_timestamp) values ("2003-02-07 10:00:01");
select * from t1;
type_bool	type_tiny	type_short	type_mediumint	type_bigint	type_decimal	type_numeric	empty_char	type_char	type_varchar	type_timestamp	type_date	type_time	type_datetime	type_year	type_enum	type_set	type_tinyblob	type_blob	type_medium_blob	type_long_blob
0	1	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	2003-02-07 10:00:01	0000-00-00	00:00:00	0000-00-00 00:00:00	NULL	NULL	NULL	NULL	NULL	NULL	NULL
drop table t1;
create table t1 (a int not null);
create table t2 select max(a) from t1;
show columns from t2;
Field	Type	Null	Key	Default	Extra
max(a)	int(11)	YES		NULL	
drop table t1,t2;
create table t1 (c decimal, d double, f float, r real);
show columns from t1;
Field	Type	Null	Key	Default	Extra
c	decimal(10,0)	YES		NULL	
d	double	YES		NULL	
f	float	YES		NULL	
r	double	YES		NULL	
drop table t1;
create table t1 (c decimal(3,3), d double(3,3), f float(3,3));
show columns from t1;
Field	Type	Null	Key	Default	Extra
c	decimal(3,3)	YES		NULL	
d	double(3,3)	YES		NULL	
f	float(3,3)	YES		NULL	
drop table t1;
SET @old_sql_mode= @@sql_mode, sql_mode= '';
SET @old_sql_quote_show_create= @@sql_quote_show_create, sql_quote_show_create= OFF;
CREATE TABLE `a/b` (i INT);
ERROR 42000: Incorrect table name 'a/b'
SET sql_mode= '';
SET sql_quote_show_create= OFF;
CREATE TABLE t1 (i INT);
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE t1 (
  i int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE `table` (i INT);
SHOW CREATE TABLE `table`;
Table	Create Table
table	CREATE TABLE `table` (
  i int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE `table`;
SET sql_quote_show_create= @old_sql_quote_show_create;
SET sql_mode= @old_sql_mode;
select @@max_heap_table_size;
@@max_heap_table_size
1048576
CREATE TABLE t1 (
a int(11) default NULL,
KEY a USING BTREE (a)
) ENGINE=HEAP;
CREATE TABLE t2 (
b int(11) default NULL,
index(b)
) ENGINE=HEAP;
CREATE TABLE t3 (
a int(11) default NULL,
b int(11) default NULL,
KEY a USING BTREE (a),
index(b)
) ENGINE=HEAP;
insert into t1 values (1),(2);
insert into t2 values (1),(2);
insert into t3 values (1,1),(2,2);
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
t1	MEMORY	10	Fixed	2	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	2	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	2	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
insert into t1 values (3),(4);
insert into t2 values (3),(4);
insert into t3 values (3,3),(4,4);
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
t1	MEMORY	10	Fixed	4	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	4	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	4	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
insert into t1 values (5);
insert into t2 values (5);
insert into t3 values (5,5);
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
t1	MEMORY	10	Fixed	5	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	5	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	5	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
delete from t1 where a=3;
delete from t2 where b=3;
delete from t3 where a=3;
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
t1	MEMORY	10	Fixed	4	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	4	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	4	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
delete from t1;
delete from t2;
delete from t3;
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
t1	MEMORY	10	Fixed	0	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	0	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	0	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
insert into t1 values (5);
insert into t2 values (5);
insert into t3 values (5,5);
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
t1	MEMORY	10	Fixed	1	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	1	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	1	#	#	#	#	0	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
delete from t1 where a=5;
delete from t2 where b=5;
delete from t3 where a=5;
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
t1	MEMORY	10	Fixed	0	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t2	MEMORY	10	Fixed	0	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
t3	MEMORY	10	Fixed	0	#	#	#	#	#	NULL	NULL	NULL	NULL	latin1_swedish_ci	NULL		
drop table t1, t2, t3;
create database mysqltest;
show create database mysqltest;
Database	Create Database
mysqltest	CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
create table mysqltest.t1(a int);
insert into mysqltest.t1 values(1);
grant select on `mysqltest`.* to mysqltest_1@localhost;
grant usage  on `mysqltest`.* to mysqltest_2@localhost;
grant drop   on `mysqltest`.* to mysqltest_3@localhost;
select * from t1;
a
1
show create database mysqltest;
Database	Create Database
mysqltest	CREATE DATABASE `mysqltest` /*!40100 DEFAULT CHARACTER SET latin1 */
drop table t1;
ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 't1'
drop database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
select * from mysqltest.t1;
ERROR 42000: SELECT command denied to user 'mysqltest_2'@'localhost' for table 't1'
show create database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysqltest'
drop table mysqltest.t1;
ERROR 42000: DROP command denied to user 'mysqltest_2'@'localhost' for table 't1'
drop database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_2'@'localhost' to database 'mysqltest'
select * from mysqltest.t1;
ERROR 42000: SELECT command denied to user 'mysqltest_3'@'localhost' for table 't1'
show create database mysqltest;
ERROR 42000: Access denied for user 'mysqltest_3'@'localhost' to database 'mysqltest'
drop table mysqltest.t1;
drop database mysqltest;
set names binary;
delete from mysql.user 
where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
delete from mysql.db   
where user='mysqltest_1' || user='mysqltest_2' || user='mysqltest_3';
flush privileges;
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY USING HASH (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` USING HASH (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` USING BTREE (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` USING BTREE (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` USING BTREE (`i`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ENGINE=MEMORY;
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `i` int(11) default NULL,
  KEY `i` USING BTREE (`i`)
) ENGINE=MEMORY DEFAULT CHARSET=latin1
DROP TABLE t1;
CREATE TABLE t1(
field1 text NOT NULL,
PRIMARY KEY(field1(1000))
);
show index from t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			STATISTICS	TABLE_NAME	Table	253	64	2	N	1	0	63
def			STATISTICS	NON_UNIQUE	Non_unique	8	1	1	N	32769	0	63
def			STATISTICS	INDEX_NAME	Key_name	253	64	7	N	1	0	63
def			STATISTICS	SEQ_IN_INDEX	Seq_in_index	8	2	1	N	32769	0	63
def			STATISTICS	COLUMN_NAME	Column_name	253	64	6	N	1	0	63
def			STATISTICS	COLLATION	Collation	253	1	1	Y	0	0	63
def			STATISTICS	CARDINALITY	Cardinality	8	21	1	Y	32768	0	63
def			STATISTICS	SUB_PART	Sub_part	8	3	4	Y	32768	0	63
def			STATISTICS	PACKED	Packed	253	10	0	Y	0	0	63
def			STATISTICS	NULLABLE	Null	253	3	0	N	1	0	63
def			STATISTICS	INDEX_TYPE	Index_type	253	16	5	N	1	0	63
def			STATISTICS	COMMENT	Comment	253	16	0	Y	0	0	63
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
t1	0	PRIMARY	1	field1	A	0	1000	NULL		BTREE	
drop table t1;
create table t1 (
c1 int NOT NULL,
c2 int NOT NULL,
PRIMARY KEY USING HASH (c1),
INDEX USING BTREE(c2)
);
SHOW CREATE TABLE t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `c1` int(11) NOT NULL,
  `c2` int(11) NOT NULL,
  PRIMARY KEY  USING HASH (`c1`),
  KEY `c2` USING BTREE (`c2`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
flush tables;
SHOW TABLE STATUS like 't1';
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	NULL	NULL	NULL	NULL	#	#	#	#	NULL	NULL	NULL	NULL	NULL	NULL	NULL	NULL	Incorrect information in file: './test/t1.frm'
show create table t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
drop table t1;
End of 4.1 tests
CREATE TABLE txt1(a int);
CREATE TABLE tyt2(a int);
CREATE TABLE urkunde(a int);
FLUSH TABLES;
SELECT 1 FROM mysql.db, mysql.proc, mysql.user, mysql.time_zone, mysql.time_zone_name, txt1, tyt2, urkunde LIMIT 0;
1
SHOW OPEN TABLES;
Database	Table	In_use	Name_locked
mysql	db	0	0
test	urkunde	0	0
mysql	time_zone	0	0
mysql	user	0	0
test	txt1	0	0
mysql	proc	0	0
test	tyt2	0	0
mysql	time_zone_name	0	0
SHOW OPEN TABLES FROM mysql;
Database	Table	In_use	Name_locked
mysql	db	0	0
mysql	time_zone	0	0
mysql	user	0	0
mysql	proc	0	0
mysql	time_zone_name	0	0
SHOW OPEN TABLES FROM mysql LIKE 'u%';
Database	Table	In_use	Name_locked
mysql	user	0	0
SHOW OPEN TABLES LIKE 't%';
Database	Table	In_use	Name_locked
mysql	time_zone	0	0
test	txt1	0	0
test	tyt2	0	0
mysql	time_zone_name	0	0
SHOW OPEN TABLES LIKE '%o%';
Database	Table	In_use	Name_locked
mysql	time_zone	0	0
mysql	proc	0	0
mysql	time_zone_name	0	0
FLUSH TABLES;
SHOW OPEN TABLES;
Database	Table	In_use	Name_locked
DROP TABLE txt1;
DROP TABLE tyt2;
DROP TABLE urkunde;
SHOW TABLES FROM non_existing_database;
ERROR 42000: Unknown database 'non_existing_database'
DROP VIEW IF EXISTS v1;
DROP PROCEDURE IF EXISTS p1;
CREATE VIEW v1 AS SELECT 1;
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE 1;
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE 1;
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache 1 AS `1`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `NOW()`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache now() AS `NOW()`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE SQL_NO_CACHE NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_NO_CACHE SQL_CACHE NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
DROP VIEW v1;
CREATE VIEW v1 AS SELECT SQL_CACHE SQL_NO_CACHE SQL_CACHE NOW();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_no_cache now() AS `NOW()`
DROP VIEW v1;
CREATE PROCEDURE p1()
BEGIN
SET @s= 'CREATE VIEW v1 AS SELECT SQL_CACHE 1';
PREPARE stmt FROM @s;
EXECUTE stmt;
DROP PREPARE stmt;
END |
CALL p1();
SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select sql_cache 1 AS `1`
DROP PROCEDURE p1;
DROP VIEW v1;
SHOW TABLES FROM no_such_database;
ERROR 42000: Unknown database 'no_such_database'
SHOW COLUMNS FROM no_such_table;
ERROR 42S02: Table 'test.no_such_table' doesn't exist
flush status;
show status like 'slow_queries';
Variable_name	Value
Slow_queries	0
show tables;
Tables_in_test
show status like 'slow_queries';
Variable_name	Value
Slow_queries	0
select 1 from information_schema.tables limit 1;
1
1
show status like 'slow_queries';
Variable_name	Value
Slow_queries	1
DROP DATABASE IF EXISTS mysqltest1;
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
DROP PROCEDURE IF EXISTS p1;
DROP FUNCTION IF EXISTS f1;
CREATE DATABASE mysqltest1;
CREATE TABLE t1(c INT NOT NULL PRIMARY KEY);
CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
CREATE VIEW v1 AS SELECT 1;
CREATE PROCEDURE p1() SELECT 1;
CREATE FUNCTION f1() RETURNS INT RETURN 1;
set names utf8;
-- Here we enable metadata just to check that the collation of the
-- resultset is non-binary for string type. This should be changed
-- after Bug#29394 is implemented.
----------------------------------------------------------------
SHOW CHARACTER SET LIKE 'utf8';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			CHARACTER_SETS	CHARACTER_SET_NAME	Charset	253	192	4	N	1	0	33
def			CHARACTER_SETS	DESCRIPTION	Description	253	180	13	N	1	0	33
def			CHARACTER_SETS	DEFAULT_COLLATE_NAME	Default collation	253	192	15	N	1	0	33
def			CHARACTER_SETS	MAXLEN	Maxlen	8	3	1	N	32769	0	63
Charset	Description	Default collation	Maxlen
utf8	UTF-8 Unicode	utf8_general_ci	3
----------------------------------------------------------------
SHOW COLLATION LIKE 'latin1_bin';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			COLLATIONS	COLLATION_NAME	Collation	253	192	10	N	1	0	33
def			COLLATIONS	CHARACTER_SET_NAME	Charset	253	192	6	N	1	0	33
def			COLLATIONS	ID	Id	8	11	2	N	32769	0	63
def			COLLATIONS	IS_DEFAULT	Default	253	9	0	N	1	0	33
def			COLLATIONS	IS_COMPILED	Compiled	253	9	3	N	1	0	33
def			COLLATIONS	SORTLEN	Sortlen	8	3	1	N	32769	0	63
Collation	Charset	Id	Default	Compiled	Sortlen
latin1_bin	latin1	47		Yes	1
----------------------------------------------------------------
SHOW CREATE DATABASE mysqltest1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Database	253	63	10	N	1	31	33
def					Create Database	253	1023	69	N	1	31	33
Database	Create Database
mysqltest1	CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
----------------------------------------------------------------
SHOW DATABASES LIKE 'mysqltest1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			SCHEMATA	SCHEMA_NAME	Database (mysqltest1)	253	192	10	N	1	0	33
Database (mysqltest1)
mysqltest1
----------------------------------------------------------------
SHOW CREATE TABLE t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Table	253	63	2	N	1	31	33
def					Create Table	253	1023	103	N	1	31	33
Table	Create Table
t1	CREATE TABLE `t1` (
  `c` int(11) NOT NULL,
  PRIMARY KEY  (`c`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
----------------------------------------------------------------
SHOW INDEX FROM t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			STATISTICS	TABLE_NAME	Table	253	192	2	N	1	0	33
def			STATISTICS	NON_UNIQUE	Non_unique	8	1	1	N	32769	0	63
def			STATISTICS	INDEX_NAME	Key_name	253	192	7	N	1	0	33
def			STATISTICS	SEQ_IN_INDEX	Seq_in_index	8	2	1	N	32769	0	63
def			STATISTICS	COLUMN_NAME	Column_name	253	192	1	N	1	0	33
def			STATISTICS	COLLATION	Collation	253	3	1	Y	0	0	33
def			STATISTICS	CARDINALITY	Cardinality	8	21	1	Y	32768	0	63
def			STATISTICS	SUB_PART	Sub_part	8	3	0	Y	32768	0	63
def			STATISTICS	PACKED	Packed	253	30	0	Y	0	0	33
def			STATISTICS	NULLABLE	Null	253	9	0	N	1	0	33
def			STATISTICS	INDEX_TYPE	Index_type	253	48	5	N	1	0	33
def			STATISTICS	COMMENT	Comment	253	48	0	Y	0	0	33
Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment
t1	0	PRIMARY	1	c	A	0	NULL	NULL		BTREE	
----------------------------------------------------------------
SELECT
TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE,
ENGINE,
ROW_FORMAT,
TABLE_COLLATION,
CREATE_OPTIONS,
TABLE_COMMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name = 't1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			TABLES	TABLE_CATALOG	TABLE_CATALOG	253	1536	0	Y	0	0	33
def			TABLES	TABLE_SCHEMA	TABLE_SCHEMA	253	192	4	N	1	0	33
def			TABLES	TABLE_NAME	TABLE_NAME	253	192	2	N	1	0	33
def			TABLES	TABLE_TYPE	TABLE_TYPE	253	192	10	N	1	0	33
def			TABLES	ENGINE	ENGINE	253	192	6	Y	0	0	33
def			TABLES	ROW_FORMAT	ROW_FORMAT	253	30	5	Y	0	0	33
def			TABLES	TABLE_COLLATION	TABLE_COLLATION	253	192	17	Y	0	0	33
def			TABLES	CREATE_OPTIONS	CREATE_OPTIONS	253	765	0	Y	0	0	33
def			TABLES	TABLE_COMMENT	TABLE_COMMENT	253	240	0	N	1	0	33
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	TABLE_TYPE	ENGINE	ROW_FORMAT	TABLE_COLLATION	CREATE_OPTIONS	TABLE_COMMENT
NULL	test	t1	BASE TABLE	MyISAM	Fixed	latin1_swedish_ci		
----------------------------------------------------------------
SELECT
TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
COLUMN_DEFAULT,
IS_NULLABLE,
DATA_TYPE,
CHARACTER_SET_NAME,
COLLATION_NAME,
COLUMN_TYPE,
COLUMN_KEY,
EXTRA,
PRIVILEGES,
COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 't1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			COLUMNS	TABLE_CATALOG	TABLE_CATALOG	253	1536	0	Y	0	0	33
def			COLUMNS	TABLE_SCHEMA	TABLE_SCHEMA	253	192	4	N	1	0	33
def			COLUMNS	TABLE_NAME	TABLE_NAME	253	192	2	N	1	0	33
def			COLUMNS	COLUMN_NAME	COLUMN_NAME	253	192	1	N	1	0	33
def			COLUMNS	COLUMN_DEFAULT	COLUMN_DEFAULT	252	589815	0	Y	16	0	33
def			COLUMNS	IS_NULLABLE	IS_NULLABLE	253	9	2	N	1	0	33
def			COLUMNS	DATA_TYPE	DATA_TYPE	253	192	3	N	1	0	33
def			COLUMNS	CHARACTER_SET_NAME	CHARACTER_SET_NAME	253	192	0	Y	0	0	33
def			COLUMNS	COLLATION_NAME	COLLATION_NAME	253	192	0	Y	0	0	33
def			COLUMNS	COLUMN_TYPE	COLUMN_TYPE	252	589815	7	N	17	0	33
def			COLUMNS	COLUMN_KEY	COLUMN_KEY	253	9	3	N	1	0	33
def			COLUMNS	EXTRA	EXTRA	253	60	0	N	1	0	33
def			COLUMNS	PRIVILEGES	PRIVILEGES	253	240	31	N	1	0	33
def			COLUMNS	COLUMN_COMMENT	COLUMN_COMMENT	253	765	0	N	1	0	33
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	COLUMN_NAME	COLUMN_DEFAULT	IS_NULLABLE	DATA_TYPE	CHARACTER_SET_NAME	COLLATION_NAME	COLUMN_TYPE	COLUMN_KEY	EXTRA	PRIVILEGES	COLUMN_COMMENT
NULL	test	t1	c	NULL	NO	int	NULL	NULL	int(11)	PRI		select,insert,update,references	
----------------------------------------------------------------
SHOW TABLES LIKE 't1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			TABLE_NAMES	TABLE_NAME	Tables_in_test (t1)	253	192	2	N	1	0	33
Tables_in_test (t1)
t1
----------------------------------------------------------------
SHOW COLUMNS FROM t1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			COLUMNS	COLUMN_NAME	Field	253	192	1	N	1	0	33
def			COLUMNS	COLUMN_TYPE	Type	252	589815	7	N	17	0	33
def			COLUMNS	IS_NULLABLE	Null	253	9	2	N	1	0	33
def			COLUMNS	COLUMN_KEY	Key	253	9	3	N	1	0	33
def			COLUMNS	COLUMN_DEFAULT	Default	252	589815	0	Y	16	0	33
def			COLUMNS	EXTRA	Extra	253	60	0	N	1	0	33
Field	Type	Null	Key	Default	Extra
c	int(11)	NO	PRI		
----------------------------------------------------------------
SHOW TRIGGERS LIKE 't1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			TRIGGERS	TRIGGER_NAME	Trigger	253	192	5	N	1	0	33
def			TRIGGERS	EVENT_MANIPULATION	Event	253	18	6	N	1	0	33
def			TRIGGERS	EVENT_OBJECT_TABLE	Table	253	192	2	N	1	0	33
def			TRIGGERS	ACTION_STATEMENT	Statement	252	589815	10	N	17	0	33
def			TRIGGERS	ACTION_TIMING	Timing	253	18	6	N	1	0	33
def			TRIGGERS	CREATED	Created	12	19	0	Y	128	0	63
def			TRIGGERS	SQL_MODE	sql_mode	252	589815	0	N	17	0	33
def			TRIGGERS	DEFINER	Definer	252	589815	14	N	17	0	33
Trigger	Event	Table	Statement	Timing	Created	sql_mode	Definer
t1_bi	INSERT	t1	SET @a = 1	BEFORE	NULL		root@localhost
----------------------------------------------------------------
SELECT 
TRIGGER_CATALOG,
TRIGGER_SCHEMA,
TRIGGER_NAME,
EVENT_MANIPULATION,
EVENT_OBJECT_CATALOG,
EVENT_OBJECT_SCHEMA,
EVENT_OBJECT_TABLE,
ACTION_CONDITION,
ACTION_STATEMENT,
ACTION_ORIENTATION,
ACTION_TIMING,
ACTION_REFERENCE_OLD_TABLE,
ACTION_REFERENCE_NEW_TABLE,
ACTION_REFERENCE_OLD_ROW,
ACTION_REFERENCE_NEW_ROW,
SQL_MODE,
DEFINER
FROM INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_name = 't1_bi';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			TRIGGERS	TRIGGER_CATALOG	TRIGGER_CATALOG	253	1536	0	Y	0	0	33
def			TRIGGERS	TRIGGER_SCHEMA	TRIGGER_SCHEMA	253	192	4	N	1	0	33
def			TRIGGERS	TRIGGER_NAME	TRIGGER_NAME	253	192	5	N	1	0	33
def			TRIGGERS	EVENT_MANIPULATION	EVENT_MANIPULATION	253	18	6	N	1	0	33
def			TRIGGERS	EVENT_OBJECT_CATALOG	EVENT_OBJECT_CATALOG	253	1536	0	Y	0	0	33
def			TRIGGERS	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_SCHEMA	253	192	4	N	1	0	33
def			TRIGGERS	EVENT_OBJECT_TABLE	EVENT_OBJECT_TABLE	253	192	2	N	1	0	33
def			TRIGGERS	ACTION_CONDITION	ACTION_CONDITION	252	589815	0	Y	16	0	33
def			TRIGGERS	ACTION_STATEMENT	ACTION_STATEMENT	252	589815	10	N	17	0	33
def			TRIGGERS	ACTION_ORIENTATION	ACTION_ORIENTATION	253	27	3	N	1	0	33
def			TRIGGERS	ACTION_TIMING	ACTION_TIMING	253	18	6	N	1	0	33
def			TRIGGERS	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_OLD_TABLE	253	192	0	Y	0	0	33
def			TRIGGERS	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_NEW_TABLE	253	192	0	Y	0	0	33
def			TRIGGERS	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_OLD_ROW	253	9	3	N	1	0	33
def			TRIGGERS	ACTION_REFERENCE_NEW_ROW	ACTION_REFERENCE_NEW_ROW	253	9	3	N	1	0	33
def			TRIGGERS	SQL_MODE	SQL_MODE	252	589815	0	N	17	0	33
def			TRIGGERS	DEFINER	DEFINER	252	589815	14	N	17	0	33
TRIGGER_CATALOG	TRIGGER_SCHEMA	TRIGGER_NAME	EVENT_MANIPULATION	EVENT_OBJECT_CATALOG	EVENT_OBJECT_SCHEMA	EVENT_OBJECT_TABLE	ACTION_CONDITION	ACTION_STATEMENT	ACTION_ORIENTATION	ACTION_TIMING	ACTION_REFERENCE_OLD_TABLE	ACTION_REFERENCE_NEW_TABLE	ACTION_REFERENCE_OLD_ROW	ACTION_REFERENCE_NEW_ROW	SQL_MODE	DEFINER
NULL	test	t1_bi	INSERT	NULL	test	t1	NULL	SET @a = 1	ROW	BEFORE	NULL	NULL	OLD	NEW		root@localhost
----------------------------------------------------------------
SHOW CREATE VIEW v1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					View	253	63	2	N	1	31	33
def					Create View	253	1023	103	N	1	31	33
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1`
----------------------------------------------------------------
SELECT *
FROM INFORMATION_SCHEMA.VIEWS
WHERE table_name = 'v1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			VIEWS	TABLE_CATALOG	TABLE_CATALOG	253	1536	0	Y	0	0	33
def			VIEWS	TABLE_SCHEMA	TABLE_SCHEMA	253	192	4	N	1	0	33
def			VIEWS	TABLE_NAME	TABLE_NAME	253	192	2	N	1	0	33
def			VIEWS	VIEW_DEFINITION	VIEW_DEFINITION	252	589815	41	N	17	0	33
def			VIEWS	CHECK_OPTION	CHECK_OPTION	253	24	4	N	1	0	33
def			VIEWS	IS_UPDATABLE	IS_UPDATABLE	253	9	2	N	1	0	33
def			VIEWS	DEFINER	DEFINER	253	231	14	N	1	0	33
def			VIEWS	SECURITY_TYPE	SECURITY_TYPE	253	21	7	N	1	0	33
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	VIEW_DEFINITION	CHECK_OPTION	IS_UPDATABLE	DEFINER	SECURITY_TYPE
NULL	test	v1	/* ALGORITHM=UNDEFINED */ select 1 AS `1`	NONE	NO	root@localhost	DEFINER
----------------------------------------------------------------
SHOW CREATE PROCEDURE p1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Procedure	253	63	2	N	1	31	33
def					sql_mode	253	0	0	N	1	31	33
def					Create Procedure	253	2046	59	Y	0	31	33
Procedure	sql_mode	Create Procedure
p1		CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
SELECT 1
----------------------------------------------------------------
SELECT
SPECIFIC_NAME,
ROUTINE_CATALOG,
ROUTINE_SCHEMA,
ROUTINE_NAME,
ROUTINE_TYPE,
DTD_IDENTIFIER,
ROUTINE_BODY,
ROUTINE_DEFINITION,
EXTERNAL_NAME,
EXTERNAL_LANGUAGE,
PARAMETER_STYLE,
IS_DETERMINISTIC,
SQL_DATA_ACCESS,
SQL_PATH,
SECURITY_TYPE,
SQL_MODE,
ROUTINE_COMMENT,
DEFINER
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_name = 'p1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			ROUTINES	SPECIFIC_NAME	SPECIFIC_NAME	253	192	2	N	1	0	33
def			ROUTINES	ROUTINE_CATALOG	ROUTINE_CATALOG	253	1536	0	Y	0	0	33
def			ROUTINES	ROUTINE_SCHEMA	ROUTINE_SCHEMA	253	192	4	N	1	0	33
def			ROUTINES	ROUTINE_NAME	ROUTINE_NAME	253	192	2	N	1	0	33
def			ROUTINES	ROUTINE_TYPE	ROUTINE_TYPE	253	27	9	N	1	0	33
def			ROUTINES	DTD_IDENTIFIER	DTD_IDENTIFIER	253	192	0	Y	0	0	33
def			ROUTINES	ROUTINE_BODY	ROUTINE_BODY	253	24	3	N	1	0	33
def			ROUTINES	ROUTINE_DEFINITION	ROUTINE_DEFINITION	252	589815	8	Y	16	0	33
def			ROUTINES	EXTERNAL_NAME	EXTERNAL_NAME	253	192	0	Y	0	0	33
def			ROUTINES	EXTERNAL_LANGUAGE	EXTERNAL_LANGUAGE	253	192	0	Y	0	0	33
def			ROUTINES	PARAMETER_STYLE	PARAMETER_STYLE	253	24	3	N	1	0	33
def			ROUTINES	IS_DETERMINISTIC	IS_DETERMINISTIC	253	9	2	N	1	0	33
def			ROUTINES	SQL_DATA_ACCESS	SQL_DATA_ACCESS	253	192	12	N	1	0	33
def			ROUTINES	SQL_PATH	SQL_PATH	253	192	0	Y	0	0	33
def			ROUTINES	SECURITY_TYPE	SECURITY_TYPE	253	21	7	N	1	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	252	589815	0	N	17	0	33
def			ROUTINES	ROUTINE_COMMENT	ROUTINE_COMMENT	253	192	0	N	1	0	33
def			ROUTINES	DEFINER	DEFINER	253	231	14	N	1	0	33
SPECIFIC_NAME	ROUTINE_CATALOG	ROUTINE_SCHEMA	ROUTINE_NAME	ROUTINE_TYPE	DTD_IDENTIFIER	ROUTINE_BODY	ROUTINE_DEFINITION	EXTERNAL_NAME	EXTERNAL_LANGUAGE	PARAMETER_STYLE	IS_DETERMINISTIC	SQL_DATA_ACCESS	SQL_PATH	SECURITY_TYPE	SQL_MODE	ROUTINE_COMMENT	DEFINER
p1	NULL	test	p1	PROCEDURE	NULL	SQL	SELECT 1	NULL	NULL	SQL	NO	CONTAINS SQL	NULL	DEFINER			root@localhost
----------------------------------------------------------------
SHOW CREATE FUNCTION f1;
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def					Function	253	63	2	N	1	31	33
def					sql_mode	253	0	0	N	1	31	33
def					Create Function	253	2046	74	Y	0	31	33
Function	sql_mode	Create Function
f1		CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
RETURN 1
----------------------------------------------------------------
SELECT
SPECIFIC_NAME,
ROUTINE_CATALOG,
ROUTINE_SCHEMA,
ROUTINE_NAME,
ROUTINE_TYPE,
DTD_IDENTIFIER,
ROUTINE_BODY,
ROUTINE_DEFINITION,
EXTERNAL_NAME,
EXTERNAL_LANGUAGE,
PARAMETER_STYLE,
IS_DETERMINISTIC,
SQL_DATA_ACCESS,
SQL_PATH,
SECURITY_TYPE,
SQL_MODE,
ROUTINE_COMMENT,
DEFINER
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_name = 'f1';
Catalog	Database	Table	Table_alias	Column	Column_alias	Type	Length	Max length	Is_null	Flags	Decimals	Charsetnr
def			ROUTINES	SPECIFIC_NAME	SPECIFIC_NAME	253	192	2	N	1	0	33
def			ROUTINES	ROUTINE_CATALOG	ROUTINE_CATALOG	253	1536	0	Y	0	0	33
def			ROUTINES	ROUTINE_SCHEMA	ROUTINE_SCHEMA	253	192	4	N	1	0	33
def			ROUTINES	ROUTINE_NAME	ROUTINE_NAME	253	192	2	N	1	0	33
def			ROUTINES	ROUTINE_TYPE	ROUTINE_TYPE	253	27	8	N	1	0	33
def			ROUTINES	DTD_IDENTIFIER	DTD_IDENTIFIER	253	192	7	Y	0	0	33
def			ROUTINES	ROUTINE_BODY	ROUTINE_BODY	253	24	3	N	1	0	33
def			ROUTINES	ROUTINE_DEFINITION	ROUTINE_DEFINITION	252	589815	8	Y	16	0	33
def			ROUTINES	EXTERNAL_NAME	EXTERNAL_NAME	253	192	0	Y	0	0	33
def			ROUTINES	EXTERNAL_LANGUAGE	EXTERNAL_LANGUAGE	253	192	0	Y	0	0	33
def			ROUTINES	PARAMETER_STYLE	PARAMETER_STYLE	253	24	3	N	1	0	33
def			ROUTINES	IS_DETERMINISTIC	IS_DETERMINISTIC	253	9	2	N	1	0	33
def			ROUTINES	SQL_DATA_ACCESS	SQL_DATA_ACCESS	253	192	12	N	1	0	33
def			ROUTINES	SQL_PATH	SQL_PATH	253	192	0	Y	0	0	33
def			ROUTINES	SECURITY_TYPE	SECURITY_TYPE	253	21	7	N	1	0	33
def			ROUTINES	SQL_MODE	SQL_MODE	252	589815	0	N	17	0	33
def			ROUTINES	ROUTINE_COMMENT	ROUTINE_COMMENT	253	192	0	N	1	0	33
def			ROUTINES	DEFINER	DEFINER	253	231	14	N	1	0	33
SPECIFIC_NAME	ROUTINE_CATALOG	ROUTINE_SCHEMA	ROUTINE_NAME	ROUTINE_TYPE	DTD_IDENTIFIER	ROUTINE_BODY	ROUTINE_DEFINITION	EXTERNAL_NAME	EXTERNAL_LANGUAGE	PARAMETER_STYLE	IS_DETERMINISTIC	SQL_DATA_ACCESS	SQL_PATH	SECURITY_TYPE	SQL_MODE	ROUTINE_COMMENT	DEFINER
f1	NULL	test	f1	FUNCTION	int(11)	SQL	RETURN 1	NULL	NULL	SQL	NO	CONTAINS SQL	NULL	DEFINER			root@localhost
----------------------------------------------------------------
DROP DATABASE mysqltest1;
DROP TABLE t1;
DROP VIEW v1;
DROP PROCEDURE p1;
DROP FUNCTION f1;
End of 5.0 tests