1
drop table if exists t1,t2,t3;
4
auto int(5) unsigned NOT NULL auto_increment,
5
string char(10) default "hello",
6
tiny tinyint(4) DEFAULT '0' NOT NULL ,
7
short smallint(6) DEFAULT '1' NOT NULL ,
8
medium mediumint(8) DEFAULT '0' NOT NULL,
9
long_int int(11) DEFAULT '0' NOT NULL,
10
longlong bigint(13) DEFAULT '0' NOT NULL,
11
real_float float(13,1) DEFAULT 0.0 NOT NULL,
12
real_double double(16,4),
13
utiny tinyint(3) unsigned DEFAULT '0' NOT NULL,
14
ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
15
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
16
ulong int(11) unsigned DEFAULT '0' NOT NULL,
17
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
23
tinyblob_col tinyblob,
24
mediumblob_col mediumblob not null default '',
25
longblob_col longblob not null default '',
26
options enum('one','two','tree') not null ,
27
flags set('one','two','tree') not null default '',
32
KEY any_name (medium),
38
KEY (ulonglong,ulong),
42
Warning 1101 BLOB/TEXT column 'mediumblob_col' can't have a default value
43
Warning 1101 BLOB/TEXT column 'longblob_col' can't have a default value
44
show full fields from t1;
45
Field Type Collation Null Key Default Extra Privileges Comment
46
auto int(5) unsigned NULL NO PRI NULL auto_increment #
47
string char(10) latin1_swedish_ci YES hello #
48
tiny tinyint(4) NULL NO MUL 0 #
49
short smallint(6) NULL NO MUL 1 #
50
medium mediumint(8) NULL NO MUL 0 #
51
long_int int(11) NULL NO 0 #
52
longlong bigint(13) NULL NO MUL 0 #
53
real_float float(13,1) NULL NO MUL 0.0 #
54
real_double double(16,4) NULL YES NULL #
55
utiny tinyint(3) unsigned NULL NO MUL 0 #
56
ushort smallint(5) unsigned zerofill NULL NO MUL 00000 #
57
umedium mediumint(8) unsigned NULL NO MUL 0 #
58
ulong int(11) unsigned NULL NO MUL 0 #
59
ulonglong bigint(13) unsigned NULL NO MUL 0 #
60
time_stamp timestamp NULL NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP #
61
date_field date NULL YES NULL #
62
time_field time NULL YES NULL #
63
date_time datetime NULL YES NULL #
64
blob_col blob NULL YES NULL #
65
tinyblob_col tinyblob NULL YES NULL #
66
mediumblob_col mediumblob NULL NO NULL #
67
longblob_col longblob NULL NO NULL #
68
options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
69
flags set('one','two','tree') latin1_swedish_ci NO #
71
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
72
t1 0 PRIMARY 1 auto A 0 NULL NULL BTREE
73
t1 1 utiny 1 utiny A NULL NULL NULL BTREE
74
t1 1 tiny 1 tiny A NULL NULL NULL BTREE
75
t1 1 short 1 short A NULL NULL NULL BTREE
76
t1 1 any_name 1 medium A NULL NULL NULL BTREE
77
t1 1 longlong 1 longlong A NULL NULL NULL BTREE
78
t1 1 real_float 1 real_float A NULL NULL NULL BTREE
79
t1 1 ushort 1 ushort A NULL NULL NULL BTREE
80
t1 1 umedium 1 umedium A NULL NULL NULL BTREE
81
t1 1 ulong 1 ulong A NULL NULL NULL BTREE
82
t1 1 ulonglong 1 ulonglong A NULL NULL NULL BTREE
83
t1 1 ulonglong 2 ulong A NULL NULL NULL BTREE
84
t1 1 options 1 options A NULL NULL NULL BTREE
85
t1 1 options 2 flags A NULL NULL NULL BTREE
86
CREATE UNIQUE INDEX test on t1 ( auto ) ;
87
CREATE INDEX test2 on t1 ( ulonglong,ulong) ;
88
CREATE INDEX test3 on t1 ( medium ) ;
89
DROP INDEX test ON t1;
90
insert into t1 values (10, 1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one');
91
insert into t1 values (NULL,2,2,2,2,2,2,2,2,2,2,2,2,2,NULL,NULL,NULL,NULL,NULL,NULL,2,2,'two','two,one');
92
insert into t1 values (0,1/3,3,3,3,3,3,3,3,3,3,3,3,3,NULL,'19970303','10:10:10','19970303101010','','','','3',3,3);
94
Warning 1265 Data truncated for column 'string' at row 1
95
insert into t1 values (0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,NULL,19970807,080706,19970403090807,-1,-1,-1,'-1',-1,-1);
97
Warning 1264 Out of range value for column 'utiny' at row 1
98
Warning 1264 Out of range value for column 'ushort' at row 1
99
Warning 1264 Out of range value for column 'umedium' at row 1
100
Warning 1264 Out of range value for column 'ulong' at row 1
101
Warning 1264 Out of range value for column 'ulonglong' at row 1
102
Warning 1265 Data truncated for column 'options' at row 1
103
Warning 1265 Data truncated for column 'flags' at row 1
104
insert into t1 values (0,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,-4294967295,NULL,0,0,0,-4294967295,-4294967295,-4294967295,'-4294967295',0,"one,two,tree");
106
Warning 1265 Data truncated for column 'string' at row 1
107
Warning 1264 Out of range value for column 'tiny' at row 1
108
Warning 1264 Out of range value for column 'short' at row 1
109
Warning 1264 Out of range value for column 'medium' at row 1
110
Warning 1264 Out of range value for column 'long_int' at row 1
111
Warning 1264 Out of range value for column 'utiny' at row 1
112
Warning 1264 Out of range value for column 'ushort' at row 1
113
Warning 1264 Out of range value for column 'umedium' at row 1
114
Warning 1264 Out of range value for column 'ulong' at row 1
115
Warning 1264 Out of range value for column 'ulonglong' at row 1
116
Warning 1265 Data truncated for column 'options' at row 1
117
insert into t1 values (0,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,NULL,0,0,0,4294967295,4294967295,4294967295,'4294967295',0,0);
119
Warning 1264 Out of range value for column 'tiny' at row 1
120
Warning 1264 Out of range value for column 'short' at row 1
121
Warning 1264 Out of range value for column 'medium' at row 1
122
Warning 1264 Out of range value for column 'long_int' at row 1
123
Warning 1264 Out of range value for column 'utiny' at row 1
124
Warning 1264 Out of range value for column 'ushort' at row 1
125
Warning 1264 Out of range value for column 'umedium' at row 1
126
Warning 1265 Data truncated for column 'options' at row 1
127
insert into t1 (tiny) values (1);
128
select auto,string,tiny,short,medium,long_int,longlong,real_float,real_double,utiny,ushort,umedium,ulong,ulonglong,mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000),date_field,time_field,date_time,blob_col,tinyblob_col,mediumblob_col,longblob_col from t1;
129
auto string tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong mod(floor(time_stamp/1000000),1000000)-mod(curdate(),1000000) date_field time_field date_time blob_col tinyblob_col mediumblob_col longblob_col
130
10 1 1 1 1 1 1 1.0 1.0000 1 00001 1 1 1 0 0000-00-00 00:00:00 0000-00-00 00:00:00 1 1 1 1
131
11 2 2 2 2 2 2 2.0 2.0000 2 00002 2 2 2 0 NULL NULL NULL NULL NULL 2 2
132
12 0.33333333 3 3 3 3 3 3.0 3.0000 3 00003 3 3 3 0 1997-03-03 10:10:10 1997-03-03 10:10:10 3
133
13 -1 -1 -1 -1 -1 -1 -1.0 -1.0000 0 00000 0 0 0 0 1997-08-07 08:07:06 1997-04-03 09:08:07 -1 -1 -1 -1
134
14 -429496729 -128 -32768 -8388608 -2147483648 -4294967295 -4294967296.0 -4294967295.0000 0 00000 0 0 0 0 0000-00-00 00:00:00 0000-00-00 00:00:00 -4294967295 -4294967295 -4294967295 -4294967295
135
15 4294967295 127 32767 8388607 2147483647 4294967295 4294967296.0 4294967295.0000 255 65535 16777215 4294967295 4294967295 0 0000-00-00 00:00:00 0000-00-00 00:00:00 4294967295 4294967295 4294967295 4294967295
136
16 hello 1 1 0 0 0 0.0 NULL 0 00000 0 0 0 0 NULL NULL NULL NULL NULL
138
add new_field char(10) default "new" not null,
139
change blob_col new_blob_col varchar(20),
140
change date_field date_field char(10),
141
alter column string set default "newdefault",
142
alter short drop default,
146
DROP FOREIGN KEY any_name,
148
LOCK TABLES t1 WRITE;
153
ALTER TABLE t2 rename as t3;
154
LOCK TABLES t3 WRITE ;
155
ALTER TABLE t3 rename as t1;
157
select auto,new_field,new_blob_col,date_field from t1 ;
158
auto new_field new_blob_col date_field
163
14 new -4294967295 0000-00-00
164
15 new 4294967295 0000-00-00
167
auto int(5) unsigned NOT NULL auto_increment,
169
mediumblob_col mediumblob not null,
173
INSERT INTO t2 (string,mediumblob_col,new_field) SELECT string,mediumblob_col,new_field from t1 where auto > 10;
175
Warning 1265 Data truncated for column 'new_field' at row 2
176
Warning 1265 Data truncated for column 'new_field' at row 3
177
Warning 1265 Data truncated for column 'new_field' at row 4
178
Warning 1265 Data truncated for column 'new_field' at row 5
179
Warning 1265 Data truncated for column 'new_field' at row 6
180
Warning 1265 Data truncated for column 'new_field' at row 7
182
auto string mediumblob_col new_field
186
4 -429496729 -4294967295 ne
187
5 4294967295 4294967295 ne
189
select distinct flags from t1;
195
select flags from t1 where find_in_set("two",flags)>0;
201
select flags from t1 where find_in_set("unknown",flags)>0;
203
select options,flags from t1 where options="ONE" and flags="ONE";
206
select options,flags from t1 where options="one" and flags="one";
210
create table t2 select * from t1;
211
update t2 set string="changed" where auto=16;
212
show full columns from t1;
213
Field Type Collation Null Key Default Extra Privileges Comment
214
auto int(5) unsigned NULL NO MUL NULL auto_increment #
215
string char(10) latin1_swedish_ci YES newdefault #
216
tiny tinyint(4) NULL NO MUL 0 #
217
short smallint(6) NULL NO MUL NULL #
218
medium mediumint(8) NULL NO MUL 0 #
219
long_int int(11) NULL NO 0 #
220
longlong bigint(13) NULL NO MUL 0 #
221
real_float float(13,1) NULL NO MUL 0.0 #
222
real_double double(16,4) NULL YES NULL #
223
utiny tinyint(3) unsigned NULL NO 0 #
224
ushort smallint(5) unsigned zerofill NULL NO 00000 #
225
umedium mediumint(8) unsigned NULL NO MUL 0 #
226
ulong int(11) unsigned NULL NO MUL 0 #
227
ulonglong bigint(13) unsigned NULL NO MUL 0 #
228
time_stamp timestamp NULL NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP #
229
date_field char(10) latin1_swedish_ci YES NULL #
230
time_field time NULL YES NULL #
231
date_time datetime NULL YES NULL #
232
new_blob_col varchar(20) latin1_swedish_ci YES NULL #
233
tinyblob_col tinyblob NULL YES NULL #
234
mediumblob_col mediumblob NULL NO NULL #
235
options enum('one','two','tree') latin1_swedish_ci NO MUL NULL #
236
flags set('one','two','tree') latin1_swedish_ci NO #
237
new_field char(10) latin1_swedish_ci NO new #
238
show full columns from t2;
239
Field Type Collation Null Key Default Extra Privileges Comment
240
auto int(5) unsigned NULL NO 0 #
241
string char(10) latin1_swedish_ci YES newdefault #
242
tiny tinyint(4) NULL NO 0 #
243
short smallint(6) NULL NO NULL #
244
medium mediumint(8) NULL NO 0 #
245
long_int int(11) NULL NO 0 #
246
longlong bigint(13) NULL NO 0 #
247
real_float float(13,1) NULL NO 0.0 #
248
real_double double(16,4) NULL YES NULL #
249
utiny tinyint(3) unsigned NULL NO 0 #
250
ushort smallint(5) unsigned zerofill NULL NO 00000 #
251
umedium mediumint(8) unsigned NULL NO 0 #
252
ulong int(11) unsigned NULL NO 0 #
253
ulonglong bigint(13) unsigned NULL NO 0 #
254
time_stamp timestamp NULL NO 0000-00-00 00:00:00 #
255
date_field char(10) latin1_swedish_ci YES NULL #
256
time_field time NULL YES NULL #
257
date_time datetime NULL YES NULL #
258
new_blob_col varchar(20) latin1_swedish_ci YES NULL #
259
tinyblob_col tinyblob NULL YES NULL #
260
mediumblob_col mediumblob NULL NO NULL #
261
options enum('one','two','tree') latin1_swedish_ci NO NULL #
262
flags set('one','two','tree') latin1_swedish_ci NO #
263
new_field char(10) latin1_swedish_ci NO new #
264
select t1.auto,t2.auto from t1,t2 where t1.auto=t2.auto and ((t1.string<>t2.string and (t1.string is not null or t2.string is not null)) or (t1.tiny<>t2.tiny and (t1.tiny is not null or t2.tiny is not null)) or (t1.short<>t2.short and (t1.short is not null or t2.short is not null)) or (t1.medium<>t2.medium and (t1.medium is not null or t2.medium is not null)) or (t1.long_int<>t2.long_int and (t1.long_int is not null or t2.long_int is not null)) or (t1.longlong<>t2.longlong and (t1.longlong is not null or t2.longlong is not null)) or (t1.real_float<>t2.real_float and (t1.real_float is not null or t2.real_float is not null)) or (t1.real_double<>t2.real_double and (t1.real_double is not null or t2.real_double is not null)) or (t1.utiny<>t2.utiny and (t1.utiny is not null or t2.utiny is not null)) or (t1.ushort<>t2.ushort and (t1.ushort is not null or t2.ushort is not null)) or (t1.umedium<>t2.umedium and (t1.umedium is not null or t2.umedium is not null)) or (t1.ulong<>t2.ulong and (t1.ulong is not null or t2.ulong is not null)) or (t1.ulonglong<>t2.ulonglong and (t1.ulonglong is not null or t2.ulonglong is not null)) or (t1.time_stamp<>t2.time_stamp and (t1.time_stamp is not null or t2.time_stamp is not null)) or (t1.date_field<>t2.date_field and (t1.date_field is not null or t2.date_field is not null)) or (t1.time_field<>t2.time_field and (t1.time_field is not null or t2.time_field is not null)) or (t1.date_time<>t2.date_time and (t1.date_time is not null or t2.date_time is not null)) or (t1.new_blob_col<>t2.new_blob_col and (t1.new_blob_col is not null or t2.new_blob_col is not null)) or (t1.tinyblob_col<>t2.tinyblob_col and (t1.tinyblob_col is not null or t2.tinyblob_col is not null)) or (t1.mediumblob_col<>t2.mediumblob_col and (t1.mediumblob_col is not null or t2.mediumblob_col is not null)) or (t1.options<>t2.options and (t1.options is not null or t2.options is not null)) or (t1.flags<>t2.flags and (t1.flags is not null or t2.flags is not null)) or (t1.new_field<>t2.new_field and (t1.new_field is not null or t2.new_field is not null)));
267
select t1.auto,t2.auto from t1,t2 where t1.auto=t2.auto and not (t1.string<=>t2.string and t1.tiny<=>t2.tiny and t1.short<=>t2.short and t1.medium<=>t2.medium and t1.long_int<=>t2.long_int and t1.longlong<=>t2.longlong and t1.real_float<=>t2.real_float and t1.real_double<=>t2.real_double and t1.utiny<=>t2.utiny and t1.ushort<=>t2.ushort and t1.umedium<=>t2.umedium and t1.ulong<=>t2.ulong and t1.ulonglong<=>t2.ulonglong and t1.time_stamp<=>t2.time_stamp and t1.date_field<=>t2.date_field and t1.time_field<=>t2.time_field and t1.date_time<=>t2.date_time and t1.new_blob_col<=>t2.new_blob_col and t1.tinyblob_col<=>t2.tinyblob_col and t1.mediumblob_col<=>t2.mediumblob_col and t1.options<=>t2.options and t1.flags<=>t2.flags and t1.new_field<=>t2.new_field);
271
create table t2 (primary key (auto)) select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1;
272
show full columns from t2;
273
Field Type Collation Null Key Default Extra Privileges Comment
274
auto bigint(12) unsigned NULL NO PRI 0 #
275
t1 int(1) NULL NO 0 #
276
t2 varchar(1) latin1_swedish_ci NO #
277
t3 varchar(256) latin1_swedish_ci NO #
278
t4 varbinary(256) NULL NO #
279
t5 longtext latin1_swedish_ci NO NULL #
280
t6 longblob NULL NO NULL #
281
t7 char(0) latin1_swedish_ci NO #
282
t8 binary(0) NULL NO #
283
select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2;
284
t1 t2 length(t3) length(t4) length(t5) length(t6) t7 t8
285
1 a 256 256 4096 4096
286
1 a 256 256 4096 4096
287
1 a 256 256 4096 4096
288
1 a 256 256 4096 4096
289
1 a 256 256 4096 4096
290
1 a 256 256 4096 4096
291
1 a 256 256 4096 4096
293
create table t1 (c int);
294
insert into t1 values(1),(2);
295
create table t2 select * from t1;
296
create table t3 select * from t1, t2;
297
ERROR 42S21: Duplicate column name 'c'
298
create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2;
299
show full columns from t3;
300
Field Type Collation Null Key Default Extra Privileges Comment
301
c1 int(11) NULL YES NULL #
302
c2 int(11) NULL YES NULL #
303
const int(1) NULL NO 0 #
305
create table t1 ( myfield INT NOT NULL, UNIQUE INDEX (myfield), unique (myfield), index(myfield));
307
create table t1 ( id integer unsigned not null primary key );
308
create table t2 ( id integer unsigned not null primary key );
309
insert into t1 values (1), (2);
310
insert into t2 values (1);
311
select t1.id as id_A, t2.id as id_B from t1 left join t2 using ( id );
315
select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id);
319
create table t3 (id_A integer unsigned not null, id_B integer unsigned null );
320
insert into t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 using ( id );
326
insert into t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id);
332
create table t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 using ( id );
338
create table t3 select t1.id as id_A, t2.id as id_B from t1 left join t2 on (t1.id = t2.id);