client/mysqlmanagerc.c
added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results
This commit is contained in:
parent
043deed839
commit
bb66c80aeb
@ -414,3 +414,4 @@ vio/test-sslclient
|
||||
vio/test-sslserver
|
||||
vio/viotest-ssl
|
||||
client/mysqlmanager-pwgen
|
||||
*.reject
|
||||
|
@ -169,9 +169,11 @@ int main(int argc, char** argv)
|
||||
manager->last_errno);
|
||||
for (;!feof(fp);)
|
||||
{
|
||||
char buf[1024];
|
||||
char buf[4096];
|
||||
if (!fgets(buf,sizeof(buf),fp))
|
||||
break;
|
||||
if (!quiet)
|
||||
fprintf(fp_out,"<<%s",buf);
|
||||
if (mysql_manager_command(manager,buf,strlen(buf)))
|
||||
die("Error in command: %s(%d)",manager->last_error,manager->last_errno);
|
||||
while (!manager->eof)
|
||||
@ -179,7 +181,8 @@ int main(int argc, char** argv)
|
||||
if (mysql_manager_fetch_line(manager,buf,sizeof(buf)))
|
||||
die("Error fetching result line: %s(%d)", manager->last_error,
|
||||
manager->last_errno);
|
||||
fprintf(fp_out,"%s\n",buf);
|
||||
if (!quiet)
|
||||
fprintf(fp_out,">>%s\n",buf);
|
||||
}
|
||||
}
|
||||
mysql_manager_close(manager);
|
||||
|
@ -139,11 +139,13 @@ typedef struct
|
||||
int int_val;
|
||||
int alloced_len;
|
||||
int int_dirty; /* do not update string if int is updated until first read */
|
||||
int alloced;
|
||||
} VAR;
|
||||
|
||||
VAR var_reg[10];
|
||||
/*Perl/shell-like variable registers */
|
||||
HASH var_hash;
|
||||
int disable_query_log=0;
|
||||
|
||||
struct connection cons[MAX_CONS];
|
||||
struct connection* cur_con, *next_con, *cons_end;
|
||||
@ -165,6 +167,7 @@ Q_DIRTY_CLOSE, Q_REPLACE,
|
||||
Q_PING, Q_EVAL,
|
||||
Q_RPL_PROBE, Q_ENABLE_RPL_PARSE,
|
||||
Q_DISABLE_RPL_PARSE, Q_EVAL_RESULT,
|
||||
Q_ENABLE_QUERY_LOG, Q_DISABLE_QUERY_LOG,
|
||||
Q_UNKNOWN, /* Unknown command. */
|
||||
Q_COMMENT, /* Comments, ignored. */
|
||||
Q_COMMENT_WITH_COMMAND
|
||||
@ -196,6 +199,7 @@ const char *command_names[] = {
|
||||
"ping", "eval",
|
||||
"rpl_probe", "enable_rpl_parse",
|
||||
"disable_rpl_parse", "eval_result",
|
||||
"enable_query_log", "disable_query_log",
|
||||
0
|
||||
};
|
||||
|
||||
@ -619,6 +623,18 @@ int var_query_set(VAR* v, const char* p, const char** p_end)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void var_copy(VAR* dest, VAR* src)
|
||||
{
|
||||
dest->int_val=src->int_val;
|
||||
dest->int_dirty=src->int_dirty;
|
||||
if (dest->alloced_len < src->alloced_len &&
|
||||
!(dest->str_val=my_realloc(dest->str_val,src->alloced_len,
|
||||
MYF(MY_WME))))
|
||||
die("Out of memory");
|
||||
dest->str_val_len=src->str_val_len;
|
||||
memcpy(dest->str_val,src->str_val,src->str_val_len);
|
||||
}
|
||||
|
||||
int eval_expr(VAR* v, const char* p, const char** p_end)
|
||||
{
|
||||
VAR* vp;
|
||||
@ -626,7 +642,7 @@ int eval_expr(VAR* v, const char* p, const char** p_end)
|
||||
{
|
||||
if ((vp = var_get(p,p_end,0)))
|
||||
{
|
||||
memcpy(v, vp, sizeof(*v));
|
||||
var_copy(v, vp);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -699,6 +715,7 @@ int do_system(struct st_query* q)
|
||||
if (system(expr_buf) && q->abort_on_error)
|
||||
die("system command '%s' failed", expr_buf);
|
||||
}
|
||||
var_free(&v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -714,6 +731,7 @@ int do_echo(struct st_query* q)
|
||||
write(1, v.str_val, v.str_val_len);
|
||||
}
|
||||
write(1, "\n", 1);
|
||||
var_free(&v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1190,10 +1208,10 @@ int do_done(struct st_query* q)
|
||||
parser.current_line = *--cur_block;
|
||||
}
|
||||
else
|
||||
{
|
||||
++parser.current_line;
|
||||
--cur_block;
|
||||
}
|
||||
{
|
||||
++parser.current_line;
|
||||
--cur_block;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1202,7 +1220,6 @@ int do_while(struct st_query* q)
|
||||
char* p=q->first_argument;
|
||||
const char* expr_start, *expr_end;
|
||||
VAR v;
|
||||
var_init(&v,0,0,0,0);
|
||||
if (cur_block == block_stack_end)
|
||||
die("Nesting too deeply");
|
||||
if (!*block_ok)
|
||||
@ -1219,6 +1236,7 @@ int do_while(struct st_query* q)
|
||||
expr_end = strrchr(expr_start, ')');
|
||||
if (!expr_end)
|
||||
die("missing ')' in while");
|
||||
var_init(&v,0,0,0,0);
|
||||
eval_expr(&v, ++expr_start, &expr_end);
|
||||
*cur_block++ = parser.current_line++;
|
||||
if (!v.int_val)
|
||||
@ -1228,6 +1246,7 @@ int do_while(struct st_query* q)
|
||||
}
|
||||
else
|
||||
*++block_ok = 1;
|
||||
var_free(&v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1727,6 +1746,11 @@ int run_query(MYSQL* mysql, struct st_query* q, int flags)
|
||||
|
||||
if ((flags & QUERY_SEND) && mysql_send_query(mysql, query, query_len))
|
||||
die("At line %u: unable to send query '%s'", start_lineno, query);
|
||||
if ((flags & QUERY_SEND) && !disable_query_log)
|
||||
{
|
||||
dynstr_append_mem(ds,query,query_len);
|
||||
dynstr_append_mem(ds,";\n",2);
|
||||
}
|
||||
if(!(flags & QUERY_REAP))
|
||||
return 0;
|
||||
|
||||
@ -1743,7 +1767,11 @@ int run_query(MYSQL* mysql, struct st_query* q, int flags)
|
||||
for (i=0 ; q->expected_errno[i] ; i++)
|
||||
{
|
||||
if ((q->expected_errno[i] == mysql_errno(mysql)))
|
||||
{
|
||||
dynstr_append(ds,mysql_error(mysql));
|
||||
dynstr_append_mem(ds,"\n",1);
|
||||
goto end; /* Ok */
|
||||
}
|
||||
}
|
||||
if (i)
|
||||
{
|
||||
@ -1887,6 +1915,7 @@ static VAR* var_init(VAR* v, const char* name, int name_len, const char* val,
|
||||
die("Out of memory");
|
||||
|
||||
tmp_var->name = (name) ? (char*)tmp_var + sizeof(*tmp_var) : 0;
|
||||
tmp_var->alloced = (v == 0);
|
||||
|
||||
if(!(tmp_var->str_val = my_malloc(val_alloc_len, MYF(MY_WME))))
|
||||
die("Out of memory");
|
||||
@ -1905,7 +1934,8 @@ static VAR* var_init(VAR* v, const char* name, int name_len, const char* val,
|
||||
static void var_free(void* v)
|
||||
{
|
||||
my_free(((VAR*) v)->str_val, MYF(MY_WME));
|
||||
my_free((char*) v, MYF(MY_WME));
|
||||
if (((VAR*)v)->alloced)
|
||||
my_free((char*) v, MYF(MY_WME));
|
||||
}
|
||||
|
||||
|
||||
@ -2008,6 +2038,8 @@ int main(int argc, char** argv)
|
||||
case Q_RPL_PROBE: do_rpl_probe(q); break;
|
||||
case Q_ENABLE_RPL_PARSE: do_enable_rpl_parse(q); break;
|
||||
case Q_DISABLE_RPL_PARSE: do_disable_rpl_parse(q); break;
|
||||
case Q_ENABLE_QUERY_LOG: disable_query_log=0; break;
|
||||
case Q_DISABLE_QUERY_LOG: disable_query_log=1; break;
|
||||
case Q_SOURCE: do_source(q); break;
|
||||
case Q_SLEEP: do_sleep(q); break;
|
||||
case Q_INC: do_inc(q); break;
|
||||
|
@ -98,7 +98,8 @@ MYSQL_TEST_DIR=$BASEDIR/mysql-test
|
||||
export MYSQL_TEST_DIR
|
||||
STD_DATA=$MYSQL_TEST_DIR/std_data
|
||||
hostname=`hostname` # Installed in the mysql privilege table
|
||||
|
||||
|
||||
MANAGER_QUIET_OPT="-q"
|
||||
TESTDIR="$MYSQL_TEST_DIR/t"
|
||||
TESTSUFFIX=test
|
||||
TOT_SKIP=0
|
||||
@ -119,6 +120,9 @@ MASTER_MYPORT=9306
|
||||
SLAVE_RUNNING=0
|
||||
SLAVE_MYPORT=9307
|
||||
MYSQL_MANAGER_PORT=23546
|
||||
MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd
|
||||
MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
|
||||
MYSQL_MANAGER_USER=root
|
||||
NO_SLAVE=0
|
||||
|
||||
EXTRA_MASTER_OPT=""
|
||||
@ -131,11 +135,14 @@ DO_CLIENT_GDB=""
|
||||
SLEEP_TIME=2
|
||||
CHARACTER_SET=latin1
|
||||
DBUSER=""
|
||||
START_WAIT_TIMEOUT=3
|
||||
STOP_WAIT_TIMEOUT=3
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;;
|
||||
--force) FORCE=1 ;;
|
||||
--verbose-manager) MANAGER_QUIET_OPT="" ;;
|
||||
--local) USE_RUNNING_SERVER="" ;;
|
||||
--tmpdir=*) MYSQL_TMP_DIR=`$ECHO "$1" | $SED -e "s;--tmpdir=;;"` ;;
|
||||
--master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;;
|
||||
@ -158,6 +165,9 @@ while test $# -gt 0; do
|
||||
--skip-rpl) NO_SLAVE=1 ;;
|
||||
--skip-test=*) SKIP_TEST=`$ECHO "$1" | $SED -e "s;--skip-test=;;"`;;
|
||||
--do-test=*) DO_TEST=`$ECHO "$1" | $SED -e "s;--do-test=;;"`;;
|
||||
--wait-timeout=*)
|
||||
START_WAIT_TIMEOUT=`$ECHO "$1" | $SED -e "s;--wait-timeout=;;"`
|
||||
STOP_WAIT_TIMEOUT=$START_WAIT_TIMEOUT;;
|
||||
--record)
|
||||
RECORD=1;
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
@ -187,6 +197,8 @@ while test $# -gt 0; do
|
||||
DO_GPROF=1
|
||||
;;
|
||||
--gdb )
|
||||
START_WAIT_TIMEOUT=300
|
||||
STOP_WAIT_TIMEOUT=300
|
||||
if [ x$BINARY_DIST = x1 ] ; then
|
||||
$ECHO "Note: you will get more meaningful output on a source distribution compiled with debugging option when running tests with --gdb option"
|
||||
fi
|
||||
@ -337,6 +349,7 @@ GPROF_MASTER=$GPROF_DIR/master.gprof
|
||||
GPROF_SLAVE=$GPROF_DIR/slave.gprof
|
||||
TIMEFILE="$MYSQL_TMP_DIR/mysqltest-time"
|
||||
SLAVE_MYSQLD=$MYSQLD #this can be changed later if we are doing gcov
|
||||
XTERM=`which xterm`
|
||||
|
||||
#++
|
||||
# Function Definitions
|
||||
@ -503,21 +516,48 @@ abort_if_failed()
|
||||
|
||||
start_manager()
|
||||
{
|
||||
MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -o $MYSQL_MANAGER_PW_FILE`
|
||||
MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -u $MYSQL_MANAGER_USER \
|
||||
-o $MYSQL_MANAGER_PW_FILE`
|
||||
$MYSQL_MANAGER --log=$MYSQL_MANAGER_LOG --port=$MYSQL_MANAGER_PORT \
|
||||
--password-file=$MYSQL_MANAGER_PW_FILE
|
||||
abort_if_failed "Could not start MySQL manager"
|
||||
}
|
||||
|
||||
manager_cmd()
|
||||
stop_manager()
|
||||
{
|
||||
$MYSQL_MANAGER_CLIENT --user=$MYSQL_MANAGER_USER \
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT -u$MYSQL_MANAGER_USER \
|
||||
-p$MYSQL_MANAGER_PW -P $MYSQL_MANAGER_PORT <<EOF
|
||||
shutdown
|
||||
EOF
|
||||
}
|
||||
|
||||
manager_launch()
|
||||
{
|
||||
ident=$1
|
||||
shift
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
|
||||
--password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <<EOF
|
||||
$@
|
||||
def_exec $ident $@
|
||||
set_exec_stdout $ident $CUR_MYERR
|
||||
set_exec_stderr $ident $CUR_MYERR
|
||||
set_exec_con $ident root localhost $CUR_MYSOCK
|
||||
start_exec $ident $START_WAIT_TIMEOUT
|
||||
EOF
|
||||
abort_if_failed "Could not execute manager command"
|
||||
}
|
||||
|
||||
manager_term()
|
||||
{
|
||||
ident=$1
|
||||
shift
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
|
||||
--password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <<EOF
|
||||
stop_exec $ident $TERM_WAIT_TIMEOUT
|
||||
EOF
|
||||
abort_if_failed "Could not execute manager command"
|
||||
}
|
||||
|
||||
|
||||
start_master()
|
||||
{
|
||||
[ x$MASTER_RUNNING = 1 ] && return
|
||||
@ -564,21 +604,24 @@ start_master()
|
||||
--innodb_data_file_path=ibdata1:50M \
|
||||
$SMALL_SERVER \
|
||||
$EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
|
||||
fi
|
||||
fi
|
||||
|
||||
CUR_MYERR=$MASTER_MYERR
|
||||
CUR_MYSOCK=$MASTER_MYSOCK
|
||||
|
||||
if [ x$DO_DDD = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT
|
||||
ddd --debugger "gdb -x $GDB_MASTER_INIT" $MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the master"
|
||||
manager_launch master ddd -display $DISPLAY --debugger \
|
||||
"gdb -x $GDB_MASTER_INIT" $MYSQLD
|
||||
elif [ x$DO_GDB = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT
|
||||
xterm -title "Master" -e gdb -x $GDB_MASTER_INIT $MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the master"
|
||||
manager_launch master $XTERM -display :0 -title "Master" -e gdb -x \
|
||||
$GDB_MASTER_INIT $MYSQLD
|
||||
else
|
||||
$MYSQLD $master_args >> $MASTER_MYERR 2>&1 &
|
||||
manager_launch master $MYSQLD $master_args
|
||||
fi
|
||||
wait_for_server_start $MASTER_MYPORT
|
||||
MASTER_RUNNING=1
|
||||
}
|
||||
|
||||
@ -607,7 +650,7 @@ start_slave()
|
||||
$RM -f $SLAVE_MYDDIR/log.*
|
||||
slave_args="--no-defaults $master_info \
|
||||
--exit-info=256 \
|
||||
--log-bin=$MYSQL_TEST_DIR/var/log/slave-bin
|
||||
--log-bin=$MYSQL_TEST_DIR/var/log/slave-bin \
|
||||
--log-slave-updates \
|
||||
--basedir=$MY_BASEDIR \
|
||||
--datadir=$SLAVE_MYDDIR \
|
||||
@ -626,20 +669,22 @@ start_slave()
|
||||
--report-port=$SLAVE_MYPORT \
|
||||
$SMALL_SERVER \
|
||||
$EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
|
||||
CUR_MYERR=$SLAVE_MYERR
|
||||
CUR_MYSOCK=$SLAVE_MYSOCK
|
||||
|
||||
if [ x$DO_DDD = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_SLAVE_INIT
|
||||
ddd --debugger "gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the slave"
|
||||
manager_launch slave ddd -display $DISPLAY --debugger \
|
||||
"gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD
|
||||
elif [ x$DO_GDB = x1 ]
|
||||
then
|
||||
$ECHO "set args $slave_args" > $GDB_SLAVE_INIT
|
||||
xterm -title "Slave" -e gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the slave"
|
||||
manager_launch slave $XTERM -display $DISPLAY -title "Slave" -e gdb -x \
|
||||
$GDB_SLAVE_INIT $SLAVE_MYSQLD
|
||||
else
|
||||
$SLAVE_MYSQLD $slave_args >> $SLAVE_MYERR 2>&1 &
|
||||
manager_launch slave $SLAVE_MYSQLD $slave_args
|
||||
fi
|
||||
wait_for_server_start $SLAVE_MYPORT
|
||||
SLAVE_RUNNING=1
|
||||
}
|
||||
|
||||
@ -655,7 +700,7 @@ stop_slave ()
|
||||
{
|
||||
if [ x$SLAVE_RUNNING = x1 ]
|
||||
then
|
||||
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O shutdown_timeout=10 shutdown
|
||||
manager_term slave
|
||||
if [ $? != 0 ] && [ -f $SLAVE_MYPID ]
|
||||
then # try harder!
|
||||
$ECHO "slave not cooperating with mysqladmin, will try manual kill"
|
||||
@ -677,7 +722,7 @@ stop_master ()
|
||||
{
|
||||
if [ x$MASTER_RUNNING = x1 ]
|
||||
then
|
||||
$MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O shutdown_timeout=10 shutdown
|
||||
manager_term master
|
||||
if [ $? != 0 ] && [ -f $MASTER_MYPID ]
|
||||
then # try harder!
|
||||
$ECHO "master not cooperating with mysqladmin, will try manual kill"
|
||||
@ -862,6 +907,7 @@ run_testcase ()
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && [ -z "$DO_DDD" ]
|
||||
then
|
||||
mysql_stop
|
||||
stop_manager
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
@ -894,7 +940,8 @@ then
|
||||
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 shutdown > /dev/null 2>&1
|
||||
$ECHO "Installing Test Databases"
|
||||
mysql_install_db
|
||||
|
||||
$ECHO "Starting MySQL Manager"
|
||||
start_manager
|
||||
#do not automagically start deamons if we are in gdb or running only one test
|
||||
#case
|
||||
if [ -z "$DO_GDB" ] && [ -z "$DO_DDD" ]
|
||||
@ -926,10 +973,10 @@ then
|
||||
fi
|
||||
cd $savedir
|
||||
mysql_stop
|
||||
stop_manager
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
$ECHO
|
||||
$ECHO " TEST USER SYSTEM ELAPSED RESULT"
|
||||
$ECHO $DASH72
|
||||
@ -963,6 +1010,7 @@ then
|
||||
mysql_stop
|
||||
fi
|
||||
|
||||
stop_manager
|
||||
report_stats
|
||||
$ECHO
|
||||
|
||||
|
@ -1,2 +1,61 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
cont_nr int(11) NOT NULL auto_increment,
|
||||
ver_nr int(11) NOT NULL default '0',
|
||||
aufnr int(11) NOT NULL default '0',
|
||||
username varchar(50) NOT NULL default '',
|
||||
hdl_nr int(11) NOT NULL default '0',
|
||||
eintrag date NOT NULL default '0000-00-00',
|
||||
st_klasse varchar(40) NOT NULL default '',
|
||||
st_wert varchar(40) NOT NULL default '',
|
||||
st_zusatz varchar(40) NOT NULL default '',
|
||||
st_bemerkung varchar(255) NOT NULL default '',
|
||||
kunden_art varchar(40) NOT NULL default '',
|
||||
mcbs_knr int(11) default NULL,
|
||||
mcbs_aufnr int(11) NOT NULL default '0',
|
||||
schufa_status char(1) default '?',
|
||||
bemerkung text,
|
||||
wirknetz text,
|
||||
wf_igz int(11) NOT NULL default '0',
|
||||
tarifcode varchar(80) default NULL,
|
||||
recycle char(1) default NULL,
|
||||
sim varchar(30) default NULL,
|
||||
mcbs_tpl varchar(30) default NULL,
|
||||
emp_nr int(11) NOT NULL default '0',
|
||||
laufzeit int(11) default NULL,
|
||||
hdl_name varchar(30) default NULL,
|
||||
prov_hdl_nr int(11) NOT NULL default '0',
|
||||
auto_wirknetz varchar(50) default NULL,
|
||||
auto_billing varchar(50) default NULL,
|
||||
touch timestamp(14) NOT NULL,
|
||||
kategorie varchar(50) default NULL,
|
||||
kundentyp varchar(20) NOT NULL default '',
|
||||
sammel_rech_msisdn varchar(30) NOT NULL default '',
|
||||
p_nr varchar(9) NOT NULL default '',
|
||||
suffix char(3) NOT NULL default '',
|
||||
PRIMARY KEY (cont_nr),
|
||||
KEY idx_aufnr(aufnr),
|
||||
KEY idx_hdl_nr(hdl_nr),
|
||||
KEY idx_st_klasse(st_klasse),
|
||||
KEY ver_nr(ver_nr),
|
||||
KEY eintrag_idx(eintrag),
|
||||
KEY emp_nr_idx(emp_nr),
|
||||
KEY wf_igz(wf_igz),
|
||||
KEY touch(touch),
|
||||
KEY hdl_tag(eintrag,hdl_nr),
|
||||
KEY prov_hdl_nr(prov_hdl_nr),
|
||||
KEY mcbs_aufnr(mcbs_aufnr),
|
||||
KEY kundentyp(kundentyp),
|
||||
KEY p_nr(p_nr,suffix)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES (3359356,405,3359356,'Mustermann Musterfrau',52500,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1485525,2122316,'+','','N',1909160,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',3,24,'MobilCom Shop Koeln',52500,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
INSERT INTO t1 VALUES (3359357,468,3359357,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1503580,2139699,'+','','P',1909171,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
INSERT INTO t1 VALUES (3359358,407,3359358,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1501358,2137473,'N','','N',1909159,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
INSERT INTO t1 VALUES (3359359,468,3359359,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1507831,2143894,'+','','P',1909162,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
INSERT INTO t1 VALUES (3359360,0,0,'Mustermann Musterfrau',29674907,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1900169997,2414578,'+',NULL,'N',1909148,'',NULL,NULL,'RV99066_2',20,NULL,'POS',29674907,NULL,NULL,20010202105916,'Mobilfunk','','','97317481','007');
|
||||
INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag storniert','','(7001-84):Storno, Kd. möchte nicht mehr','privat',NULL,0,'+','','P',1909150,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und geprüft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
|
||||
SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie;
|
||||
Kundentyp kategorie
|
||||
Privat (Private Nutzung) Mobilfunk
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,20 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
col1 int not null auto_increment primary key,
|
||||
col2 varchar(30) not null,
|
||||
col3 varchar (20) not null,
|
||||
col4 varchar(4) not null,
|
||||
col5 enum('PENDING', 'ACTIVE', 'DISABLED') not null,
|
||||
col6 int not null, to_be_deleted int);
|
||||
alter table t1
|
||||
add column col4_5 varchar(20) not null after col4,
|
||||
add column col7 varchar(30) not null after col6,
|
||||
add column col8 datetime not null, drop column to_be_deleted;
|
||||
drop table t1;
|
||||
create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
|
||||
insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
|
||||
alter table t1 add column new_col int, order by payoutid,bandid;
|
||||
select * from t1;
|
||||
bandID payoutID new_col
|
||||
6 1 NULL
|
||||
3 4 NULL
|
||||
@ -7,6 +24,8 @@ bandID payoutID new_col
|
||||
5 10 NULL
|
||||
7 12 NULL
|
||||
8 12 NULL
|
||||
alter table t1 order by bandid,payoutid;
|
||||
select * from t1;
|
||||
bandID payoutID new_col
|
||||
1 6 NULL
|
||||
2 6 NULL
|
||||
@ -16,19 +35,76 @@ bandID payoutID new_col
|
||||
6 1 NULL
|
||||
7 12 NULL
|
||||
8 12 NULL
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
GROUP_ID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
LANG_ID smallint(5) unsigned DEFAULT '0' NOT NULL,
|
||||
NAME varchar(80) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (GROUP_ID,LANG_ID),
|
||||
KEY NAME (NAME));
|
||||
ALTER TABLE t1 CHANGE NAME NAME CHAR(80) not null;
|
||||
SHOW FULL COLUMNS FROM t1;
|
||||
Field Type Null Key Default Extra Privileges
|
||||
GROUP_ID int(10) unsigned PRI 0 select,insert,update,references
|
||||
LANG_ID smallint(5) unsigned PRI 0 select,insert,update,references
|
||||
NAME char(80) MUL select,insert,update,references
|
||||
DROP TABLE t1;
|
||||
create table t1 (n int);
|
||||
insert into t1 values(9),(3),(12),(10);
|
||||
alter table t1 order by n;
|
||||
select * from t1;
|
||||
n
|
||||
3
|
||||
9
|
||||
10
|
||||
12
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) unsigned NOT NULL default '0',
|
||||
category_id tinyint(4) unsigned NOT NULL default '0',
|
||||
type_id tinyint(4) unsigned NOT NULL default '0',
|
||||
body text NOT NULL,
|
||||
user_id int(11) unsigned NOT NULL default '0',
|
||||
status enum('new','old') NOT NULL default 'new',
|
||||
PRIMARY KEY (id)
|
||||
) TYPE=MyISAM;
|
||||
ALTER TABLE t1 ORDER BY t1.id, t1.status, t1.type_id, t1.user_id, t1.body;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (AnamneseId int(10) unsigned NOT NULL auto_increment,B BLOB,PRIMARY KEY (AnamneseId)) type=myisam;
|
||||
insert into t1 values (null,"hello");
|
||||
LOCK TABLES t1 WRITE;
|
||||
ALTER TABLE t1 ADD Column new_col int not null;
|
||||
UNLOCK TABLES;
|
||||
OPTIMIZE TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize status OK
|
||||
DROP TABLE t1;
|
||||
create table t1 (n1 int not null, n2 int, n3 int, n4 float,
|
||||
unique(n1),
|
||||
key (n1, n2, n3, n4),
|
||||
key (n2, n3, n4, n1),
|
||||
key (n3, n4, n1, n2),
|
||||
key (n4, n1, n2, n3) );
|
||||
alter table t1 disable keys;
|
||||
insert into t1 values(10,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(9,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(8,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(7,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(6,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(5,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(4,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(3,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(2,RAND()*1000,RAND()*1000,RAND());
|
||||
insert into t1 values(1,RAND()*1000,RAND()*1000,RAND());
|
||||
alter table t1 enable keys;
|
||||
drop table t1;
|
||||
create table t1 (i int unsigned not null auto_increment primary key);
|
||||
insert into t1 values (null),(null),(null),(null);
|
||||
alter table t1 drop i,add i int unsigned not null auto_increment, drop primary key, add primary key (i);
|
||||
select * from t1;
|
||||
i
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,13 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (i int, j int);
|
||||
insert into t1 values (1,2), (3,4), (5,6), (7,8);
|
||||
select * from t1 procedure analyse();
|
||||
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
||||
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
|
||||
t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
|
||||
create table t2 select * from t1 procedure analyse();
|
||||
select * from t2;
|
||||
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
|
||||
t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
|
||||
t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
|
||||
drop table t1,t2;
|
||||
|
@ -1,32 +1,75 @@
|
||||
create table t1 (a int not null auto_increment,b int, primary key (a)) type=myisam auto_increment=3;
|
||||
insert into t1 values (1,1),(NULL,3),(NULL,4);
|
||||
delete from t1 where a=4;
|
||||
insert into t1 values (NULL,5),(NULL,6);
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
3 3
|
||||
5 5
|
||||
6 6
|
||||
delete from t1 where a=6;
|
||||
replace t1 values (3,1);
|
||||
ALTER TABLE t1 add c int;
|
||||
replace t1 values (3,3,3);
|
||||
insert into t1 values (NULL,7,7);
|
||||
update t1 set a=8,b=b+1,c=c+1 where a=7;
|
||||
insert into t1 values (NULL,9,9);
|
||||
select * from t1;
|
||||
a b c
|
||||
1 1 NULL
|
||||
3 3 3
|
||||
5 5 NULL
|
||||
8 8 8
|
||||
9 9 9
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment,b int, primary key (a)) type=isam;
|
||||
insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4);
|
||||
delete from t1 where a=4 or a=2;
|
||||
insert into t1 values (NULL,4),(NULL,5),(6,6);
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
5 5
|
||||
3 3
|
||||
4 4
|
||||
6 6
|
||||
delete from t1 where a=6;
|
||||
replace t1 values (3,1);
|
||||
replace t1 values (3,3);
|
||||
ALTER TABLE t1 add c int;
|
||||
insert into t1 values (NULL,6,6);
|
||||
select * from t1;
|
||||
a b c
|
||||
1 1 NULL
|
||||
5 5 NULL
|
||||
3 3 NULL
|
||||
4 4 NULL
|
||||
6 6 6
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
skey tinyint unsigned NOT NULL auto_increment PRIMARY KEY,
|
||||
sval char(20)
|
||||
);
|
||||
insert into t1 values (NULL, "hello");
|
||||
insert into t1 values (NULL, "hey");
|
||||
select * from t1;
|
||||
skey sval
|
||||
1 hello
|
||||
2 hey
|
||||
select _rowid,t1._rowid,skey,sval from t1;
|
||||
_rowid _rowid skey sval
|
||||
1 1 1 hello
|
||||
2 2 2 hey
|
||||
drop table t1;
|
||||
create table t1 (a char(10) not null, b int not null auto_increment, primary key(a,b));
|
||||
insert into t1 values ("a",1),("b",2),("a",2),("c",1);
|
||||
insert into t1 values ("a",NULL),("b",NULL),("c",NULL),("e",NULL);
|
||||
insert into t1 (a) values ("a"),("b"),("c"),("d");
|
||||
insert into t1 (a) values ('k'),('d');
|
||||
insert into t1 (a) values ("a");
|
||||
insert into t1 values ("d",last_insert_id());
|
||||
select * from t1;
|
||||
a b
|
||||
a 1
|
||||
a 2
|
||||
@ -44,9 +87,17 @@ d 2
|
||||
d 5
|
||||
e 1
|
||||
k 1
|
||||
drop table t1;
|
||||
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ordid), index(ord,ordid));
|
||||
insert into t1 (ordid,ord) values (NULL,'sdj'),(NULL,'sdj');
|
||||
select * from t1;
|
||||
ordid ord
|
||||
1 sdj
|
||||
2 sdj
|
||||
drop table t1;
|
||||
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid));
|
||||
insert into t1 values (NULL,'sdj'),(NULL,'sdj'),(NULL,"abc"),(NULL,'abc'),(NULL,'zzz'),(NULL,'sdj'),(NULL,'abc');
|
||||
select * from t1;
|
||||
ordid ord
|
||||
1 abc
|
||||
2 abc
|
||||
@ -55,8 +106,15 @@ ordid ord
|
||||
2 sdj
|
||||
3 sdj
|
||||
1 zzz
|
||||
drop table t1;
|
||||
create table t1 (a int not null primary key auto_increment);
|
||||
insert into t1 values (0);
|
||||
update t1 set a=0;
|
||||
select * from t1;
|
||||
a
|
||||
0
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check warning Found row where the auto_increment column has the value 0
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
@ -1,43 +1,72 @@
|
||||
set SQL_LOG_BIN=0;
|
||||
drop table if exists t1;
|
||||
create table t1(n int);
|
||||
backup table t1 to '../bogus';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup error Failed copying .frm file: errno = X
|
||||
test.t1 backup status Operation failed
|
||||
backup table t1 to '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup status OK
|
||||
drop table t1;
|
||||
restore table t1 from '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore status OK
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
insert into t1 values (23),(45),(67);
|
||||
backup table t1 to '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup status OK
|
||||
drop table t1;
|
||||
restore table t1 from '../bogus';
|
||||
Table Op Msg_type Msg_text
|
||||
t1 restore error Failed copying .frm file
|
||||
restore table t1 from '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore status OK
|
||||
select n from t1;
|
||||
n
|
||||
23
|
||||
45
|
||||
67
|
||||
create table t2(m int not null primary key);
|
||||
create table t3(k int not null primary key);
|
||||
insert into t2 values (123),(145),(167);
|
||||
insert into t3 values (223),(245),(267);
|
||||
backup table t1,t2,t3 to '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup status OK
|
||||
test.t2 backup status OK
|
||||
test.t3 backup status OK
|
||||
drop table t1,t2,t3;
|
||||
restore table t1,t2,t3 from '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore status OK
|
||||
test.t2 restore status OK
|
||||
test.t3 restore status OK
|
||||
select n from t1;
|
||||
n
|
||||
23
|
||||
45
|
||||
67
|
||||
select m from t2;
|
||||
m
|
||||
123
|
||||
145
|
||||
167
|
||||
select k from t3;
|
||||
k
|
||||
223
|
||||
245
|
||||
267
|
||||
drop table t1,t2,t3;
|
||||
restore table t1 from '../tmp';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore status OK
|
||||
lock tables t1 write;
|
||||
backup table t1 to '../tmp';
|
||||
unlock tables;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup status OK
|
||||
|
@ -1,3 +1,32 @@
|
||||
drop table if exists tblChange;
|
||||
CREATE TABLE tblCharge (
|
||||
ChargeID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
ServiceID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
ChargeDate date DEFAULT '0000-00-00' NOT NULL,
|
||||
ChargeAmount decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
FedTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
ProvTaxes decimal(20,2) DEFAULT '0.00' NOT NULL,
|
||||
ChargeStatus enum('New','Auth','Unauth','Sale','Denied','Refund')
|
||||
DEFAULT 'New' NOT NULL,
|
||||
ChargeAuthorizationMessage text,
|
||||
ChargeComment text,
|
||||
ChargeTimeStamp varchar(20),
|
||||
PRIMARY KEY (ChargeID),
|
||||
KEY ServiceID (ServiceID),
|
||||
KEY ChargeDate (ChargeDate)
|
||||
) type=BDB;
|
||||
BEGIN;
|
||||
INSERT INTO tblCharge
|
||||
VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
|
||||
COMMIT;
|
||||
BEGIN;
|
||||
UPDATE tblCharge SET ChargeAuthorizationMessage = 'blablabla' WHERE
|
||||
ChargeID = 1;
|
||||
COMMIT;
|
||||
INSERT INTO tblCharge
|
||||
VALUES(NULL,1,'2001-03-01',1,1,1,'New',NULL,NULL,'now');
|
||||
select * from tblCharge;
|
||||
ChargeID ServiceID ChargeDate ChargeAmount FedTaxes ProvTaxes ChargeStatus ChargeAuthorizationMessage ChargeComment ChargeTimeStamp
|
||||
1 1 2001-03-01 1.00 1.00 1.00 New blablabla NULL now
|
||||
2 1 2001-03-01 1.00 1.00 1.00 New NULL NULL now
|
||||
drop table tblCharge;
|
||||
|
@ -1,2 +1,6 @@
|
||||
drop table if exists t1;
|
||||
create table t1(n int not null, key(n)) delay_key_write = 1;
|
||||
select count(distinct n) from t1;
|
||||
count(distinct n)
|
||||
100
|
||||
drop table t1;
|
||||
|
@ -1,15 +1,27 @@
|
||||
select 0,256,00000000000000065536,2147483647,-2147483648,2147483648,+4294967296;
|
||||
0 256 00000000000000065536 2147483647 -2147483648 2147483648 +4294967296
|
||||
0 256 65536 2147483647 -2147483648 2147483648 4294967296
|
||||
select 9223372036854775807,-009223372036854775808;
|
||||
9223372036854775807 -009223372036854775808
|
||||
9223372036854775807 -9223372036854775808
|
||||
select +9999999999999999999,-9999999999999999999;
|
||||
+9999999999999999999 -9999999999999999999
|
||||
10000000000000000000 -10000000000000000000
|
||||
drop table if exists t1;
|
||||
create table t1 (a bigint unsigned not null, primary key(a));
|
||||
insert into t1 values (18446744073709551615), (0xFFFFFFFFFFFFFFFE);
|
||||
select * from t1;
|
||||
a
|
||||
18446744073709551614
|
||||
18446744073709551615
|
||||
select * from t1 where a=18446744073709551615;
|
||||
a
|
||||
18446744073709551615
|
||||
select * from t1 where a='18446744073709551615';
|
||||
a
|
||||
18446744073709551615
|
||||
delete from t1 where a=18446744073709551615;
|
||||
select * from t1;
|
||||
a
|
||||
18446744073709551614
|
||||
drop table t1;
|
||||
|
@ -1,33 +1,55 @@
|
||||
create table t1 (name char(20) not null, primary key (name));
|
||||
create table t2 (name char(20) binary not null, primary key (name));
|
||||
insert into t1 values ("å");
|
||||
insert into t1 values ("ä");
|
||||
insert into t1 values ("ö");
|
||||
insert into t2 select * from t1;
|
||||
select * from t1 order by name;
|
||||
name
|
||||
ĺ
|
||||
ä
|
||||
ö
|
||||
select concat("*",name,"*") from t1 order by 1;
|
||||
concat("*",name,"*")
|
||||
*ĺ*
|
||||
*ä*
|
||||
*ö*
|
||||
select min(name),min(concat("*",name,"*")),max(name),max(concat("*",name,"*")) from t1;
|
||||
min(name) min(concat("*",name,"*")) max(name) max(concat("*",name,"*"))
|
||||
ĺ *ĺ* ö *ö*
|
||||
select * from t2 order by name;
|
||||
name
|
||||
ä
|
||||
ĺ
|
||||
ö
|
||||
select concat("*",name,"*") from t2 order by 1;
|
||||
concat("*",name,"*")
|
||||
*ä*
|
||||
*ĺ*
|
||||
*ö*
|
||||
select min(name),min(concat("*",name,"*")),max(name),max(concat("*",name,"*")) from t2;
|
||||
min(name) min(concat("*",name,"*")) max(name) max(concat("*",name,"*"))
|
||||
ä *ä* ö *ö*
|
||||
select name from t1 where name between 'Ä' and 'Ö';
|
||||
name
|
||||
ä
|
||||
ö
|
||||
select name from t2 where name between 'ä' and 'ö';
|
||||
name
|
||||
ä
|
||||
ĺ
|
||||
ö
|
||||
select name from t2 where name between 'Ä' and 'Ö';
|
||||
name
|
||||
drop table t1,t2;
|
||||
create table t1 (a char(10) not null, b char(10) binary not null,index (a));
|
||||
insert into t1 values ("hello ","hello "),("hello2 ","hello2 ");
|
||||
select * from t1 where a="hello ";
|
||||
a b
|
||||
hello hello
|
||||
select * from t1 where b="hello ";
|
||||
a b
|
||||
select * from t1 where b="hello";
|
||||
a b
|
||||
hello hello
|
||||
drop table t1;
|
||||
|
@ -1,5 +1,11 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (a int, unique (a), b int not null, unique(b), c int not null, index(c));
|
||||
replace into t1 values (1,1,1),(2,2,2),(3,1,3);
|
||||
select * from t1;
|
||||
a b c
|
||||
3 1 3
|
||||
2 2 2
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
@ -1,42 +1,65 @@
|
||||
drop table if exists t1;
|
||||
select CASE "b" when "a" then 1 when "b" then 2 END;
|
||||
CASE "b" when "a" then 1 when "b" then 2 END
|
||||
2
|
||||
select CASE "c" when "a" then 1 when "b" then 2 END;
|
||||
CASE "c" when "a" then 1 when "b" then 2 END
|
||||
NULL
|
||||
select CASE "c" when "a" then 1 when "b" then 2 ELSE 3 END;
|
||||
CASE "c" when "a" then 1 when "b" then 2 ELSE 3 END
|
||||
3
|
||||
select CASE BINARY "b" when "a" then 1 when "B" then 2 WHEN "b" then "ok" END;
|
||||
CASE BINARY "b" when "a" then 1 when "B" then 2 WHEN "b" then "ok" END
|
||||
ok
|
||||
select CASE "b" when "a" then 1 when binary "B" then 2 WHEN "b" then "ok" END;
|
||||
CASE "b" when "a" then 1 when binary "B" then 2 WHEN "b" then "ok" END
|
||||
ok
|
||||
select CASE concat("a","b") when concat("ab","") then "a" when "b" then "b" end;
|
||||
CASE concat("a","b") when concat("ab","") then "a" when "b" then "b" end
|
||||
a
|
||||
select CASE when 1=0 then "true" else "false" END;
|
||||
CASE when 1=0 then "true" else "false" END
|
||||
false
|
||||
select CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END;
|
||||
CASE 1 when 1 then "one" WHEN 2 then "two" ELSE "more" END
|
||||
one
|
||||
select CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END;
|
||||
CASE 2.0 when 1 then "one" WHEN 2.0 then "two" ELSE "more" END
|
||||
two
|
||||
select (CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0;
|
||||
(CASE "two" when "one" then "1" WHEN "two" then "2" END) | 0
|
||||
2
|
||||
select (CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0;
|
||||
(CASE "two" when "one" then 1.00 WHEN "two" then 2.00 END) +0.0
|
||||
2.00
|
||||
select case 1/0 when "a" then "true" else "false" END;
|
||||
case 1/0 when "a" then "true" else "false" END
|
||||
false
|
||||
select case 1/0 when "a" then "true" END;
|
||||
case 1/0 when "a" then "true" END
|
||||
NULL
|
||||
select (case 1/0 when "a" then "true" END) | 0;
|
||||
(case 1/0 when "a" then "true" END) | 0
|
||||
NULL
|
||||
select (case 1/0 when "a" then "true" END) + 0.0;
|
||||
(case 1/0 when "a" then "true" END) + 0.0
|
||||
NULL
|
||||
select case when 1>0 then "TRUE" else "FALSE" END;
|
||||
case when 1>0 then "TRUE" else "FALSE" END
|
||||
TRUE
|
||||
select case when 1<0 then "TRUE" else "FALSE" END;
|
||||
case when 1<0 then "TRUE" else "FALSE" END
|
||||
FALSE
|
||||
create table t1 (a int);
|
||||
insert into t1 values(1),(2),(3),(4);
|
||||
select case a when 1 then 2 when 2 then 3 else 0 end as fcase, count(*) from t1 group by fcase;
|
||||
fcase count(*)
|
||||
0 2
|
||||
2 1
|
||||
3 1
|
||||
select case a when 1 then "one" when 2 then "two" else "nothing" end as fcase, count(*) from t1 group by fcase;
|
||||
fcase count(*)
|
||||
nothing 2
|
||||
one 1
|
||||
two 1
|
||||
drop table t1;
|
||||
|
@ -1,2 +1,7 @@
|
||||
drop table if exists t1;
|
||||
create table t1(n int not null, key(n), key(n), key(n), key(n));
|
||||
check table t1 type=extended;
|
||||
insert into t1 values (200000);
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
@ -1,15 +1,27 @@
|
||||
select 1+2/*hello*/+3;
|
||||
1+2/*hello*/+3
|
||||
6
|
||||
select 1 /* long
|
||||
multi line comment */;
|
||||
1
|
||||
1
|
||||
/* empty query */;
|
||||
Query was empty
|
||||
select 1 /*!32301 +1 */;
|
||||
1 /*!32301 +1
|
||||
2
|
||||
select 1 /*!52301 +1 */;
|
||||
1
|
||||
1
|
||||
select 1--1;
|
||||
1--1
|
||||
2
|
||||
select 1 --2
|
||||
+1;
|
||||
1 --2
|
||||
+1
|
||||
4
|
||||
select 1 # The rest of the row will be ignored
|
||||
;
|
||||
1
|
||||
1
|
||||
|
@ -1,6 +1,14 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (id CHAR(12) not null, PRIMARY KEY (id));
|
||||
insert into t1 values ('000000000001'),('000000000002');
|
||||
explain select * from t1 where id=000000000001;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 12 NULL 2 where used; Using index
|
||||
select * from t1 where id=000000000001;
|
||||
id
|
||||
000000000001
|
||||
delete from t1 where id=000000000002;
|
||||
select * from t1;
|
||||
id
|
||||
000000000001
|
||||
drop table t1;
|
||||
|
@ -1,11 +1,46 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1 (libname varchar(21) not null, city text, primary key (libname));
|
||||
create table t2 (isbn varchar(21) not null, author text, title text, primary key (isbn));
|
||||
create table t3 (isbn varchar(21) not null, libname varchar(21) not null, quantity int ,primary key (isbn,libname));
|
||||
insert into t2 values ('001','Daffy','A duck''s life');
|
||||
insert into t2 values ('002','Bugs','A rabbit\'s life');
|
||||
insert into t2 values ('003','Cowboy','Life on the range');
|
||||
insert into t2 values ('000','Anonymous','Wanna buy this book?');
|
||||
insert into t2 values ('004','Best Seller','One Heckuva book');
|
||||
insert into t2 values ('005','EveryoneBuys','This very book');
|
||||
insert into t2 values ('006','San Fran','It is a san fran lifestyle');
|
||||
insert into t2 values ('007','BerkAuthor','Cool.Berkley.the.book');
|
||||
insert into t3 values('000','New York Public Libra','1');
|
||||
insert into t3 values('001','New York Public Libra','2');
|
||||
insert into t3 values('002','New York Public Libra','3');
|
||||
insert into t3 values('003','New York Public Libra','4');
|
||||
insert into t3 values('004','New York Public Libra','5');
|
||||
insert into t3 values('005','New York Public Libra','6');
|
||||
insert into t3 values('006','San Fransisco Public','5');
|
||||
insert into t3 values('007','Berkeley Public1','3');
|
||||
insert into t3 values('007','Berkeley Public2','3');
|
||||
insert into t3 values('001','NYC Lib','8');
|
||||
insert into t1 values ('New York Public Libra','New York');
|
||||
insert into t1 values ('San Fransisco Public','San Fran');
|
||||
insert into t1 values ('Berkeley Public1','Berkeley');
|
||||
insert into t1 values ('Berkeley Public2','Berkeley');
|
||||
insert into t1 values ('NYC Lib','New York');
|
||||
select t2.isbn,city,t1.libname,count(t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city,t1.libname;
|
||||
isbn city libname a
|
||||
007 Berkeley Berkeley Public1 1
|
||||
007 Berkeley Berkeley Public2 1
|
||||
000 New York New York Public Libra 6
|
||||
001 New York NYC Lib 1
|
||||
006 San Fran San Fransisco Public 1
|
||||
select t2.isbn,city,t1.libname,count(distinct t1.libname) as a from t3 left join t1 on t3.libname=t1.libname left join t2 on t3.isbn=t2.isbn group by city having count(distinct t1.libname) > 1;
|
||||
isbn city libname a
|
||||
007 Berkeley Berkeley Public1 2
|
||||
000 New York New York Public Libra 2
|
||||
drop table t1, t2, t3;
|
||||
create table t1 (f1 int);
|
||||
insert into t1 values (1);
|
||||
create table t2 (f1 int,f2 int);
|
||||
select t1.f1,count(distinct t2.f2),count(distinct 1,NULL) from t1 left join t2 on t1.f1=t2.f1 group by t1.f1;
|
||||
f1 count(distinct t2.f2) count(distinct 1,NULL)
|
||||
1 0 0
|
||||
drop table t1,t2;
|
||||
|
@ -1,37 +1,61 @@
|
||||
create table t1(n1 int, n2 int, s char(20), vs varchar(20), t text);
|
||||
insert into t1 values (1,11, 'one','eleven', 'eleven'),
|
||||
(1,11, 'one','eleven', 'eleven'),
|
||||
(2,11, 'two','eleven', 'eleven'),
|
||||
(2,12, 'two','twevle', 'twelve'),
|
||||
(2,13, 'two','thirteen', 'foo'),
|
||||
(2,13, 'two','thirteen', 'foo'),
|
||||
(2,13, 'two','thirteen', 'bar'),
|
||||
(NULL,13, 'two','thirteen', 'bar'),
|
||||
(2,NULL, 'two','thirteen', 'bar'),
|
||||
(2,13, NULL,'thirteen', 'bar'),
|
||||
(2,13, 'two',NULL, 'bar'),
|
||||
(2,13, 'two','thirteen', NULL);
|
||||
select distinct n1 from t1;
|
||||
n1
|
||||
1
|
||||
2
|
||||
NULL
|
||||
select count(distinct n1) from t1;
|
||||
count(distinct n1)
|
||||
2
|
||||
select distinct n2 from t1;
|
||||
n2
|
||||
11
|
||||
12
|
||||
13
|
||||
NULL
|
||||
select count(distinct n2) from t1;
|
||||
count(distinct n2)
|
||||
3
|
||||
select distinct s from t1;
|
||||
s
|
||||
one
|
||||
two
|
||||
NULL
|
||||
select count(distinct s) from t1;
|
||||
count(distinct s)
|
||||
2
|
||||
select distinct vs from t1;
|
||||
vs
|
||||
eleven
|
||||
twevle
|
||||
thirteen
|
||||
NULL
|
||||
select count(distinct vs) from t1;
|
||||
count(distinct vs)
|
||||
3
|
||||
select distinct t from t1;
|
||||
t
|
||||
eleven
|
||||
twelve
|
||||
foo
|
||||
bar
|
||||
NULL
|
||||
select count(distinct t) from t1;
|
||||
count(distinct t)
|
||||
4
|
||||
select distinct n1,n2 from t1;
|
||||
n1 n2
|
||||
1 11
|
||||
2 11
|
||||
@ -39,15 +63,19 @@ n1 n2
|
||||
2 13
|
||||
NULL 13
|
||||
2 NULL
|
||||
select count(distinct n1,n2) from t1;
|
||||
count(distinct n1,n2)
|
||||
4
|
||||
select distinct n1,s from t1;
|
||||
n1 s
|
||||
1 one
|
||||
2 two
|
||||
NULL two
|
||||
2 NULL
|
||||
select count(distinct n1,s) from t1;
|
||||
count(distinct n1,s)
|
||||
2
|
||||
select distinct s,n1,vs from t1;
|
||||
s n1 vs
|
||||
one 1 eleven
|
||||
two 2 eleven
|
||||
@ -56,8 +84,10 @@ two 2 thirteen
|
||||
two NULL thirteen
|
||||
NULL 2 thirteen
|
||||
two 2 NULL
|
||||
select count(distinct s,n1,vs) from t1;
|
||||
count(distinct s,n1,vs)
|
||||
4
|
||||
select distinct s,t from t1;
|
||||
s t
|
||||
one eleven
|
||||
two eleven
|
||||
@ -66,19 +96,33 @@ two foo
|
||||
two bar
|
||||
NULL bar
|
||||
two NULL
|
||||
select count(distinct s,t) from t1;
|
||||
count(distinct s,t)
|
||||
5
|
||||
select count(distinct n1), count(distinct n2) from t1;
|
||||
count(distinct n1) count(distinct n2)
|
||||
2 3
|
||||
select count(distinct n2), n1 from t1 group by n1;
|
||||
count(distinct n2) n1
|
||||
1 NULL
|
||||
1 1
|
||||
3 2
|
||||
drop table t1;
|
||||
create table t1 (n int default NULL);
|
||||
flush status;
|
||||
select count(distinct n) from t1;
|
||||
count(distinct n)
|
||||
5000
|
||||
show status like 'Created_tmp_disk_tables';
|
||||
Variable_name Value
|
||||
Created_tmp_disk_tables 1
|
||||
drop table t1;
|
||||
create table t1 (s text);
|
||||
flush status;
|
||||
select count(distinct s) from t1;
|
||||
count(distinct s)
|
||||
5000
|
||||
show status like 'Created_tmp_disk_tables';
|
||||
Variable_name Value
|
||||
Created_tmp_disk_tables 1
|
||||
drop table t1;
|
||||
|
@ -1,14 +1,78 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (b char(0));
|
||||
insert into t1 values (""),(null);
|
||||
select * from t1;
|
||||
b
|
||||
|
||||
NULL
|
||||
drop table if exists t1;
|
||||
create table t1 (b char(0) not null);
|
||||
create table if not exists t1 (b char(0) not null);
|
||||
insert into t1 values (""),(null);
|
||||
select * from t1;
|
||||
b
|
||||
|
||||
|
||||
drop table if exists t1;
|
||||
create table t2 type=heap select * from t1;
|
||||
Table 'test.t1' doesn't exist
|
||||
create table t2 select auto+1 from t1;
|
||||
Table 'test.t1' doesn't exist
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (b char(0) not null, index(b));
|
||||
The used table handler can't index column 'b'
|
||||
create table t1 (a int not null auto_increment,primary key (a)) type=heap;
|
||||
The used table type doesn't support AUTO_INCREMENT columns
|
||||
create table t1 (a int not null,b text) type=heap;
|
||||
The used table type doesn't support BLOB/TEXT columns
|
||||
create table t1 (a int ,primary key(a)) type=heap;
|
||||
All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
|
||||
create table t1 (a int,b text, index(a)) type=isam;
|
||||
Column 'a' is used with UNIQUE or INDEX but is not defined as NOT NULL
|
||||
create table t1 (a int,b text, index(b)) type=isam;
|
||||
BLOB column 'b' can't be used in key specification with the used table type
|
||||
drop table if exists t1;
|
||||
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=isam;
|
||||
Incorrect table definition; There can only be one auto column and it must be defined as a key
|
||||
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=heap;
|
||||
The used table type doesn't support AUTO_INCREMENT columns
|
||||
create table t1 (ordid int(8), primary key (ordid));
|
||||
All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
|
||||
create table t1 (ordid int(8), unique (ordid)) type=isam;
|
||||
Column 'ordid' is used with UNIQUE or INDEX but is not defined as NOT NULL
|
||||
create table not_existing_database.test (a int);
|
||||
Can't create/write to file './not_existing_database/test.frm' (Errcode: 2)
|
||||
create table `a/a` (a int);
|
||||
Incorrect table name 'a/a'
|
||||
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
|
||||
Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
||||
create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
|
||||
Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
|
||||
create table 1ea10 (1a20 int,1e int);
|
||||
insert into 1ea10 values(1,1);
|
||||
select 1ea10.1a20,1e+ 1e+10 from 1ea10;
|
||||
1a20 1e+ 1e+10
|
||||
1 10000000001
|
||||
drop table 1ea10;
|
||||
create table t1 (t1.index int);
|
||||
drop table t1;
|
||||
drop database if exists test_$1;
|
||||
create database test_$1;
|
||||
create table test_$1.$test1 (a$1 int, $b int, c$ int);
|
||||
insert into test_$1.$test1 values (1,2,3);
|
||||
select a$1, $b, c$ from test_$1.$test1;
|
||||
a$1 $b c$
|
||||
1 2 3
|
||||
create table test_$1.test2$ (a int);
|
||||
drop table test_$1.test2$;
|
||||
drop database test_$1;
|
||||
create table t1 (a int auto_increment not null primary key, B CHAR(20));
|
||||
insert into t1 (b) values ("hello"),("my"),("world");
|
||||
create table t2 (key (b)) select * from t1;
|
||||
explain select * from t2 where b="world";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t2 ref B B 21 const 1 where used
|
||||
select * from t2 where b="world";
|
||||
a B
|
||||
3 world
|
||||
drop table t1,t2;
|
||||
|
@ -1,3 +1,12 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a char (20) not null, b int not null auto_increment, index (a,b),index(b));
|
||||
insert into t1 (a) values ('ä'),('ac'),('ae'),('ad'),('Äc'),('aeb');
|
||||
insert into t1 (a) values ('üc'),('uc'),('ue'),('ud'),('Ü'),('ueb'),('uf');
|
||||
insert into t1 (a) values ('ö'),('oc'),('Öa'),('oe'),('od'),('Öc'),('oeb');
|
||||
insert into t1 (a) values ('s'),('ss'),('ß'),('ßb'),('ssa'),('ssc'),('ßa');
|
||||
insert into t1 (a) values ('eä'),('uü'),('öo'),('ää'),('ääa'),('aeae');
|
||||
insert into t1 (a) values ('q'),('a'),('u'),('o'),('é'),('É');
|
||||
select a,b from t1 order by a,b;
|
||||
a b
|
||||
a 35
|
||||
ac 2
|
||||
@ -38,6 +47,7 @@ ueb 12
|
||||
üc 7
|
||||
uf 13
|
||||
uü 29
|
||||
select a,b from t1 order by upper(a),b;
|
||||
a b
|
||||
a 35
|
||||
ac 2
|
||||
@ -78,6 +88,7 @@ ueb 12
|
||||
üc 7
|
||||
uf 13
|
||||
uü 29
|
||||
select a from t1 order by a desc;
|
||||
a
|
||||
uü
|
||||
uf
|
||||
@ -118,15 +129,19 @@ ae
|
||||
ad
|
||||
ac
|
||||
a
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select * from t1 where a like "ö%";
|
||||
a b
|
||||
ö 14
|
||||
Öa 16
|
||||
Öc 19
|
||||
öo 30
|
||||
select * from t1 where a like binary "%É%";
|
||||
a b
|
||||
É 39
|
||||
select * from t1 where a like "%Á%";
|
||||
a b
|
||||
a 35
|
||||
ac 2
|
||||
@ -138,6 +153,7 @@ aeb 6
|
||||
Öa 16
|
||||
ssa 25
|
||||
ßa 27
|
||||
select * from t1 where a like "%U%";
|
||||
a b
|
||||
u 36
|
||||
uc 8
|
||||
@ -146,30 +162,46 @@ ue 9
|
||||
ueb 12
|
||||
uf 13
|
||||
uü 29
|
||||
select * from t1 where a like "%ss%";
|
||||
a b
|
||||
ss 22
|
||||
ssa 25
|
||||
ssc 26
|
||||
drop table t1;
|
||||
select strcmp('ä','ae'),strcmp('ae','ä'),strcmp('aeq','äq'),strcmp('äq','aeq');
|
||||
strcmp('ä','ae') strcmp('ae','ä') strcmp('aeq','äq') strcmp('äq','aeq')
|
||||
0 0 0 0
|
||||
select strcmp('ss','ß'),strcmp('ß','ss'),strcmp('ßs','sss'),strcmp('ßq','ssq');
|
||||
strcmp('ss','ß') strcmp('ß','ss') strcmp('ßs','sss') strcmp('ßq','ssq')
|
||||
0 0 0 0
|
||||
select strcmp('ä','af'),strcmp('a','ä'),strcmp('ää','aeq'),strcmp('ää','aeaeq');
|
||||
strcmp('ä','af') strcmp('a','ä') strcmp('ää','aeq') strcmp('ää','aeaeq')
|
||||
-1 -1 -1 -1
|
||||
select strcmp('ss','ßa'),strcmp('ß','ssa'),strcmp('sßa','sssb'),strcmp('s','ß');
|
||||
strcmp('ss','ßa') strcmp('ß','ssa') strcmp('sßa','sssb') strcmp('s','ß')
|
||||
-1 -1 -1 -1
|
||||
select strcmp('ö','oö'),strcmp('Ü','uü'),strcmp('ö','oeb');
|
||||
strcmp('ö','oö') strcmp('Ü','uü') strcmp('ö','oeb')
|
||||
-1 -1 -1
|
||||
select strcmp('af','ä'),strcmp('ä','a'),strcmp('aeq','ää'),strcmp('aeaeq','ää');
|
||||
strcmp('af','ä') strcmp('ä','a') strcmp('aeq','ää') strcmp('aeaeq','ää')
|
||||
1 1 1 1
|
||||
select strcmp('ßa','ss'),strcmp('ssa','ß'),strcmp('sssb','sßa'),strcmp('ß','s');
|
||||
strcmp('ßa','ss') strcmp('ssa','ß') strcmp('sssb','sßa') strcmp('ß','s')
|
||||
1 1 1 1
|
||||
select strcmp('u','öa'),strcmp('u','ö');
|
||||
strcmp('u','öa') strcmp('u','ö')
|
||||
1 1
|
||||
create table t1 (a varchar(10), key(a));
|
||||
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
|
||||
select * from t1 where a like "abc%";
|
||||
a
|
||||
abc
|
||||
abcd
|
||||
select * from t1 where a like "test%";
|
||||
a
|
||||
test
|
||||
select * from t1 where a like "te_t";
|
||||
a
|
||||
test
|
||||
drop table t1;
|
||||
|
@ -1,10 +1,30 @@
|
||||
create table t1 (a char(10), tmsp timestamp);
|
||||
insert into t1 set a = 1;
|
||||
insert delayed into t1 set a = 2;
|
||||
insert into t1 set a = 3, tmsp=NULL;
|
||||
insert delayed into t1 set a = 4;
|
||||
insert delayed into t1 set a = 5, tmsp = 19711006010203;
|
||||
insert delayed into t1 (a, tmsp) values (6, 19711006010203);
|
||||
insert delayed into t1 (a, tmsp) values (7, NULL);
|
||||
insert into t1 set a = 8,tmsp=19711006010203;
|
||||
select * from t1 where tmsp=0;
|
||||
a tmsp
|
||||
select * from t1 where tmsp=19711006010203;
|
||||
a tmsp
|
||||
5 19711006010203
|
||||
6 19711006010203
|
||||
8 19711006010203
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment primary key, b char(10));
|
||||
insert delayed into t1 values (1,"b");
|
||||
insert delayed into t1 values (null,"c");
|
||||
insert delayed into t1 values (3,"d"),(null,"e");
|
||||
insert delayed into t1 values (3,"this will give an","error");
|
||||
Column count doesn't match value count at row 1
|
||||
select * from t1;
|
||||
a b
|
||||
1 b
|
||||
2 c
|
||||
3 d
|
||||
4 e
|
||||
drop table t1;
|
||||
|
26
mysql-test/r/delete.result
Normal file
26
mysql-test/r/delete.result
Normal file
@ -0,0 +1,26 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (a tinyint(3), b tinyint(5));
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
INSERT LOW_PRIORITY INTO t1 VALUES (1,2);
|
||||
INSERT INTO t1 VALUES (1,3);
|
||||
DELETE from t1 where a=1 limit 1;
|
||||
DELETE LOW_PRIORITY from t1 where a=1;
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
DELETE from t1;
|
||||
LOCK TABLE t1 write;
|
||||
INSERT INTO t1 VALUES (1,2);
|
||||
DELETE from t1;
|
||||
UNLOCK TABLES;
|
||||
INSERT INTO t1 VALUES (1,2);
|
||||
SET AUTOCOMMIT=0;
|
||||
DELETE from t1;
|
||||
SET AUTOCOMMIT=1;
|
||||
drop table t1;
|
||||
create table t1 (a bigint not null, primary key (a,a,a,a,a,a,a,a,a,a));
|
||||
insert into t1 values (2),(4),(6),(8),(10),(12),(14),(16),(18),(20),(22),(24),(26),(23);
|
||||
delete from t1 where a=26;
|
||||
drop table t1;
|
||||
create table t1 (a bigint not null, primary key (a,a,a,a,a,a,a,a,a,a));
|
||||
insert into t1 values (2),(4),(6),(8),(10),(12),(14),(16),(18),(20),(22),(24),(26),(23),(27);
|
||||
delete from t1 where a=27;
|
||||
drop table t1;
|
@ -1,4 +1,9 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (n int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
select * from t1;
|
||||
n
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,21 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
CREATE TABLE t1 (id int,facility char(20));
|
||||
CREATE TABLE t2 (facility char(20));
|
||||
INSERT INTO t1 VALUES (NULL,NULL);
|
||||
INSERT INTO t1 VALUES (-1,'');
|
||||
INSERT INTO t1 VALUES (0,'');
|
||||
INSERT INTO t1 VALUES (1,'/L');
|
||||
INSERT INTO t1 VALUES (2,'A01');
|
||||
INSERT INTO t1 VALUES (3,'ANC');
|
||||
INSERT INTO t1 VALUES (4,'F01');
|
||||
INSERT INTO t1 VALUES (5,'FBX');
|
||||
INSERT INTO t1 VALUES (6,'MT');
|
||||
INSERT INTO t1 VALUES (7,'P');
|
||||
INSERT INTO t1 VALUES (8,'RV');
|
||||
INSERT INTO t1 VALUES (9,'SRV');
|
||||
INSERT INTO t1 VALUES (10,'VMT');
|
||||
INSERT INTO t2 SELECT DISTINCT FACILITY FROM t1;
|
||||
select id from t1 group by id;
|
||||
id
|
||||
NULL
|
||||
-1
|
||||
@ -12,6 +30,7 @@ NULL
|
||||
8
|
||||
9
|
||||
10
|
||||
select * from t1 order by id;
|
||||
id facility
|
||||
NULL NULL
|
||||
-1
|
||||
@ -26,6 +45,7 @@ NULL NULL
|
||||
8 RV
|
||||
9 SRV
|
||||
10 VMT
|
||||
select id-5,facility from t1 order by "id-5";
|
||||
id-5 facility
|
||||
NULL NULL
|
||||
-6
|
||||
@ -40,6 +60,7 @@ NULL NULL
|
||||
3 RV
|
||||
4 SRV
|
||||
5 VMT
|
||||
select id,concat(facility) from t1 group by id ;
|
||||
id concat(facility)
|
||||
NULL NULL
|
||||
-1
|
||||
@ -54,6 +75,7 @@ NULL NULL
|
||||
8 RV
|
||||
9 SRV
|
||||
10 VMT
|
||||
select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
|
||||
a max(id) b
|
||||
10 10 VMT
|
||||
9 9 SRV
|
||||
@ -68,9 +90,11 @@ a max(id) b
|
||||
-1 -1
|
||||
0 0
|
||||
NULL NULL NULL
|
||||
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
|
||||
grp count(*)
|
||||
0 7
|
||||
1 6
|
||||
SELECT DISTINCT FACILITY FROM t1;
|
||||
FACILITY
|
||||
NULL
|
||||
|
||||
@ -84,6 +108,7 @@ P
|
||||
RV
|
||||
SRV
|
||||
VMT
|
||||
SELECT FACILITY FROM t2;
|
||||
FACILITY
|
||||
NULL
|
||||
|
||||
@ -97,52 +122,157 @@ P
|
||||
RV
|
||||
SRV
|
||||
VMT
|
||||
SELECT count(*) from t1,t2 where t1.facility=t2.facility;
|
||||
count(*)
|
||||
12
|
||||
select count(facility) from t1;
|
||||
count(facility)
|
||||
12
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
13
|
||||
select count(*) from t1 where facility IS NULL;
|
||||
count(*)
|
||||
1
|
||||
select count(*) from t1 where facility = NULL;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t1 where facility IS NOT NULL;
|
||||
count(*)
|
||||
12
|
||||
select count(*) from t1 where id IS NULL;
|
||||
count(*)
|
||||
1
|
||||
select count(*) from t1 where id IS NOT NULL;
|
||||
count(*)
|
||||
12
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (UserId int(11) DEFAULT '0' NOT NULL);
|
||||
INSERT INTO t1 VALUES (20);
|
||||
INSERT INTO t1 VALUES (27);
|
||||
SELECT UserId FROM t1 WHERE Userid=22;
|
||||
UserId
|
||||
SELECT UserId FROM t1 WHERE UserId=22 group by Userid;
|
||||
UserId
|
||||
SELECT DISTINCT UserId FROM t1 WHERE UserId=22 group by Userid;
|
||||
UserId
|
||||
SELECT DISTINCT UserId FROM t1 WHERE UserId=22;
|
||||
UserId
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int(10) unsigned not null primary key,b int(10) unsigned);
|
||||
INSERT INTO t1 VALUES (1,1),(2,1);
|
||||
CREATE TABLE t2 (a int(10) unsigned not null, key (A));
|
||||
INSERT INTO t2 VALUES (1),(2);
|
||||
CREATE TABLE t3 (a int(10) unsigned, key(A), b text);
|
||||
INSERT INTO t3 VALUES (1,'1'),(2,'2');
|
||||
SELECT DISTINCT t3.b FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
||||
b
|
||||
1
|
||||
INSERT INTO t2 values (1),(2),(3);
|
||||
INSERT INTO t3 VALUES (1,'1'),(2,'2'),(1,'1'),(2,'2');
|
||||
explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t3 index a a 5 NULL 6 Using index; Using temporary
|
||||
t2 index a a 4 NULL 5 Using index; Distinct
|
||||
t1 eq_ref PRIMARY PRIMARY 4 t2.a 1 where used; Distinct
|
||||
SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
|
||||
a
|
||||
1
|
||||
create temporary table t4 select * from t3;
|
||||
insert into t3 select * from t4;
|
||||
insert into t4 select * from t3;
|
||||
insert into t3 select * from t4;
|
||||
insert into t4 select * from t3;
|
||||
insert into t3 select * from t4;
|
||||
insert into t4 select * from t3;
|
||||
insert into t3 select * from t4;
|
||||
explain select distinct t1.a from t1,t3 where t1.a=t3.a;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 2 Using index; Using temporary
|
||||
t3 ref a a 5 t1.a 10 Using index; Distinct
|
||||
select distinct t1.a from t1,t3 where t1.a=t3.a;
|
||||
a
|
||||
1
|
||||
2
|
||||
select distinct 1 from t1,t3 where t1.a=t3.a;
|
||||
1
|
||||
1
|
||||
drop table t1,t2,t3,t4;
|
||||
CREATE TABLE t1 (name varchar(255));
|
||||
INSERT INTO t1 VALUES ('aa'),('ab'),('ac'),('ad'),('ae');
|
||||
SELECT DISTINCT * FROM t1 LIMIT 2;
|
||||
name
|
||||
aa
|
||||
ab
|
||||
SELECT DISTINCT name FROM t1 LIMIT 2;
|
||||
name
|
||||
aa
|
||||
ab
|
||||
SELECT DISTINCT 1 FROM t1 LIMIT 2;
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
ID int(11) NOT NULL auto_increment,
|
||||
NAME varchar(75) DEFAULT '' NOT NULL,
|
||||
LINK_ID int(11) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
KEY NAME (NAME),
|
||||
KEY LINK_ID (LINK_ID)
|
||||
);
|
||||
INSERT INTO t1 (ID, NAME, LINK_ID) VALUES (1,'Mike',0),(2,'Jack',0),(3,'Bill',0);
|
||||
CREATE TABLE t2 (
|
||||
ID int(11) NOT NULL auto_increment,
|
||||
NAME varchar(150) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
KEY NAME (NAME)
|
||||
);
|
||||
SELECT DISTINCT
|
||||
t2.id AS key_link_id,
|
||||
t2.name AS link
|
||||
FROM t1
|
||||
LEFT JOIN t2 ON t1.link_id=t2.id
|
||||
GROUP BY t1.id
|
||||
ORDER BY link;
|
||||
key_link_id link
|
||||
NULL NULL
|
||||
drop table t1,t2;
|
||||
create table t1 (
|
||||
id int not null,
|
||||
name tinytext not null,
|
||||
unique (id)
|
||||
);
|
||||
create table t2 (
|
||||
id int not null,
|
||||
idx int not null,
|
||||
unique (id, idx)
|
||||
);
|
||||
create table t3 (
|
||||
id int not null,
|
||||
idx int not null,
|
||||
unique (id, idx)
|
||||
);
|
||||
insert into t1 values (1,'yes'), (2,'no');
|
||||
insert into t2 values (1,1);
|
||||
insert into t3 values (1,1);
|
||||
EXPLAIN
|
||||
SELECT DISTINCT
|
||||
t1.id
|
||||
from
|
||||
t1
|
||||
straight_join
|
||||
t2
|
||||
straight_join
|
||||
t3
|
||||
straight_join
|
||||
t1 as j_lj_t2 left join t2 as t2_lj
|
||||
on j_lj_t2.id=t2_lj.id
|
||||
straight_join
|
||||
t1 as j_lj_t3 left join t3 as t3_lj
|
||||
on j_lj_t3.id=t3_lj.id
|
||||
WHERE
|
||||
((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
|
||||
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index id id 4 NULL 2 Using index; Using temporary
|
||||
t2 index id id 8 NULL 1 Using index; Distinct
|
||||
@ -151,25 +281,58 @@ j_lj_t2 index id id 4 NULL 2 where used; Using index; Distinct
|
||||
t2_lj index id id 8 NULL 1 where used; Using index; Distinct
|
||||
j_lj_t3 index id id 4 NULL 2 where used; Using index; Distinct
|
||||
t3_lj index id id 8 NULL 1 where used; Using index; Distinct
|
||||
SELECT DISTINCT
|
||||
t1.id
|
||||
from
|
||||
t1
|
||||
straight_join
|
||||
t2
|
||||
straight_join
|
||||
t3
|
||||
straight_join
|
||||
t1 as j_lj_t2 left join t2 as t2_lj
|
||||
on j_lj_t2.id=t2_lj.id
|
||||
straight_join
|
||||
t1 as j_lj_t3 left join t3 as t3_lj
|
||||
on j_lj_t3.id=t3_lj.id
|
||||
WHERE
|
||||
((t1.id=j_lj_t2.id AND t2_lj.id IS NULL) OR (t1.id=t2.id AND t2.idx=2))
|
||||
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
|
||||
id
|
||||
2
|
||||
drop table t1,t2,t3;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int not null, b int not null, t time);
|
||||
insert into t1 values (1,1,"00:06:15"),(1,2,"00:06:15"),(1,2,"00:30:15"),(1,3,"00:06:15"),(1,3,"00:30:15");
|
||||
select a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
|
||||
a sec_to_time(sum(time_to_sec(t)))
|
||||
1 00:06:15
|
||||
1 00:36:30
|
||||
1 00:36:30
|
||||
select distinct a,sec_to_time(sum(time_to_sec(t))) from t1 group by a,b;
|
||||
a sec_to_time(sum(time_to_sec(t)))
|
||||
1 00:06:15
|
||||
1 00:36:30
|
||||
create table t2 (a int not null primary key, b int);
|
||||
insert into t2 values (1,1),(2,2),(3,3);
|
||||
select t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
|
||||
a sec_to_time(sum(time_to_sec(t)))
|
||||
1 00:06:15
|
||||
1 00:36:30
|
||||
1 00:36:30
|
||||
select distinct t1.a,sec_to_time(sum(time_to_sec(t))) from t1 left join t2 on (t1.b=t2.a) group by t1.a,t2.b;
|
||||
a sec_to_time(sum(time_to_sec(t)))
|
||||
1 00:06:15
|
||||
1 00:36:30
|
||||
drop table t1,t2;
|
||||
create table t1 (a int not null,b char(5), c text);
|
||||
insert into t1 (a) values (1),(2),(3),(4),(1),(2),(3),(4);
|
||||
select distinct a from t1 group by b,a having a > 2 order by a desc;
|
||||
a
|
||||
4
|
||||
3
|
||||
select distinct a,c from t1 group by b,c,a having a > 2 order by a desc;
|
||||
a c
|
||||
4 NULL
|
||||
3 NULL
|
||||
drop table t1;
|
||||
|
@ -1,11 +1,48 @@
|
||||
drop table if exists t1;
|
||||
drop table if exists t1;
|
||||
drop table t1;
|
||||
Unknown table 't1'
|
||||
create table t1(n int);
|
||||
insert into t1 values(1);
|
||||
create temporary table t1( n int);
|
||||
insert into t1 values(2);
|
||||
create table t1(n int);
|
||||
Table 't1' already exists
|
||||
drop table t1;
|
||||
select * from t1;
|
||||
n
|
||||
1
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
create table foo.foo (n int);
|
||||
insert into foo.foo values (4);
|
||||
select * from foo.foo;
|
||||
n
|
||||
4
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
drop database foo;
|
||||
drop database if exists foo;
|
||||
flush tables with read lock;
|
||||
create database foo;
|
||||
Can't execute the query because you have a conflicting read lock
|
||||
unlock tables;
|
||||
create database foo;
|
||||
show databases;
|
||||
Database
|
||||
foo
|
||||
mysql
|
||||
test
|
||||
flush tables with read lock;
|
||||
drop database foo;
|
||||
Can't execute the query because you have a conflicting read lock
|
||||
unlock tables;
|
||||
drop database foo;
|
||||
show databases;
|
||||
Database
|
||||
mysql
|
||||
test
|
||||
drop database foo;
|
||||
Can't drop database 'foo'. Database doesn't exist
|
||||
|
@ -1,4 +1,10 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (nr int(5) not null auto_increment,b blob,str char(10), primary key (nr));
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
select * from t1;
|
||||
nr b str
|
||||
select * from t1 limit 0;
|
||||
nr b str
|
||||
drop table t1;
|
||||
|
25
mysql-test/r/err000001.result
Normal file
25
mysql-test/r/err000001.result
Normal file
@ -0,0 +1,25 @@
|
||||
drop table if exists t1;
|
||||
insert into t1 values(1);
|
||||
Table 'test.t1' doesn't exist
|
||||
delete from t1;
|
||||
Table 'test.t1' doesn't exist
|
||||
update t1 set a=1;
|
||||
Table 'test.t1' doesn't exist
|
||||
create table t1 (a int);
|
||||
select count(test.t1.b) from t1;
|
||||
Unknown column 'test.t1.b' in 'field list'
|
||||
select count(not_existing_database.t1) from t1;
|
||||
Unknown table 'not_existing_database' in field list
|
||||
select count(not_existing_database.t1.a) from t1;
|
||||
Unknown table 'not_existing_database.t1' in field list
|
||||
select count(not_existing_database.t1.a) from not_existing_database.t1;
|
||||
Table 'not_existing_database.t1' doesn't exist
|
||||
select 1 from t1 order by 2;
|
||||
Unknown column '2' in 'order clause'
|
||||
select 1 from t1 group by 2;
|
||||
Unknown column '2' in 'group statement'
|
||||
select 1 from t1 order by t1.b;
|
||||
Unknown column 't1.b' in 'order clause'
|
||||
select count(*),b from t1;
|
||||
Unknown column 'b' in 'field list'
|
||||
drop table t1;
|
@ -1,15 +1,30 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (id int not null, str char(10), unique(str));
|
||||
insert into t1 values (1, null),(2, null),(3, "foo"),(4, "bar");
|
||||
select * from t1 where str is null;
|
||||
id str
|
||||
1 NULL
|
||||
2 NULL
|
||||
select * from t1 where str="foo";
|
||||
id str
|
||||
3 foo
|
||||
explain select * from t1 where str is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref str str 11 const 1 where used
|
||||
explain select * from t1 where str="foo";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 const str str 11 const 1
|
||||
explain select * from t1 ignore key (str) where str="foo";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL str NULL NULL NULL 4 where used
|
||||
explain select * from t1 use key (str,str) where str="foo";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 const str str 11 const 1
|
||||
explain select * from t1 use key (str,str,foo) where str="foo";
|
||||
Key column 'foo' doesn't exist in table
|
||||
explain select * from t1 ignore key (str,str,foo) where str="foo";
|
||||
Key column 'foo' doesn't exist in table
|
||||
drop table t1;
|
||||
explain select 1;
|
||||
Comment
|
||||
No tables used
|
||||
|
@ -1,6 +1,30 @@
|
||||
drop table if exists t1;
|
||||
create temporary table t1(n int not null primary key);
|
||||
drop table if exists t2;
|
||||
create table t2(n int);
|
||||
insert into t2 values(3);
|
||||
select * from t1;
|
||||
n
|
||||
3
|
||||
flush tables with read lock;
|
||||
drop table t2;
|
||||
Table 't2' was locked with a READ lock and can't be updated
|
||||
drop table t2;
|
||||
unlock tables;
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
create table foo.t1(n int);
|
||||
insert into foo.t1 values (23);
|
||||
flush tables with read lock;
|
||||
drop database foo;
|
||||
select * from foo.t1;
|
||||
n
|
||||
23
|
||||
unlock tables;
|
||||
create table t1 (n int);
|
||||
flush tables with read lock;
|
||||
insert into t1 values (345);
|
||||
select * from t1;
|
||||
n
|
||||
345
|
||||
drop table t1;
|
||||
|
15
mysql-test/r/foreign_key.result
Normal file
15
mysql-test/r/foreign_key.result
Normal file
@ -0,0 +1,15 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (
|
||||
a int not null references t2,
|
||||
b int not null references t2 (c),
|
||||
primary key (a,b),
|
||||
foreign key (a) references t3 match full,
|
||||
foreign key (a) references t3 match partial,
|
||||
foreign key (a,b) references t3 (c,d) on delete no action
|
||||
on update no action,
|
||||
foreign key (a,b) references t3 (c,d) on update cascade,
|
||||
foreign key (a,b) references t3 (c,d) on delete set default,
|
||||
foreign key (a,b) references t3 (c,d) on update set null);
|
||||
create index a on t1 (a);
|
||||
create unique index b on t1 (a,b);
|
||||
drop table t1;
|
@ -1,18 +1,53 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
CREATE TABLE t1 (a VARCHAR(200), b TEXT, FULLTEXT (a,b));
|
||||
INSERT INTO t1 VALUES('MySQL has now support', 'for full-text search'),('Full-text indexes', 'are called collections'),('Only MyISAM tables','support collections'),('Function MATCH ... AGAINST()','is used to do a search'),('Full-text search in MySQL', 'implements vector space model');
|
||||
select * from t1 where MATCH(a,b) AGAINST ("collections");
|
||||
a b
|
||||
Only MyISAM tables support collections
|
||||
Full-text indexes are called collections
|
||||
select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
||||
a b
|
||||
Full-text indexes are called collections
|
||||
select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
|
||||
a b
|
||||
Full-text indexes are called collections
|
||||
Only MyISAM tables support collections
|
||||
delete from t1 where a like "MySQL%";
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11),
|
||||
ticket int(11),
|
||||
KEY ti (id),
|
||||
KEY tit (ticket)
|
||||
);
|
||||
INSERT INTO t1 VALUES (2,3),(1,2);
|
||||
CREATE TABLE t2 (
|
||||
ticket int(11),
|
||||
inhalt text,
|
||||
KEY tig (ticket),
|
||||
fulltext index tix (inhalt)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,'foo'),(2,'bar'),(3,'foobar');
|
||||
select t1.id FROM t2 as ttxt,t1,t1 as ticket2
|
||||
WHERE ticket2.id = ttxt.ticket AND t1.id = ticket2.ticket and
|
||||
match(ttxt.inhalt) against ('foobar');
|
||||
id
|
||||
select t1.id FROM t2 as ttxt,t1 INNER JOIN t1 as ticket2 ON
|
||||
ticket2.id = ttxt.ticket
|
||||
WHERE t1.id = ticket2.ticket and match(ttxt.inhalt) against ('foobar');
|
||||
id
|
||||
INSERT INTO t1 VALUES (3,3);
|
||||
select t1.id FROM t2 as ttxt,t1
|
||||
INNER JOIN t1 as ticket2 ON ticket2.id = ttxt.ticket
|
||||
WHERE t1.id = ticket2.ticket and
|
||||
match(ttxt.inhalt) against ('foobar');
|
||||
id
|
||||
3
|
||||
show keys from t2;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
|
||||
t2 1 tig 1 ticket A NULL NULL NULL
|
||||
t2 1 tix 1 inhalt A NULL 1 NULL FULLTEXT
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`ticket` int(11) default NULL,
|
||||
@ -20,8 +55,26 @@ t2 CREATE TABLE `t2` (
|
||||
KEY `tig` (`ticket`),
|
||||
FULLTEXT KEY `tix` (`inhalt`)
|
||||
) TYPE=MyISAM
|
||||
select * from t2 where MATCH inhalt AGAINST (NULL);
|
||||
ticket inhalt
|
||||
select * from t2 where MATCH inhalt AGAINST ('foobar');
|
||||
ticket inhalt
|
||||
3 foobar
|
||||
select * from t2 having MATCH inhalt AGAINST ('foobar');
|
||||
ticket inhalt
|
||||
3 foobar
|
||||
CREATE TABLE t3 (
|
||||
ticket int(11),
|
||||
inhalt text,
|
||||
KEY tig (ticket),
|
||||
fulltext index tix (inhalt)
|
||||
);
|
||||
select * from t2 where MATCH inhalt AGAINST (t2.inhalt);
|
||||
Wrong arguments to AGAINST
|
||||
select * from t2 where MATCH inhalt AGAINST (t2.inhalt);
|
||||
Wrong arguments to AGAINST
|
||||
select * from t2 where MATCH ticket AGAINST ('foobar');
|
||||
Can't find FULLTEXT index matching the column list
|
||||
select * from t2,t3 where MATCH (t2.inhalt,t3.inhalt) AGAINST ('foobar');
|
||||
Wrong arguments to MATCH
|
||||
drop table t1,t2,t3;
|
||||
|
@ -1,3 +1,28 @@
|
||||
drop table if exists t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
q varchar(255) default NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'aaaaaaaaa dsaass de');
|
||||
INSERT INTO t1 VALUES (2,'ssde df s fsda sad er');
|
||||
CREATE TABLE t2 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
id2 int(10) unsigned default NULL,
|
||||
item varchar(255) default NULL,
|
||||
PRIMARY KEY (id),
|
||||
FULLTEXT KEY item(item)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,1,'sushi');
|
||||
INSERT INTO t2 VALUES (2,1,'Bolo de Chocolate');
|
||||
INSERT INTO t2 VALUES (3,1,'Feijoada');
|
||||
INSERT INTO t2 VALUES (4,1,'Mousse de Chocolate');
|
||||
INSERT INTO t2 VALUES (5,2,'um copo de Vodka');
|
||||
INSERT INTO t2 VALUES (6,2,'um chocolate Snickers');
|
||||
INSERT INTO t2 VALUES (7,1,'Bife');
|
||||
INSERT INTO t2 VALUES (8,1,'Pizza de Salmao');
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi') as x FROM t1, t2
|
||||
WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378665219675
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0
|
||||
@ -7,6 +32,8 @@ ssde df s fsda sad er um copo de Vodka 5 0
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0
|
||||
aaaaaaaaa dsaass de Bife 7 0
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0
|
||||
SELECT t1.q, t2.item, t2.id, MATCH t2.item AGAINST ('sushi') as x FROM t2, t1
|
||||
WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id;
|
||||
q item id x
|
||||
aaaaaaaaa dsaass de sushi 1 1.92378665219675
|
||||
aaaaaaaaa dsaass de Bolo de Chocolate 2 0
|
||||
@ -16,3 +43,4 @@ ssde df s fsda sad er um copo de Vodka 5 0
|
||||
ssde df s fsda sad er um chocolate Snickers 6 0
|
||||
aaaaaaaaa dsaass de Bife 7 0
|
||||
aaaaaaaaa dsaass de Pizza de Salmao 8 0
|
||||
drop table t1, t2;
|
||||
|
@ -1,10 +1,41 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
id mediumint unsigned NOT NULL auto_increment,
|
||||
tag char(6) NOT NULL default '',
|
||||
value text NOT NULL default '',
|
||||
PRIMARY KEY (id),
|
||||
KEY kt(tag),
|
||||
KEY kv(value(15)),
|
||||
FULLTEXT KEY kvf(value)
|
||||
) TYPE=MyISAM;
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t2 (
|
||||
id_t2 mediumint unsigned NOT NULL default '0',
|
||||
id_t1 mediumint unsigned NOT NULL default '0',
|
||||
field_number tinyint unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (id_t2,id_t1,field_number),
|
||||
KEY id_t1(id_t1)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 (tag,value) VALUES ('foo123','bar111');
|
||||
INSERT INTO t2 VALUES (2231626,64280,0);
|
||||
INSERT INTO t1 (tag,value) VALUES ('foo123','bar222');
|
||||
INSERT INTO t2 VALUES (2231626,64281,0);
|
||||
insert into t1 (tag,value) values ('bar345','baz333 ar');
|
||||
insert into t2 values (12346, 3, 1);
|
||||
select * from t1;
|
||||
id tag value
|
||||
1 foo123 bar111
|
||||
2 foo123 bar222
|
||||
3 bar345 baz333 ar
|
||||
select * from t2;
|
||||
id_t2 id_t1 field_number
|
||||
12346 3 1
|
||||
2231626 64280 0
|
||||
2231626 64281 0
|
||||
SELECT DISTINCT t2.id_t2
|
||||
FROM t2, t1
|
||||
WHERE MATCH (t1.value) AGAINST ('baz333')
|
||||
AND t1.id = t2.id_t1;
|
||||
id_t2
|
||||
12346
|
||||
DROP TABLE t1,t2;
|
||||
|
@ -1,5 +1,25 @@
|
||||
CREATE TABLE t1 (
|
||||
id VARCHAR(255) NOT NULL PRIMARY KEY,
|
||||
sujet VARCHAR(255),
|
||||
motsclefs TEXT,
|
||||
texte MEDIUMTEXT,
|
||||
FULLTEXT(sujet, motsclefs, texte)
|
||||
);
|
||||
INSERT INTO t1 VALUES('123','toto','essai','test');
|
||||
INSERT INTO t1 VALUES('456','droit','penal','lawyer');
|
||||
INSERT INTO t1 VALUES('789','aaaaa','bbbbb','cccccc');
|
||||
CREATE TABLE t2 (
|
||||
id VARCHAR(255) NOT NULL,
|
||||
author VARCHAR(255) NOT NULL
|
||||
);
|
||||
INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
match(t1.texte,t1.sujet,t1.motsclefs) against('droit')
|
||||
0
|
||||
0
|
||||
0.67003110026735
|
||||
0
|
||||
drop table t1, t2;
|
||||
|
@ -1,12 +1,30 @@
|
||||
use test;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a int(11) NOT NULL auto_increment,
|
||||
b text,
|
||||
c varchar(254) default NULL,
|
||||
PRIMARY KEY (a),
|
||||
FULLTEXT KEY bb(b),
|
||||
FULLTEXT KEY cc(c),
|
||||
FULLTEXT KEY a(b,c)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'lala lolo lili','oooo aaaa pppp');
|
||||
INSERT INTO t1 VALUES (2,'asdf fdsa','lkjh fghj');
|
||||
INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb');
|
||||
SELECT a, MATCH b AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH b AGAINST ('lala lkjh')
|
||||
1 0.67003110026735
|
||||
2 0
|
||||
3 0
|
||||
SELECT a, MATCH c AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH c AGAINST ('lala lkjh')
|
||||
1 0
|
||||
2 0.67756324121582
|
||||
3 0
|
||||
SELECT a, MATCH b,c AGAINST ('lala lkjh') FROM t1;
|
||||
a MATCH b,c AGAINST ('lala lkjh')
|
||||
1 0.64840710366884
|
||||
2 0.66266459031789
|
||||
3 0
|
||||
drop table t1;
|
||||
|
@ -1,14 +1,28 @@
|
||||
use test;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a INT AUTO_INCREMENT PRIMARY KEY,
|
||||
message CHAR(20),
|
||||
FULLTEXT(message)
|
||||
) comment = 'original testcase by sroussey@network54.com';
|
||||
INSERT INTO t1 (message) VALUES ("Testing"),("table"),("testbug"),
|
||||
("steve"),("is"),("cool"),("steve is cool");
|
||||
SELECT a, MATCH (message) AGAINST ('steve') FROM t1 WHERE MATCH (message) AGAINST ('steve');
|
||||
a MATCH (message) AGAINST ('steve')
|
||||
4 0.90587321329654
|
||||
7 0.89568988462614
|
||||
SELECT a, MATCH (message) AGAINST ('steve') FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY a;
|
||||
a MATCH (message) AGAINST ('steve')
|
||||
4 0.90587321329654
|
||||
7 0.89568988462614
|
||||
SELECT a, MATCH (message) AGAINST ('steve') FROM t1 WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC;
|
||||
a MATCH (message) AGAINST ('steve')
|
||||
7 0.89568988462614
|
||||
4 0.90587321329654
|
||||
SELECT a, MATCH (message) AGAINST ('steve') FROM t1 WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1;
|
||||
a MATCH (message) AGAINST ('steve')
|
||||
7 0.89568988462614
|
||||
SELECT a, MATCH (message) AGAINST ('steve') as rel FROM t1 ORDER BY rel;
|
||||
a rel
|
||||
1 0
|
||||
2 0
|
||||
@ -17,3 +31,4 @@ a rel
|
||||
6 0
|
||||
7 0.89568988462614
|
||||
4 0.90587321329654
|
||||
drop table t1;
|
||||
|
@ -1,2 +1,22 @@
|
||||
drop table if exists test;
|
||||
CREATE TABLE test (
|
||||
gnr INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
url VARCHAR(80) DEFAULT '' NOT NULL,
|
||||
shortdesc VARCHAR(200) DEFAULT '' NOT NULL,
|
||||
longdesc text DEFAULT '' NOT NULL,
|
||||
description VARCHAR(80) DEFAULT '' NOT NULL,
|
||||
name VARCHAR(80) DEFAULT '' NOT NULL,
|
||||
FULLTEXT(url,description,shortdesc,longdesc),
|
||||
PRIMARY KEY(gnr)
|
||||
);
|
||||
insert into test (url,shortdesc,longdesc,description,name) VALUES
|
||||
("http:/test.at", "kurz", "lang","desc", "name");
|
||||
insert into test (url,shortdesc,longdesc,description,name) VALUES
|
||||
("http:/test.at", "kurz", "","desc", "name");
|
||||
update test set url='test', description='ddd', name='nam' where gnr=2;
|
||||
update test set url='test', shortdesc='ggg', longdesc='mmm',
|
||||
description='ddd', name='nam' where gnr=2;
|
||||
check table test;
|
||||
Table Op Msg_type Msg_text
|
||||
test.test check status OK
|
||||
drop table test;
|
||||
|
@ -1,3 +1,4 @@
|
||||
show variables like "ft\_%";
|
||||
Variable_name Value
|
||||
ft_min_word_len 4
|
||||
ft_max_word_len 254
|
||||
|
@ -1,2 +1,3 @@
|
||||
select length(encrypt('foo', 'ff')) <> 0;
|
||||
length(encrypt('foo', 'ff')) <> 0
|
||||
1
|
||||
|
@ -1,12 +1,47 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
visitor_id int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
group_id int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
hits int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
sessions int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
ts timestamp(14),
|
||||
PRIMARY KEY (visitor_id,group_id)
|
||||
)/*! type=MyISAM */;
|
||||
INSERT INTO t1 VALUES (465931136,7,2,2,20000318160952);
|
||||
INSERT INTO t1 VALUES (173865424,2,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,8,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,39,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,7,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,3,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,6,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,60,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (173865424,1502,2,2,20000318233615);
|
||||
INSERT INTO t1 VALUES (48985536,2,2,2,20000319013932);
|
||||
INSERT INTO t1 VALUES (48985536,8,2,2,20000319013932);
|
||||
INSERT INTO t1 VALUES (48985536,39,2,2,20000319013932);
|
||||
INSERT INTO t1 VALUES (48985536,7,2,2,20000319013932);
|
||||
INSERT INTO t1 VALUES (465931136,3,2,2,20000318160951);
|
||||
INSERT INTO t1 VALUES (465931136,119,1,1,20000318160953);
|
||||
INSERT INTO t1 VALUES (465931136,2,1,1,20000318160950);
|
||||
INSERT INTO t1 VALUES (465931136,8,1,1,20000318160950);
|
||||
INSERT INTO t1 VALUES (465931136,39,1,1,20000318160950);
|
||||
INSERT INTO t1 VALUES (1092858576,14,1,1,20000319013445);
|
||||
INSERT INTO t1 VALUES (357917728,3,2,2,20000319145026);
|
||||
INSERT INTO t1 VALUES (357917728,7,2,2,20000319145027);
|
||||
select visitor_id,max(ts) as mts from t1 group by visitor_id
|
||||
having mts < DATE_SUB(NOW(),INTERVAL 3 MONTH);
|
||||
visitor_id mts
|
||||
48985536 20000319013932
|
||||
173865424 20000318233615
|
||||
357917728 20000319145027
|
||||
465931136 20000318160953
|
||||
1092858576 20000319013445
|
||||
select visitor_id,max(ts) as mts from t1 group by visitor_id
|
||||
having DATE_ADD(mts,INTERVAL 3 MONTH) < NOW();
|
||||
visitor_id mts
|
||||
48985536 20000319013932
|
||||
173865424 20000318233615
|
||||
357917728 20000319145027
|
||||
465931136 20000318160953
|
||||
1092858576 20000319013445
|
||||
drop table t1;
|
||||
|
@ -1,15 +1,29 @@
|
||||
select 0<=>0,0.0<=>0.0,"A"<=>"A",NULL<=>NULL;
|
||||
0<=>0 0.0<=>0.0 "A"<=>"A" NULL<=>NULL
|
||||
1 1 1 1
|
||||
select 1<=>0,0<=>NULL,NULL<=>0;
|
||||
1<=>0 0<=>NULL NULL<=>0
|
||||
0 0 0
|
||||
select 1.0<=>0.0,0.0<=>NULL,NULL<=>0.0;
|
||||
1.0<=>0.0 0.0<=>NULL NULL<=>0.0
|
||||
0 0 0
|
||||
select "A"<=>"B","A"<=>NULL,NULL<=>"A";
|
||||
"A"<=>"B" "A"<=>NULL NULL<=>"A"
|
||||
0 0 0
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (id int, value int);
|
||||
create table t2 (id int, value int);
|
||||
insert into t1 values (1,null);
|
||||
insert into t2 values (1,null);
|
||||
select t1.*, t2.*, t1.value<=>t2.value from t1, t2 where t1.id=t2.id and t1.id=1;
|
||||
id value id value t1.value<=>t2.value
|
||||
1 NULL 1 NULL 1
|
||||
select * from t1 where id <=>id;
|
||||
id value
|
||||
1 NULL
|
||||
select * from t1 where value <=> value;
|
||||
id value
|
||||
1 NULL
|
||||
select * from t1 where id <=> value or value<=>id;
|
||||
id value
|
||||
drop table t1,t2;
|
||||
|
@ -1,3 +1,11 @@
|
||||
create table t1 (grp int, a bigint unsigned, c char(10) not null);
|
||||
insert into t1 values (1,1,"a");
|
||||
insert into t1 values (2,2,"b");
|
||||
insert into t1 values (2,3,"c");
|
||||
insert into t1 values (3,4,"E");
|
||||
insert into t1 values (3,5,"C");
|
||||
insert into t1 values (3,6,"D");
|
||||
select a,c,sum(a) from t1 group by a;
|
||||
a c sum(a)
|
||||
1 a 1
|
||||
2 b 2
|
||||
@ -5,9 +13,12 @@ a c sum(a)
|
||||
4 E 4
|
||||
5 C 5
|
||||
6 D 6
|
||||
select a,c,sum(a) from t1 where a > 10 group by a;
|
||||
a c sum(a)
|
||||
select sum(a) from t1 where a > 10;
|
||||
sum(a)
|
||||
NULL
|
||||
select a from t1 order by rand(10);
|
||||
a
|
||||
1
|
||||
3
|
||||
@ -15,6 +26,7 @@ a
|
||||
5
|
||||
2
|
||||
4
|
||||
select distinct a from t1 order by rand(10);
|
||||
a
|
||||
1
|
||||
3
|
||||
@ -22,65 +34,119 @@ a
|
||||
5
|
||||
2
|
||||
4
|
||||
select count(distinct a),count(distinct grp) from t1;
|
||||
count(distinct a) count(distinct grp)
|
||||
6 3
|
||||
insert into t1 values (null,null,'');
|
||||
select count(distinct a),count(distinct grp) from t1;
|
||||
count(distinct a) count(distinct grp)
|
||||
6 3
|
||||
select sum(a),count(a),avg(a),std(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1;
|
||||
sum(a) count(a) avg(a) std(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
||||
21 6 3.5000 1.7078 7 0 1 6 E
|
||||
select grp, sum(a),count(a),avg(a),std(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
||||
grp sum(a) count(a) avg(a) std(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
||||
NULL 0 0 NULL NULL 0 0 NULL NULL
|
||||
1 1 1 1.0000 0.0000 1 1 1 1 a a
|
||||
2 5 2 2.5000 0.5000 3 2 2 3 b c
|
||||
3 15 3 5.0000 0.8165 7 4 4 6 C E
|
||||
select grp, sum(a)+count(a)+avg(a)+std(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp;
|
||||
grp sum
|
||||
NULL NULL
|
||||
1 7
|
||||
2 20
|
||||
3 44.816496580928
|
||||
create table t2 (grp int, a bigint unsigned, c char(10));
|
||||
insert into t2 select grp,max(a)+max(grp),max(c) from t1 group by grp;
|
||||
replace into t2 select grp, a, c from t1 limit 2,1;
|
||||
select * from t2;
|
||||
grp a c
|
||||
NULL NULL
|
||||
1 2 a
|
||||
2 5 c
|
||||
3 9 E
|
||||
2 3 c
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (id int(11),value1 float(10,2));
|
||||
INSERT INTO t1 VALUES (1,0.00),(1,1.00), (1,2.00), (2,10.00), (2,11.00), (2,12.00);
|
||||
CREATE TABLE t2 (id int(11),name char(20));
|
||||
INSERT INTO t2 VALUES (1,'Set One'),(2,'Set Two');
|
||||
select id, avg(value1), std(value1) from t1 group by id;
|
||||
id avg(value1) std(value1)
|
||||
1 1.000000 0.816497
|
||||
2 11.000000 0.816497
|
||||
select name, avg(value1), std(value1) from t1, t2 where t1.id = t2.id group by t1.id;
|
||||
name avg(value1) std(value1)
|
||||
Set One 1.000000 0.816497
|
||||
Set Two 11.000000 0.816497
|
||||
drop table t1,t2;
|
||||
create table t1 (id int not null);
|
||||
create table t2 (id int not null,rating int null);
|
||||
insert into t1 values(1),(2),(3);
|
||||
insert into t2 values(1, 3),(2, NULL),(2, NULL),(3, 2),(3, NULL);
|
||||
select t1.id, avg(rating) from t1 left join t2 on ( t1.id = t2.id ) group by t1.id;
|
||||
id avg(rating)
|
||||
1 3.0000
|
||||
2 NULL
|
||||
3 2.0000
|
||||
drop table t1,t2;
|
||||
create table t1 (a smallint(6) primary key, c char(10), b text);
|
||||
INSERT INTO t1 VALUES (1,'1','1');
|
||||
INSERT INTO t1 VALUES (2,'2','2');
|
||||
INSERT INTO t1 VALUES (4,'4','4');
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
3
|
||||
select count(*) from t1 where a = 1;
|
||||
count(*)
|
||||
1
|
||||
select count(*) from t1 where a = 100;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t1 where a >= 10;
|
||||
count(*)
|
||||
0
|
||||
select count(a) from t1 where a = 1;
|
||||
count(a)
|
||||
1
|
||||
select count(a) from t1 where a = 100;
|
||||
count(a)
|
||||
0
|
||||
select count(a) from t1 where a >= 10;
|
||||
count(a)
|
||||
0
|
||||
select count(b) from t1 where b >= 2;
|
||||
count(b)
|
||||
2
|
||||
select count(b) from t1 where b >= 10;
|
||||
count(b)
|
||||
0
|
||||
select count(c) from t1 where c = 10;
|
||||
count(c)
|
||||
0
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (d DATETIME, i INT);
|
||||
INSERT INTO t1 VALUES (NOW(), 1);
|
||||
SELECT COUNT(i), i, COUNT(i)*i FROM t1 GROUP BY i;
|
||||
COUNT(i) i COUNT(i)*i
|
||||
1 1 1
|
||||
SELECT COUNT(i), (i+0), COUNT(i)*(i+0) FROM t1 GROUP BY i;
|
||||
COUNT(i) (i+0) COUNT(i)*(i+0)
|
||||
1 1 1
|
||||
DROP TABLE t1;
|
||||
create table t1 (
|
||||
num float(5,2),
|
||||
user char(20)
|
||||
);
|
||||
insert into t1 values (10.3,'nem'),(20.53,'monty'),(30.23,'sinisa');
|
||||
insert into t1 values (30.13,'nem'),(20.98,'monty'),(10.45,'sinisa');
|
||||
insert into t1 values (5.2,'nem'),(8.64,'monty'),(11.12,'sinisa');
|
||||
select sum(num) from t1;
|
||||
sum(num)
|
||||
147.58
|
||||
select sum(num) from t1 group by user;
|
||||
sum(num)
|
||||
50.15
|
||||
45.63
|
||||
51.80
|
||||
drop table t1;
|
||||
|
@ -1,14 +1,27 @@
|
||||
CREATE TABLE t1 (field char(1));
|
||||
INSERT INTO t1 VALUES ('A'),(NULL);
|
||||
SELECT * from t1 WHERE field IN (NULL);
|
||||
field
|
||||
SELECT * from t1 WHERE field NOT IN (NULL);
|
||||
field
|
||||
A
|
||||
SELECT * from t1 where field = field;
|
||||
field
|
||||
A
|
||||
SELECT * from t1 where field <=> field;
|
||||
field
|
||||
A
|
||||
NULL
|
||||
DELETE FROM t1 WHERE field NOT IN (NULL);
|
||||
SELECT * FROM t1;
|
||||
field
|
||||
NULL
|
||||
drop table t1;
|
||||
create table t1 (id int(10) primary key);
|
||||
insert into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
select * from t1 where id in (2,5,9);
|
||||
id
|
||||
2
|
||||
5
|
||||
9
|
||||
drop table t1;
|
||||
|
@ -1,10 +1,18 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a varchar(10), key(a));
|
||||
insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
|
||||
select * from t1 where a like "abc%";
|
||||
a
|
||||
abc
|
||||
abcd
|
||||
select * from t1 where a like "ABC%";
|
||||
a
|
||||
abc
|
||||
abcd
|
||||
select * from t1 where a like "test%";
|
||||
a
|
||||
test
|
||||
select * from t1 where a like "te_t";
|
||||
a
|
||||
test
|
||||
drop table t1;
|
||||
|
@ -1,22 +1,33 @@
|
||||
select floor(5.5),floor(-5.5);
|
||||
floor(5.5) floor(-5.5)
|
||||
5 -6
|
||||
select ceiling(5.5),ceiling(-5.5);
|
||||
ceiling(5.5) ceiling(-5.5)
|
||||
6 -5
|
||||
select truncate(52.64,1),truncate(52.64,2),truncate(52.64,-1),truncate(52.64,-2);
|
||||
truncate(52.64,1) truncate(52.64,2) truncate(52.64,-1) truncate(52.64,-2)
|
||||
52.6 52.64 50 0
|
||||
select round(5.5),round(-5.5);
|
||||
round(5.5) round(-5.5)
|
||||
6 -6
|
||||
select round(5.64,1),round(5.64,2),round(5.64,-1),round(5.64,-2);
|
||||
round(5.64,1) round(5.64,2) round(5.64,-1) round(5.64,-2)
|
||||
5.6 5.64 10 0
|
||||
select abs(-10), sign(-5), sign(5), sign(0);
|
||||
abs(-10) sign(-5) sign(5) sign(0)
|
||||
10 -1 1 0
|
||||
select log(exp(10)),exp(log(sqrt(10))*2);
|
||||
log(exp(10)) exp(log(sqrt(10))*2)
|
||||
10.000000 10.000000
|
||||
select pow(10,log10(10)),power(2,4);
|
||||
pow(10,log10(10)) power(2,4)
|
||||
10.000000 16.000000
|
||||
select rand(999999),rand();
|
||||
rand(999999) rand()
|
||||
0.18435012473199 0.76373626176616
|
||||
select pi(),sin(pi()/2),cos(pi()/2),abs(tan(pi())),cot(1),asin(1),acos(0),atan(1);
|
||||
PI() sin(pi()/2) cos(pi()/2) abs(tan(pi())) cot(1) asin(1) acos(0) atan(1)
|
||||
3.141593 1.000000 0.000000 0.000000 0.64209262 1.570796 1.570796 0.785398
|
||||
select degrees(pi()),radians(360);
|
||||
degrees(pi()) radians(360)
|
||||
180 6.2831853071796
|
||||
|
@ -1,8 +1,12 @@
|
||||
select format(1.5555,0),format(123.5555,1),format(1234.5555,2),format(12345.5555,3),format(123456.5555,4),format(1234567.5555,5),format("12345.2399",2);
|
||||
format(1.5555,0) format(123.5555,1) format(1234.5555,2) format(12345.5555,3) format(123456.5555,4) format(1234567.5555,5) format("12345.2399",2)
|
||||
2 123.6 1,234.56 12,345.556 123,456.5555 1,234,567.55550 12,345.24
|
||||
select inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"));
|
||||
inet_ntoa(inet_aton("255.255.255.255.255.255.255.255"))
|
||||
255.255.255.255.255.255.255.255
|
||||
select inet_aton("255.255.255.255.255"),inet_aton("255.255.1.255"),inet_aton("0.1.255");
|
||||
inet_aton("255.255.255.255.255") inet_aton("255.255.1.255") inet_aton("0.1.255")
|
||||
1099511627775 4294902271 511
|
||||
select inet_ntoa(1099511627775),inet_ntoa(4294902271),inet_ntoa(511);
|
||||
inet_ntoa(1099511627775) inet_ntoa(4294902271) inet_ntoa(511)
|
||||
255.255.255.255.255 255.255.1.255 0.0.1.255
|
||||
|
@ -1,6 +1,9 @@
|
||||
select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
|
||||
1+1 1-1 1+1*2 8/5 8%5 mod(8,5) mod(8,5)|0 -(1+1)*-2
|
||||
2 0 3 1.60 3 3 3 4
|
||||
select 1 | (1+1),5 & 3,bit_count(7) ;
|
||||
1 | (1+1) 5 & 3 bit_count(7)
|
||||
3 1 3
|
||||
select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
|
||||
1 << 32 1 << 63 1 << 64 4 >> 2 4 >> 63 1<< 63 >> 60
|
||||
4294967296 -9223372036854775808 0 1 0 8
|
||||
|
@ -1,3 +1,20 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (s1 char(64),s2 char(64));
|
||||
insert into t1 values('aaa','aaa');
|
||||
insert into t1 values('aaa|qqq','qqq');
|
||||
insert into t1 values('gheis','^[^a-dXYZ]+$');
|
||||
insert into t1 values('aab','^aa?b');
|
||||
insert into t1 values('Baaan','^Ba*n');
|
||||
insert into t1 values('aaa','qqq|aaa');
|
||||
insert into t1 values('qqq','qqq|aaa');
|
||||
insert into t1 values('bbb','qqq|aaa');
|
||||
insert into t1 values('bbb','qqq');
|
||||
insert into t1 values('aaa','aba');
|
||||
insert into t1 values(null,'abc');
|
||||
insert into t1 values('def',null);
|
||||
insert into t1 values(null,null);
|
||||
insert into t1 values('ghi','ghi[');
|
||||
select HIGH_PRIORITY s1 regexp s2 from t1;
|
||||
s1 regexp s2
|
||||
1
|
||||
1
|
||||
@ -13,13 +30,25 @@ NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
drop table t1;
|
||||
create table t1 (xxx char(128));
|
||||
insert into t1 (xxx) values('this is a test of some long text to see what happens');
|
||||
select * from t1 where xxx regexp('is a test of some long text to');
|
||||
xxx
|
||||
this is a test of some long text to see what happens
|
||||
select * from t1 where xxx regexp('is a test of some long text to ');
|
||||
xxx
|
||||
this is a test of some long text to see what happens
|
||||
select * from t1 where xxx regexp('is a test of some long text to s');
|
||||
xxx
|
||||
this is a test of some long text to see what happens
|
||||
select * from t1 where xxx regexp('is a test of some long text to se');
|
||||
xxx
|
||||
this is a test of some long text to see what happens
|
||||
drop table t1;
|
||||
create table t1 (xxx char(128));
|
||||
insert into t1 (xxx) values('this is some text: to test - out.reg exp (22/45)');
|
||||
select * from t1 where xxx REGEXP '^this is some text: to test - out\\.reg exp [[(][0-9]+[/\\][0-9]+[])][ ]*$';
|
||||
xxx
|
||||
this is some text: to test - out.reg exp (22/45)
|
||||
drop table t1;
|
||||
|
@ -1,18 +1,27 @@
|
||||
select interval(55,10,20,30,40,50,60,70,80,90,100),interval(3,1,1+1,1+1+1+1),field("IBM","NCA","ICL","SUN","IBM","DIGITAL"),field("A","B","C"),elt(2,"ONE","TWO","THREE"),interval(0,1,2,3,4),elt(1,1,2,3)|0,elt(1,1.1,1.2,1.3)+0;
|
||||
interval(55,10,20,30,40,50,60,70,80,90,100) interval(3,1,1+1,1+1+1+1) field("IBM","NCA","ICL","SUN","IBM","DIGITAL") field("A","B","C") elt(2,"ONE","TWO","THREE") interval(0,1,2,3,4) elt(1,1,2,3)|0 elt(1,1.1,1.2,1.3)+0
|
||||
5 2 4 0 TWO 0 1 1.1
|
||||
select find_in_set("b","a,b,c"),find_in_set("c","a,b,c"),find_in_set("dd","a,bbb,dd"),find_in_set("bbb","a,bbb,dd");
|
||||
find_in_set("b","a,b,c") find_in_set("c","a,b,c") find_in_set("dd","a,bbb,dd") find_in_set("bbb","a,bbb,dd")
|
||||
2 3 3 2
|
||||
select find_in_set("d","a,b,c"),find_in_set("dd","a,bbb,d"),find_in_set("bb","a,bbb,dd");
|
||||
find_in_set("d","a,b,c") find_in_set("dd","a,bbb,d") find_in_set("bb","a,bbb,dd")
|
||||
0 0 0
|
||||
select make_set(0,'a','b','c'),make_set(-1,'a','b','c'),make_set(1,'a','b','c'),make_set(2,'a','b','c'),make_set(1+2,concat('a','b'),'c');
|
||||
make_set(0,'a','b','c') make_set(-1,'a','b','c') make_set(1,'a','b','c') make_set(2,'a','b','c') make_set(1+2,concat('a','b'),'c')
|
||||
a,b,c a b ab,c
|
||||
select make_set(NULL,'a','b','c'),make_set(1|4,'a',NULL,'c'),make_set(1+2,'a',NULL,'c');
|
||||
make_set(NULL,'a','b','c') make_set(1|4,'a',NULL,'c') make_set(1+2,'a',NULL,'c')
|
||||
NULL a,c a
|
||||
select export_set(9,"Y","N","-",5),export_set(9,"Y","N"),export_set(9,"Y","N","");
|
||||
export_set(9,"Y","N","-",5) export_set(9,"Y","N") export_set(9,"Y","N","")
|
||||
Y-N-N-Y-N Y,N,N,Y,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N YNNYNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
|
||||
select elt(2,1),field(NULL,"a","b","c");
|
||||
elt(2,1) field(NULL,"a","b","c")
|
||||
NULL 0
|
||||
select find_in_set("","a,b,c"),find_in_set("","a,b,c,"),find_in_set("",",a,b,c");
|
||||
find_in_set("","a,b,c") find_in_set("","a,b,c,") find_in_set("",",a,b,c")
|
||||
0 4 1
|
||||
select find_in_set("abc","abc"),find_in_set("ab","abc"),find_in_set("abcd","abc");
|
||||
find_in_set("abc","abc") find_in_set("ab","abc") find_in_set("abcd","abc")
|
||||
1 0 0
|
||||
|
@ -1,112 +1,186 @@
|
||||
drop table if exists t1;
|
||||
select 'hello',"'hello'",'""hello""','''h''e''l''l''o''',"hel""lo",'hel\'lo';
|
||||
hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
|
||||
hello 'hello' ""hello"" 'h'e'l'l'o' hel"lo hel'lo
|
||||
select 'hello' 'monty';
|
||||
hello
|
||||
hellomonty
|
||||
select length('\n\t\r\b\0\_\%\\');
|
||||
length('\n\t\r\b\0\_\%\\')
|
||||
10
|
||||
select concat('monty',' was here ','again'),length('hello'),char(ascii('h'));
|
||||
concat('monty',' was here ','again') length('hello') char(ascii('h'))
|
||||
monty was here again 5 h
|
||||
select locate('he','hello'),locate('he','hello',2),locate('lo','hello',2) ;
|
||||
locate('he','hello') locate('he','hello',2) locate('lo','hello',2)
|
||||
1 0 4
|
||||
select instr('hello','he');
|
||||
instr('hello','he')
|
||||
1
|
||||
select position('ll' in 'hello'),position('a' in 'hello');
|
||||
position('ll' in 'hello') position('a' in 'hello')
|
||||
3 0
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
|
||||
left('hello',2) right('hello',2) substring('hello',2,2) mid('hello',1,5)
|
||||
he lo el hello
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
|
||||
concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1))
|
||||
happy
|
||||
select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
|
||||
substring_index('www.tcx.se','.',-2) substring_index('www.tcx.se','.',1)
|
||||
tcx.se www
|
||||
select substring_index('www.tcx.se','tcx',1),substring_index('www.tcx.se','tcx',-1);
|
||||
substring_index('www.tcx.se','tcx',1) substring_index('www.tcx.se','tcx',-1)
|
||||
www. .se
|
||||
select substring_index('.tcx.se','.',-2),substring_index('.tcx.se','.tcx',-1);
|
||||
substring_index('.tcx.se','.',-2) substring_index('.tcx.se','.tcx',-1)
|
||||
tcx.se .se
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':');
|
||||
concat(':',ltrim(' left '),':',rtrim(' right '),':')
|
||||
:left : right:
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
|
||||
concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':')
|
||||
:left: right:
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
|
||||
concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':')
|
||||
:m:y:s:
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
|
||||
concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':')
|
||||
:my:sql:
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
|
||||
concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':')
|
||||
:my:sql:
|
||||
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
|
||||
TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo")
|
||||
ok ok
|
||||
select concat_ws(', ','monty','was here','again');
|
||||
concat_ws(', ','monty','was here','again')
|
||||
monty, was here, again
|
||||
select concat_ws(NULL,'a'),concat_ws(',',NULL,'');
|
||||
concat_ws(NULL,'a') concat_ws(',',NULL,'')
|
||||
NULL
|
||||
select concat_ws(',','',NULL,'a');
|
||||
concat_ws(',','',NULL,'a')
|
||||
a
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
|
||||
CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"')
|
||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||
this is a test
|
||||
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
||||
replace('aaaa','a','b') replace('aaaa','aa','b') replace('aaaa','a','bb') replace('aaaa','','b') replace('bbbb','a','c')
|
||||
bbbb bb bbbbbbbb aaaa bbbb
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
|
||||
replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL')
|
||||
this is a REAL test
|
||||
select soundex(''),soundex('he'),soundex('hello all folks');
|
||||
soundex('') soundex('he') soundex('hello all folks')
|
||||
H000 H4142
|
||||
select password('test'),length(encrypt('test')),encrypt('test','aa');
|
||||
password('test') length(encrypt('test')) encrypt('test','aa')
|
||||
378b243e220ca493 13 aaqPiZY5xR5l.
|
||||
select md5('hello');
|
||||
md5('hello')
|
||||
5d41402abc4b2a76b9719d911017c592
|
||||
select repeat('monty',5),concat('*',space(5),'*');
|
||||
repeat('monty',5) concat('*',space(5),'*')
|
||||
montymontymontymontymonty * *
|
||||
select reverse('abc'),reverse('abcd');
|
||||
reverse('abc') reverse('abcd')
|
||||
cba dcba
|
||||
select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12');
|
||||
rpad('a',4,'1') rpad('a',4,'12') rpad('abcd',3,'12')
|
||||
a111 a121 abc
|
||||
select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12');
|
||||
lpad('a',4,'1') lpad('a',4,'12') lpad('abcd',3,'12')
|
||||
111a 121a abc
|
||||
select rpad(741653838,17,'0'),lpad(741653838,17,'0');
|
||||
rpad(741653838,17,'0') lpad(741653838,17,'0')
|
||||
74165383800000000 00000000741653838
|
||||
select rpad('abcd',7,'ab'),lpad('abcd',7,'ab');
|
||||
rpad('abcd',7,'ab') lpad('abcd',7,'ab')
|
||||
abcdaba abaabcd
|
||||
select rpad('abcd',1,'ab'),lpad('abcd',1,'ab');
|
||||
rpad('abcd',1,'ab') lpad('abcd',1,'ab')
|
||||
a a
|
||||
select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
|
||||
LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD')
|
||||
HAROLD HARRY
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
least(1,2,3) | greatest(16,32,8) least(5,4)*1 greatest(-1.0,1.0)*1 least(3,2,1)*1.0 greatest(1,1.1,1.0) least("10",9) greatest("A","B","0")
|
||||
33 4 1.0 1.0 1.1 9 B
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
|
||||
decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000)
|
||||
1
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef";
|
||||
decode(encode("abcdef","monty"),"monty")="abcdef"
|
||||
1
|
||||
select reverse("");
|
||||
reverse("")
|
||||
|
||||
select insert("aa",100,1,"b"),insert("aa",1,3,"b"),left("aa",-1),substring("a",1,2);
|
||||
insert("aa",100,1,"b") insert("aa",1,3,"b") left("aa",-1) substring("a",1,2)
|
||||
aa b a
|
||||
select elt(2,1),field(NULL,"a","b","c"),reverse("");
|
||||
elt(2,1) field(NULL,"a","b","c") reverse("")
|
||||
NULL 0
|
||||
select locate("a","b",2),locate("","a",1);
|
||||
locate("a","b",2) locate("","a",1)
|
||||
0 1
|
||||
select ltrim("a"),rtrim("a"),trim(BOTH "" from "a"),trim(BOTH " " from "a");
|
||||
ltrim("a") rtrim("a") trim(BOTH "" from "a") trim(BOTH " " from "a")
|
||||
a a a a
|
||||
select concat("1","2")|0,concat("1",".5")+0.0;
|
||||
concat("1","2")|0 concat("1",".5")+0.0
|
||||
12 1.5
|
||||
select substring_index("www.tcx.se","",3);
|
||||
substring_index("www.tcx.se","",3)
|
||||
|
||||
select length(repeat("a",100000000)),length(repeat("a",1000*64));
|
||||
length(repeat("a",100000000)) length(repeat("a",1000*64))
|
||||
NULL 64000
|
||||
select position("0" in "baaa" in (1)),position("0" in "1" in (1,2,3)),position("sql" in ("mysql"));
|
||||
position("0" in "baaa" in (1)) position("0" in "1" in (1,2,3)) position("sql" in ("mysql"))
|
||||
1 0 3
|
||||
select position(("1" in (1,2,3)) in "01");
|
||||
position(("1" in (1,2,3)) in "01")
|
||||
2
|
||||
select length(repeat("a",65500)),length(concat(repeat("a",32000),repeat("a",32000))),length(replace("aaaaa","a",concat(repeat("a",10000)))),length(insert(repeat("a",40000),1,30000,repeat("b",50000)));
|
||||
length(repeat("a",65500)) length(concat(repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",10000)))) length(insert(repeat("a",40000),1,30000,repeat("b",50000)))
|
||||
65500 64000 50000 60000
|
||||
select length(repeat("a",1000000)),length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))),length(replace("aaaaa","a",concat(repeat("a",32000)))),length(insert(repeat("a",48000),1,1000,repeat("a",48000)));
|
||||
length(repeat("a",1000000)) length(concat(repeat("a",32000),repeat("a",32000),repeat("a",32000))) length(replace("aaaaa","a",concat(repeat("a",32000)))) length(insert(repeat("a",48000),1,1000,repeat("a",48000)))
|
||||
1000000 96000 160000 95000
|
||||
create table t1 ( domain char(50) );
|
||||
insert into t1 VALUES ("hello.de" ), ("test.de" );
|
||||
select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@hello.de';
|
||||
domain
|
||||
hello.de
|
||||
select domain from t1 where concat('@', trim(leading '.' from concat('.', domain))) = '@test.de';
|
||||
domain
|
||||
test.de
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned NOT NULL,
|
||||
title varchar(255) default NULL,
|
||||
prio int(10) unsigned default NULL,
|
||||
category int(10) unsigned default NULL,
|
||||
program int(10) unsigned default NULL,
|
||||
bugdesc text,
|
||||
created datetime default NULL,
|
||||
modified timestamp(14) NOT NULL,
|
||||
bugstatus int(10) unsigned default NULL,
|
||||
submitter int(10) unsigned default NULL
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified,bugstatus,submitter), '"')
|
||||
"Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4"
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"')
|
||||
"Link";"1";"1";"1";"0";"4"
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified,bugstatus,submitter) FROM t1;
|
||||
CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified,bugstatus,submitter)
|
||||
Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,6 @@
|
||||
select database(),user();
|
||||
database() user()
|
||||
test root@localhost
|
||||
select version()>="3.23.29";
|
||||
version()>="3.23.29"
|
||||
1
|
||||
|
@ -1,38 +1,61 @@
|
||||
select 0=0,1>0,1>=1,1<0,1<=0,1!=0,strcmp("abc","abcd"),strcmp("b","a"),strcmp("a","a") ;
|
||||
0=0 1>0 1>=1 1<0 1<=0 1!=0 strcmp("abc","abcd") strcmp("b","a") strcmp("a","a")
|
||||
1 1 1 0 0 1 -1 1 0
|
||||
select "a"<"b","a"<="b","b">="a","b">"a","a"="A","a"<>"b";
|
||||
"a"<"b" "a"<="b" "b">="a" "b">"a" "a"="A" "a"<>"b"
|
||||
1 1 1 1 1 1
|
||||
select "a "="A", "A "="a", "a " <= "A b";
|
||||
"a "="A" "A "="a" "a " <= "A b"
|
||||
1 1 1
|
||||
select "abc" like "a%", "abc" not like "%d%", "a%" like "a\%","abc%" like "a%\%","abcd" like "a%b_%d", "a" like "%%a","abcde" like "a%_e","abc" like "abc%";
|
||||
"abc" like "a%" "abc" not like "%d%" "a%" like "a\%" "abc%" like "a%\%" "abcd" like "a%b_%d" "a" like "%%a" "abcde" like "a%_e" "abc" like "abc%"
|
||||
1 1 1 1 1 1 1 1
|
||||
select "a" like "%%b","a" like "%%ab","ab" like "a\%", "ab" like "_", "ab" like "ab_", "abc" like "%_d", "abc" like "abc%d";
|
||||
"a" like "%%b" "a" like "%%ab" "ab" like "a\%" "ab" like "_" "ab" like "ab_" "abc" like "%_d" "abc" like "abc%d"
|
||||
0 0 0 0 0 0 0
|
||||
select '?' like '|%', '?' like '|%' ESCAPE '|', '%' like '|%', '%' like '|%' ESCAPE '|', '%' like '%';
|
||||
'?' like '|%' '?' like '|%' ESCAPE '|' '%' like '|%' '%' like '|%' ESCAPE '|' '%' like '%'
|
||||
0 0 0 1 1
|
||||
select 'abc' like '%c','abcabc' like '%c', "ab" like "", "ab" like "a", "ab" like "ab";
|
||||
'abc' like '%c' 'abcabc' like '%c' "ab" like "" "ab" like "a" "ab" like "ab"
|
||||
1 1 0 0 1
|
||||
select "Det här är svenska" regexp "h[[:alpha:]]+r", "aba" regexp "^(a|b)*$";
|
||||
"Det här är svenska" regexp "h[[:alpha:]]+r" "aba" regexp "^(a|b)*$"
|
||||
1 1
|
||||
select "aba" regexp concat("^","a");
|
||||
"aba" regexp concat("^","a")
|
||||
1
|
||||
select !0,NOT 0=1,!(0=0),1 AND 1,1 && 0,0 OR 1,1 || NULL, 1=1 or 1=1 and 1=0;
|
||||
!0 NOT 0=1 !(0=0) 1 AND 1 1 && 0 0 OR 1 1 || NULL 1=1 or 1=1 and 1=0
|
||||
1 1 0 1 0 1 1 1
|
||||
select IF(0,"ERROR","this"),IF(1,"is","ERROR"),IF(NULL,"ERROR","a"),IF(1,2,3)|0,IF(1,2.0,3.0)+0 ;
|
||||
IF(0,"ERROR","this") IF(1,"is","ERROR") IF(NULL,"ERROR","a") IF(1,2,3)|0 IF(1,2.0,3.0)+0
|
||||
this is a 2 2.0
|
||||
select 2 between 1 and 3, "monty" between "max" and "my",2=2 and "monty" between "max" and "my" and 3=3;
|
||||
2 between 1 and 3 "monty" between "max" and "my" 2=2 and "monty" between "max" and "my" and 3=3
|
||||
1 1 1
|
||||
select 'b' between 'a' and 'c', 'B' between 'a' and 'c';
|
||||
'b' between 'a' and 'c' 'B' between 'a' and 'c'
|
||||
1 1
|
||||
select 2 in (3,2,5,9,5,1),"monty" in ("david","monty","allan"), 1.2 in (1.4,1.2,1.0);
|
||||
2 in (3,2,5,9,5,1) "monty" in ("david","monty","allan") 1.2 in (1.4,1.2,1.0)
|
||||
1 1 1
|
||||
select -1.49 or -1.49,0.6 or 0.6;
|
||||
-1.49 or -1.49 0.6 or 0.6
|
||||
1 1
|
||||
select 5 between 0 and 10 between 0 and 1,(5 between 0 and 10) between 0 and 1;
|
||||
5 between 0 and 10 between 0 and 1 (5 between 0 and 10) between 0 and 1
|
||||
0 1
|
||||
select 1 and 2 between 2 and 10, 2 between 2 and 10 and 1;
|
||||
1 and 2 between 2 and 10 2 between 2 and 10 and 1
|
||||
1 1
|
||||
select 1 and 0 or 2, 2 or 1 and 0;
|
||||
1 and 0 or 2 2 or 1 and 0
|
||||
1 1
|
||||
drop table if exists t1;
|
||||
create table t1 (num double(12,2));
|
||||
insert into t1 values (144.54);
|
||||
select sum(if(num is null,0.00,num)) from t1;
|
||||
sum(if(num is null,0.00,num))
|
||||
144.54
|
||||
drop table t1;
|
||||
|
@ -1,218 +1,341 @@
|
||||
drop table if exists t1,t2;
|
||||
select from_days(to_days("960101")),to_days(960201)-to_days("19960101"),to_days(date_add(curdate(), interval 1 day))-to_days(curdate()),weekday("1997-11-29");
|
||||
from_days(to_days("960101")) to_days(960201)-to_days("19960101") to_days(date_add(curdate(), interval 1 day))-to_days(curdate()) weekday("1997-11-29")
|
||||
1996-01-01 31 1 5
|
||||
select period_add("9602",-12),period_diff(199505,"9404") ;
|
||||
period_add("9602",-12) period_diff(199505,"9404")
|
||||
199502 13
|
||||
select now()-now(),weekday(curdate())-weekday(now()),unix_timestamp()-unix_timestamp(now());
|
||||
now()-now() weekday(curdate())-weekday(now()) unix_timestamp()-unix_timestamp(now())
|
||||
0 0 0
|
||||
select from_unixtime(unix_timestamp("1994-03-02 10:11:12")),from_unixtime(unix_timestamp("1994-03-02 10:11:12"),"%Y-%m-%d %h:%i:%s"),from_unixtime(unix_timestamp("1994-03-02 10:11:12"))+0;
|
||||
from_unixtime(unix_timestamp("1994-03-02 10:11:12")) from_unixtime(unix_timestamp("1994-03-02 10:11:12"),"%Y-%m-%d %h:%i:%s") from_unixtime(unix_timestamp("1994-03-02 10:11:12"))+0
|
||||
1994-03-02 10:11:12 1994-03-02 10:11:12 19940302101112
|
||||
select sec_to_time(9001),sec_to_time(9001)+0,time_to_sec("15:12:22"),
|
||||
sec_to_time(time_to_sec("0:30:47")/6.21);
|
||||
sec_to_time(9001) sec_to_time(9001)+0 time_to_sec("15:12:22") sec_to_time(time_to_sec("0:30:47")/6.21)
|
||||
02:30:01 23001 54742 00:04:57
|
||||
select now()-curdate()*1000000-curtime();
|
||||
now()-curdate()*1000000-curtime()
|
||||
0
|
||||
select strcmp(current_timestamp(),concat(current_date()," ",current_time()));
|
||||
strcmp(current_timestamp(),concat(current_date()," ",current_time()))
|
||||
0
|
||||
select date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w");
|
||||
date_format("1997-01-02 03:04:05", "%M %W %D %Y %y %m %d %h %i %s %w")
|
||||
January Thursday 2nd 1997 97 01 02 03 04 05 4
|
||||
select date_format("1997-01-02", concat("%M %W %D ","%Y %y %m %d %h %i %s %w"));
|
||||
date_format("1997-01-02", concat("%M %W %D ","%Y %y %m %d %h %i %s %w"))
|
||||
January Thursday 2nd 1997 97 01 02 12 00 00 4
|
||||
select dayofmonth("1997-01-02"),dayofmonth(19970323);
|
||||
dayofmonth("1997-01-02") dayofmonth(19970323)
|
||||
2 23
|
||||
select month("1997-01-02"),year("98-02-03"),dayofyear("1997-12-31");
|
||||
month("1997-01-02") year("98-02-03") dayofyear("1997-12-31")
|
||||
1 1998 365
|
||||
select month("2001-02-00"),year("2001-00-00");
|
||||
month("2001-02-00") year("2001-00-00")
|
||||
2 2001
|
||||
select DAYOFYEAR("1997-03-03"), WEEK("1998-03-03"), QUARTER(980303);
|
||||
DAYOFYEAR("1997-03-03") WEEK("1998-03-03") QUARTER(980303)
|
||||
62 9 1
|
||||
select HOUR("1997-03-03 23:03:22"), MINUTE("23:03:22"), SECOND(230322);
|
||||
HOUR("1997-03-03 23:03:22") MINUTE("23:03:22") SECOND(230322)
|
||||
23 3 22
|
||||
select week(19980101),week(19970101),week(19980101,1),week(19970101,1);
|
||||
week(19980101) week(19970101) week(19980101,1) week(19970101,1)
|
||||
0 0 1 1
|
||||
select week(19981231),week(19971231),week(19981231,1),week(19971231,1);
|
||||
week(19981231) week(19971231) week(19981231,1) week(19971231,1)
|
||||
52 52 53 53
|
||||
select week(19950101),week(19950101,1);
|
||||
week(19950101) week(19950101,1)
|
||||
1 0
|
||||
select yearweek('1981-12-31',1),yearweek('1982-01-01',1),yearweek('1982-12-31',1),yearweek('1983-01-01',1);
|
||||
yearweek('1981-12-31',1) yearweek('1982-01-01',1) yearweek('1982-12-31',1) yearweek('1983-01-01',1)
|
||||
198153 198153 198252 198252
|
||||
select yearweek('1987-01-01',1),yearweek('1987-01-01');
|
||||
yearweek('1987-01-01',1) yearweek('1987-01-01')
|
||||
198701 198652
|
||||
select week("2000-01-01",0) as '2000', week("2001-01-01",0) as '2001', week("2002-01-01",0) as '2002',week("2003-01-01",0) as '2003', week("2004-01-01",0) as '2004', week("2005-01-01",0) as '2005', week("2006-01-01",0) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
0 0 0 0 0 0 1
|
||||
select week("2000-01-06",0) as '2000', week("2001-01-06",0) as '2001', week("2002-01-06",0) as '2002',week("2003-01-06",0) as '2003', week("2004-01-06",0) as '2004', week("2005-01-06",0) as '2005', week("2006-01-06",0) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
1 0 1 1 1 1 1
|
||||
select week("2000-01-01",1) as '2000', week("2001-01-01",1) as '2001', week("2002-01-01",1) as '2002',week("2003-01-01",1) as '2003', week("2004-01-01",1) as '2004', week("2005-01-01",1) as '2005', week("2006-01-01",1) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
0 1 1 1 1 0 0
|
||||
select week("2000-01-06",1) as '2000', week("2001-01-06",1) as '2001', week("2002-01-06",1) as '2002',week("2003-01-06",1) as '2003', week("2004-01-06",1) as '2004', week("2005-01-06",1) as '2005', week("2006-01-06",1) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
1 1 1 2 2 1 1
|
||||
select yearweek("2000-01-01",0) as '2000', yearweek("2001-01-01",0) as '2001', yearweek("2002-01-01",0) as '2002',yearweek("2003-01-01",0) as '2003', yearweek("2004-01-01",0) as '2004', yearweek("2005-01-01",0) as '2005', yearweek("2006-01-01",0) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
199952 200053 200152 200252 200352 200452 200601
|
||||
select yearweek("2000-01-06",0) as '2000', yearweek("2001-01-06",0) as '2001', yearweek("2002-01-06",0) as '2002',yearweek("2003-01-06",0) as '2003', yearweek("2004-01-06",0) as '2004', yearweek("2005-01-06",0) as '2005', yearweek("2006-01-06",0) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
200001 200053 200201 200301 200401 200501 200601
|
||||
select yearweek("2000-01-01",1) as '2000', yearweek("2001-01-01",1) as '2001', yearweek("2002-01-01",1) as '2002',yearweek("2003-01-01",1) as '2003', yearweek("2004-01-01",1) as '2004', yearweek("2005-01-01",1) as '2005', yearweek("2006-01-01",1) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
199952 200101 200201 200301 200401 200453 200552
|
||||
select yearweek("2000-01-06",1) as '2000', yearweek("2001-01-06",1) as '2001', yearweek("2002-01-06",1) as '2002',yearweek("2003-01-06",1) as '2003', yearweek("2004-01-06",1) as '2004', yearweek("2005-01-06",1) as '2005', yearweek("2006-01-06",1) as '2006';
|
||||
2000 2001 2002 2003 2004 2005 2006
|
||||
200001 200101 200201 200302 200402 200501 200601
|
||||
select date_format('1998-12-31','%x-%v'),date_format('1999-01-01','%x-%v');
|
||||
date_format('1998-12-31','%x-%v') date_format('1999-01-01','%x-%v')
|
||||
1998-53 1998-53
|
||||
select date_format('1999-12-31','%x-%v'),date_format('2000-01-01','%x-%v');
|
||||
date_format('1999-12-31','%x-%v') date_format('2000-01-01','%x-%v')
|
||||
1999-52 1999-52
|
||||
select dayname("1962-03-03"),dayname("1962-03-03")+0;
|
||||
dayname("1962-03-03") dayname("1962-03-03")+0
|
||||
Saturday 5
|
||||
select monthname("1972-03-04"),monthname("1972-03-04")+0;
|
||||
monthname("1972-03-04") monthname("1972-03-04")+0
|
||||
March 3
|
||||
select time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
|
||||
time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
|
||||
00|12|0|12|00|AM|12:00:00 AM|00|00:00:00
|
||||
select time_format(19980131010203,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
|
||||
time_format(19980131010203,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
|
||||
01|01|1|1|02|AM|01:02:03 AM|03|01:02:03
|
||||
select time_format(19980131131415,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
|
||||
time_format(19980131131415,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
|
||||
13|01|13|1|14|PM|01:14:15 PM|15|13:14:15
|
||||
select time_format(19980131010015,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
|
||||
time_format(19980131010015,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
|
||||
01|01|1|1|00|AM|01:00:15 AM|15|01:00:15
|
||||
select date_format(concat('19980131',131415),'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w');
|
||||
date_format(concat('19980131',131415),'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w')
|
||||
13|01|13|1|14|PM|01:14:15 PM|15|13:14:15| January|Saturday|31st|1998|98|Sat|Jan|031|01|31|01|15|6
|
||||
select date_format(19980021000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w');
|
||||
date_format(19980021000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T| %M|%W|%D|%Y|%y|%a|%b|%j|%m|%d|%h|%s|%w')
|
||||
NULL
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 SECOND)
|
||||
1998-01-01 00:00:00
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 MINUTE)
|
||||
1998-01-01 00:00:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 HOUR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 HOUR)
|
||||
1998-01-01 00:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 DAY);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 DAY)
|
||||
1998-01-01 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 MONTH);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 MONTH)
|
||||
1998-01-31 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 1 YEAR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 1 YEAR)
|
||||
1998-12-31 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND)
|
||||
1998-01-01 00:01:00
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" HOUR_MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1:1" HOUR_MINUTE)
|
||||
1998-01-01 01:00:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1:1" DAY_HOUR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1:1" DAY_HOUR)
|
||||
1998-01-02 00:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1 1" YEAR_MONTH);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1 1" YEAR_MONTH)
|
||||
1999-01-31 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1:1:1" HOUR_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1:1:1" HOUR_SECOND)
|
||||
1998-01-01 01:01:00
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1 1:1" DAY_MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1" DAY_MINUTE)
|
||||
1998-01-02 01:00:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "1 1:1:1" DAY_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "1 1:1:1" DAY_SECOND)
|
||||
1998-01-02 01:01:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 SECOND);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 SECOND)
|
||||
1997-12-31 23:59:59
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 MINUTE);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 MINUTE)
|
||||
1997-12-31 23:59:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 HOUR);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 HOUR)
|
||||
1997-12-31 23:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 DAY);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 DAY)
|
||||
1997-12-31 00:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 MONTH);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 MONTH)
|
||||
1997-12-01 00:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL 1 YEAR);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL 1 YEAR)
|
||||
1997-01-01 00:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" MINUTE_SECOND);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" MINUTE_SECOND)
|
||||
1997-12-31 23:58:59
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" HOUR_MINUTE);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" HOUR_MINUTE)
|
||||
1997-12-31 22:59:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1" DAY_HOUR);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1:1" DAY_HOUR)
|
||||
1997-12-30 23:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1" YEAR_MONTH);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1 1" YEAR_MONTH)
|
||||
1996-12-01 00:00:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1:1:1" HOUR_SECOND);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1:1:1" HOUR_SECOND)
|
||||
1997-12-31 22:58:59
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1" DAY_MINUTE);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1" DAY_MINUTE)
|
||||
1997-12-30 22:59:00
|
||||
select date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND);
|
||||
date_sub("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND)
|
||||
1997-12-30 22:58:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 100000 SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 100000 SECOND)
|
||||
1998-01-02 03:46:39
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL -100000 MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL -100000 MINUTE)
|
||||
1997-10-23 13:19:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 100000 HOUR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 100000 HOUR)
|
||||
2009-05-29 15:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL -100000 DAY);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL -100000 DAY)
|
||||
1724-03-17 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL 100000 MONTH);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL 100000 MONTH)
|
||||
NULL
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL -100000 YEAR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL -100000 YEAR)
|
||||
NULL
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "10000:1" MINUTE_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" MINUTE_SECOND)
|
||||
1998-01-07 22:40:00
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "-10000:1" HOUR_MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "-10000:1" HOUR_MINUTE)
|
||||
1996-11-10 07:58:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "10000:1" DAY_HOUR);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "10000:1" DAY_HOUR)
|
||||
2025-05-19 00:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "-100 1" YEAR_MONTH);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "-100 1" YEAR_MONTH)
|
||||
1897-11-30 23:59:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "10000:99:99" HOUR_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "10000:99:99" HOUR_SECOND)
|
||||
1999-02-21 17:40:38
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL " -10000 99:99" DAY_MINUTE);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL " -10000 99:99" DAY_MINUTE)
|
||||
1970-08-11 19:20:59
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL "10000 99:99:99" DAY_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL "10000 99:99:99" DAY_SECOND)
|
||||
2025-05-23 04:40:38
|
||||
select "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
|
||||
"1997-12-31 23:59:59" + INTERVAL 1 SECOND
|
||||
1998-01-01 00:00:00
|
||||
select INTERVAL 1 DAY + "1997-12-31";
|
||||
INTERVAL 1 DAY + "1997-12-31"
|
||||
1998-01-01
|
||||
select "1998-01-01 00:00:00" - INTERVAL 1 SECOND;
|
||||
"1998-01-01 00:00:00" - INTERVAL 1 SECOND
|
||||
1997-12-31 23:59:59
|
||||
select date_sub("1998-01-02",INTERVAL 31 DAY);
|
||||
date_sub("1998-01-02",INTERVAL 31 DAY)
|
||||
1997-12-02
|
||||
select date_add("1997-12-31",INTERVAL 1 SECOND);
|
||||
date_add("1997-12-31",INTERVAL 1 SECOND)
|
||||
1997-12-31 00:00:01
|
||||
select date_add("1997-12-31",INTERVAL 1 DAY);
|
||||
date_add("1997-12-31",INTERVAL 1 DAY)
|
||||
1998-01-01
|
||||
select date_add(NULL,INTERVAL 100000 SECOND);
|
||||
date_add(NULL,INTERVAL 100000 SECOND)
|
||||
NULL
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL NULL SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL NULL SECOND)
|
||||
NULL
|
||||
select date_add("1997-12-31 23:59:59",INTERVAL NULL MINUTE_SECOND);
|
||||
date_add("1997-12-31 23:59:59",INTERVAL NULL MINUTE_SECOND)
|
||||
NULL
|
||||
select date_add("9999-12-31 23:59:59",INTERVAL 1 SECOND);
|
||||
date_add("9999-12-31 23:59:59",INTERVAL 1 SECOND)
|
||||
NULL
|
||||
select date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND);
|
||||
date_sub("0000-00-00 00:00:00",INTERVAL 1 SECOND)
|
||||
NULL
|
||||
select date_add('1998-01-30',Interval 1 month);
|
||||
date_add('1998-01-30',Interval 1 month)
|
||||
1998-02-28
|
||||
select date_add('1998-01-30',Interval '2:1' year_month);
|
||||
date_add('1998-01-30',Interval '2:1' year_month)
|
||||
2000-02-29
|
||||
select date_add('1996-02-29',Interval '1' year);
|
||||
date_add('1996-02-29',Interval '1' year)
|
||||
1997-02-28
|
||||
select extract(YEAR FROM "1999-01-02 10:11:12");
|
||||
extract(YEAR FROM "1999-01-02 10:11:12")
|
||||
1999
|
||||
select extract(YEAR_MONTH FROM "1999-01-02");
|
||||
extract(YEAR_MONTH FROM "1999-01-02")
|
||||
199901
|
||||
select extract(DAY FROM "1999-01-02");
|
||||
extract(DAY FROM "1999-01-02")
|
||||
2
|
||||
select extract(DAY_HOUR FROM "1999-01-02 10:11:12");
|
||||
extract(DAY_HOUR FROM "1999-01-02 10:11:12")
|
||||
210
|
||||
select extract(DAY_MINUTE FROM "02 10:11:12");
|
||||
extract(DAY_MINUTE FROM "02 10:11:12")
|
||||
21011
|
||||
select extract(DAY_SECOND FROM "225 10:11:12");
|
||||
extract(DAY_SECOND FROM "225 10:11:12")
|
||||
225101112
|
||||
select extract(HOUR FROM "1999-01-02 10:11:12");
|
||||
extract(HOUR FROM "1999-01-02 10:11:12")
|
||||
10
|
||||
select extract(HOUR_MINUTE FROM "10:11:12");
|
||||
extract(HOUR_MINUTE FROM "10:11:12")
|
||||
1011
|
||||
select extract(HOUR_SECOND FROM "10:11:12");
|
||||
extract(HOUR_SECOND FROM "10:11:12")
|
||||
101112
|
||||
select extract(MINUTE FROM "10:11:12");
|
||||
extract(MINUTE FROM "10:11:12")
|
||||
11
|
||||
select extract(MINUTE_SECOND FROM "10:11:12");
|
||||
extract(MINUTE_SECOND FROM "10:11:12")
|
||||
1112
|
||||
select extract(SECOND FROM "1999-01-02 10:11:12");
|
||||
extract(SECOND FROM "1999-01-02 10:11:12")
|
||||
12
|
||||
select extract(MONTH FROM "2001-02-00");
|
||||
extract(MONTH FROM "2001-02-00")
|
||||
2
|
||||
create table t1 (ctime varchar(20));
|
||||
insert into t1 values ('2001-01-12 12:23:40');
|
||||
select ctime, hour(ctime) from t1;
|
||||
ctime hour(ctime)
|
||||
2001-01-12 12:23:40 12
|
||||
drop table t1;
|
||||
create table t1 (id int);
|
||||
create table t2 (id int, date date);
|
||||
insert into t1 values (1);
|
||||
insert into t2 values (1, "0000-00-00");
|
||||
insert into t1 values (2);
|
||||
insert into t2 values (2, "2000-01-01");
|
||||
select monthname(date) from t1 inner join t2 on t1.id = t2.id;
|
||||
monthname(date)
|
||||
NULL
|
||||
January
|
||||
select monthname(date) from t1 inner join t2 on t1.id = t2.id order by t1.id;
|
||||
monthname(date)
|
||||
NULL
|
||||
January
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (updated text) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES ('');
|
||||
SELECT month(updated) from t1;
|
||||
month(updated)
|
||||
NULL
|
||||
SELECT year(updated) from t1;
|
||||
year(updated)
|
||||
NULL
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,11 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (Zeit time, Tag tinyint not null, Monat tinyint not null,
|
||||
Jahr smallint not null, index(Tag), index(Monat), index(Jahr) );
|
||||
insert into t1 values ("09:26:00",16,9,1998),("09:26:00",16,9,1998);
|
||||
SELECT CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit) AS Date,
|
||||
UNIX_TIMESTAMP(CONCAT(Jahr,'-',Monat,'-',Tag,' ',Zeit)) AS Unix
|
||||
FROM t1;
|
||||
Date Unix
|
||||
1998-9-16 09:26:00 905927160
|
||||
1998-9-16 09:26:00 905927160
|
||||
drop table t1;
|
||||
|
@ -1,15 +1,189 @@
|
||||
drop table if exists t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
spID int(10) unsigned,
|
||||
userID int(10) unsigned,
|
||||
score smallint(5) unsigned,
|
||||
lsg char(40),
|
||||
date date
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,1,1,'','0000-00-00');
|
||||
INSERT INTO t1 VALUES (2,2,2,'','0000-00-00');
|
||||
INSERT INTO t1 VALUES (2,1,1,'','0000-00-00');
|
||||
INSERT INTO t1 VALUES (3,3,3,'','0000-00-00');
|
||||
CREATE TABLE t2 (
|
||||
userID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
niName char(15),
|
||||
passwd char(8),
|
||||
mail char(50),
|
||||
isAukt enum('N','Y') DEFAULT 'N',
|
||||
vName char(30),
|
||||
nName char(40),
|
||||
adr char(60),
|
||||
plz char(5),
|
||||
ort char(35),
|
||||
land char(20),
|
||||
PRIMARY KEY (userID)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,'name','pass','mail','Y','v','n','adr','1','1','1');
|
||||
INSERT INTO t2 VALUES (2,'name','pass','mail','Y','v','n','adr','1','1','1');
|
||||
INSERT INTO t2 VALUES (3,'name','pass','mail','Y','v','n','adr','1','1','1');
|
||||
SELECT t2.userid, MIN(t1.score) FROM t1, t2 WHERE t1.userID=t2.userID GROUP BY t2.userid;
|
||||
userid MIN(t1.score)
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
SELECT t2.userid, MIN(t1.score) FROM t1, t2 WHERE t1.userID=t2.userID AND t1.spID=2 GROUP BY t2.userid;
|
||||
userid MIN(t1.score)
|
||||
1 1
|
||||
2 2
|
||||
SELECT t2.userid, MIN(t1.score+0.0) FROM t1, t2 WHERE t1.userID=t2.userID AND t1.spID=2 GROUP BY t2.userid;
|
||||
userid MIN(t1.score+0.0)
|
||||
1 1.0
|
||||
2 2.0
|
||||
drop table test.t1,test.t2;
|
||||
CREATE TABLE t1 (
|
||||
PID int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
payDate date DEFAULT '0000-00-00' NOT NULL,
|
||||
recDate datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||
URID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
CRID int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
amount int(10) unsigned DEFAULT '0' NOT NULL,
|
||||
operator int(10) unsigned,
|
||||
method enum('unknown','cash','dealer','check','card','lazy','delayed','test') DEFAULT 'unknown' NOT NULL,
|
||||
DIID int(10) unsigned,
|
||||
reason char(1) binary DEFAULT '' NOT NULL,
|
||||
code_id int(10) unsigned,
|
||||
qty mediumint(8) unsigned DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (PID),
|
||||
KEY URID (URID),
|
||||
KEY reason (reason),
|
||||
KEY method (method),
|
||||
KEY payDate (payDate)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'1970-01-01','1997-10-17 00:00:00',2529,1,21000,11886,'check',0,'F',16200,6);
|
||||
SELECT COUNT(P.URID),SUM(P.amount),P.method, MIN(PP.recdate+0) > 19980501000000 AS IsNew FROM t1 AS P JOIN t1 as PP WHERE P.URID = PP.URID GROUP BY method,IsNew;
|
||||
Can't group on 'IsNew'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
cid mediumint(9) DEFAULT '0' NOT NULL auto_increment,
|
||||
firstname varchar(32) DEFAULT '' NOT NULL,
|
||||
surname varchar(32) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (cid)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'That','Guy');
|
||||
INSERT INTO t1 VALUES (2,'Another','Gent');
|
||||
CREATE TABLE t2 (
|
||||
call_id mediumint(8) DEFAULT '0' NOT NULL auto_increment,
|
||||
contact_id mediumint(8) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (call_id),
|
||||
KEY contact_id (contact_id)
|
||||
);
|
||||
lock tables t1 read,t2 write;
|
||||
INSERT INTO t2 VALUES (10,2);
|
||||
INSERT INTO t2 VALUES (18,2);
|
||||
INSERT INTO t2 VALUES (62,2);
|
||||
INSERT INTO t2 VALUES (91,2);
|
||||
INSERT INTO t2 VALUES (92,2);
|
||||
SELECT cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid;
|
||||
cid CONCAT(firstname, ' ', surname) COUNT(call_id)
|
||||
SELECT HIGH_PRIORITY cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid ORDER BY surname, firstname;
|
||||
cid CONCAT(firstname, ' ', surname) COUNT(call_id)
|
||||
drop table t1,t2;
|
||||
unlock tables;
|
||||
CREATE TABLE t1 (
|
||||
bug_id mediumint(9) DEFAULT '0' NOT NULL auto_increment,
|
||||
groupset bigint(20) DEFAULT '0' NOT NULL,
|
||||
assigned_to mediumint(9) DEFAULT '0' NOT NULL,
|
||||
bug_file_loc text,
|
||||
bug_severity enum('blocker','critical','major','normal','minor','trivial','enhancement') DEFAULT 'blocker' NOT NULL,
|
||||
bug_status enum('NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED') DEFAULT 'NEW' NOT NULL,
|
||||
creation_ts datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||
delta_ts timestamp(14),
|
||||
short_desc mediumtext,
|
||||
long_desc mediumtext,
|
||||
op_sys enum('All','Windows 3.1','Windows 95','Windows 98','Windows NT','Windows 2000','Linux','other') DEFAULT 'All' NOT NULL,
|
||||
priority enum('P1','P2','P3','P4','P5') DEFAULT 'P1' NOT NULL,
|
||||
product varchar(64) DEFAULT '' NOT NULL,
|
||||
rep_platform enum('All','PC','VTD-8','Other'),
|
||||
reporter mediumint(9) DEFAULT '0' NOT NULL,
|
||||
version varchar(16) DEFAULT '' NOT NULL,
|
||||
component varchar(50) DEFAULT '' NOT NULL,
|
||||
resolution enum('','FIXED','INVALID','WONTFIX','LATER','REMIND','DUPLICATE','WORKSFORME') DEFAULT '' NOT NULL,
|
||||
target_milestone varchar(20) DEFAULT '' NOT NULL,
|
||||
qa_contact mediumint(9) DEFAULT '0' NOT NULL,
|
||||
status_whiteboard mediumtext NOT NULL,
|
||||
votes mediumint(9) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (bug_id),
|
||||
KEY assigned_to (assigned_to),
|
||||
KEY creation_ts (creation_ts),
|
||||
KEY delta_ts (delta_ts),
|
||||
KEY bug_severity (bug_severity),
|
||||
KEY bug_status (bug_status),
|
||||
KEY op_sys (op_sys),
|
||||
KEY priority (priority),
|
||||
KEY product (product),
|
||||
KEY reporter (reporter),
|
||||
KEY version (version),
|
||||
KEY component (component),
|
||||
KEY resolution (resolution),
|
||||
KEY target_milestone (target_milestone),
|
||||
KEY qa_contact (qa_contact),
|
||||
KEY votes (votes)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,0,0,'','normal','','2000-02-10 09:25:12',20000321114747,'','','Linux','P1','TestProduct','PC',3,'other','TestComponent','','M1',0,'',0);
|
||||
INSERT INTO t1 VALUES (9,0,0,'','enhancement','','2000-03-10 11:49:36',20000321114747,'','','All','P5','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - conversion','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (10,0,0,'','enhancement','','2000-03-10 18:10:16',20000321114747,'','','All','P4','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - conversion','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (7,0,0,'','critical','','2000-03-09 10:50:21',20000321114747,'','','All','P1','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - generic','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (6,0,0,'','normal','','2000-03-09 10:42:44',20000321114747,'','','All','P2','AAAAA','PC',3,'2.00 CD - Pre','kkkkkkkkkkk lllllllllll','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (8,0,0,'','major','','2000-03-09 11:32:14',20000321114747,'','','All','P3','AAAAA','PC',3,'2.00 CD - Pre','kkkkkkkkkkk lllllllllll','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (5,0,0,'','enhancement','','2000-03-09 10:38:59',20000321114747,'','','All','P5','CCC/CCCCCC','PC',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (4,0,0,'','normal','','2000-03-08 18:32:14',20000321114747,'','','other','P2','TestProduct','Other',3,'other','TestComponent2','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (3,0,0,'','normal','','2000-03-08 18:30:52',20000321114747,'','','other','P2','TestProduct','Other',3,'other','TestComponent','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (2,0,0,'','enhancement','','2000-03-08 18:24:51',20000321114747,'','','All','P2','TestProduct','Other',4,'other','TestComponent2','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (11,0,0,'','blocker','','2000-03-13 09:43:41',20000321114747,'','','All','P2','CCC/CCCCCC','PC',5,'7.00','DDDDDDDDD','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (12,0,0,'','normal','','2000-03-13 16:14:31',20000321114747,'','','All','P2','AAAAA','PC',3,'2.00 CD - Pre','kkkkkkkkkkk lllllllllll','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (13,0,0,'','normal','','2000-03-15 16:20:44',20000321114747,'','','other','P2','TestProduct','Other',3,'other','TestComponent','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (14,0,0,'','blocker','','2000-03-15 18:13:47',20000321114747,'','','All','P1','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - generic','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (15,0,0,'','minor','','2000-03-16 18:03:28',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','DDDDDDDDD','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (16,0,0,'','normal','','2000-03-16 18:33:41',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (17,0,0,'','normal','','2000-03-16 18:34:18',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (18,0,0,'','normal','','2000-03-16 18:34:56',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (19,0,0,'','enhancement','','2000-03-16 18:35:34',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (20,0,0,'','enhancement','','2000-03-16 18:36:23',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (21,0,0,'','enhancement','','2000-03-16 18:37:23',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (22,0,0,'','enhancement','','2000-03-16 18:38:16',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','Administration','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (23,0,0,'','normal','','2000-03-16 18:58:12',20000321114747,'','','All','P2','CCC/CCCCCC','Other',5,'7.00','DDDDDDDDD','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (24,0,0,'','normal','','2000-03-17 11:08:10',20000321114747,'','','All','P2','AAAAAAAA-AAA','PC',3,'2.8','Web Interface','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (25,0,0,'','normal','','2000-03-17 11:10:45',20000321114747,'','','All','P2','AAAAAAAA-AAA','PC',3,'2.8','Web Interface','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (26,0,0,'','normal','','2000-03-17 11:15:47',20000321114747,'','','All','P2','AAAAAAAA-AAA','PC',3,'2.8','Web Interface','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (27,0,0,'','normal','','2000-03-17 17:45:41',20000321114747,'','','All','P2','CCC/CCCCCC','PC',5,'7.00','DDDDDDDDD','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (28,0,0,'','normal','','2000-03-20 09:51:45',20000321114747,'','','Windows NT','P2','TestProduct','PC',8,'other','TestComponent','','',0,'',0);
|
||||
INSERT INTO t1 VALUES (29,0,0,'','normal','','2000-03-20 11:15:09',20000321114747,'','','All','P5','AAAAAAAA-AAA','PC',3,'2.8','Web Interface','','',0,'',0);
|
||||
CREATE TABLE t2 (
|
||||
value tinytext,
|
||||
program varchar(64),
|
||||
initialowner tinytext NOT NULL,
|
||||
initialqacontact tinytext NOT NULL,
|
||||
description mediumtext NOT NULL
|
||||
);
|
||||
INSERT INTO t2 VALUES ('TestComponent','TestProduct','id0001','','');
|
||||
INSERT INTO t2 VALUES ('BBBBBBBBBBBBB - conversion','AAAAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('BBBBBBBBBBBBB - generic','AAAAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('TestComponent2','TestProduct','id0001','','');
|
||||
INSERT INTO t2 VALUES ('BBBBBBBBBBBBB - eeeeeeeee','AAAAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('kkkkkkkkkkk lllllllllll','AAAAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('Test Procedures','AAAAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('Documentation','AAAAA','id0003','','');
|
||||
INSERT INTO t2 VALUES ('DDDDDDDDD','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Eeeeeeee Lite','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Eeeeeeee Full','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Administration','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Distribution','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Setup','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Unspecified','CCC/CCCCCC','id0002','','');
|
||||
INSERT INTO t2 VALUES ('Web Interface','AAAAAAAA-AAA','id0001','','');
|
||||
INSERT INTO t2 VALUES ('Host communication','AAAAA','id0001','','');
|
||||
select value,description,bug_id from t2 left join t1 on t2.program=t1.product and t2.value=t1.component where program="AAAAA";
|
||||
value description bug_id
|
||||
BBBBBBBBBBBBB - conversion 9
|
||||
BBBBBBBBBBBBB - conversion 10
|
||||
@ -22,6 +196,7 @@ kkkkkkkkkkk lllllllllll 12
|
||||
Test Procedures NULL
|
||||
Documentation NULL
|
||||
Host communication NULL
|
||||
select value,description,COUNT(bug_id) from t2 left join t1 on t2.program=t1.product and t2.value=t1.component where program="AAAAA" group by value;
|
||||
value description COUNT(bug_id)
|
||||
BBBBBBBBBBBBB - conversion 2
|
||||
BBBBBBBBBBBBB - eeeeeeeee 0
|
||||
@ -30,7 +205,14 @@ Documentation 0
|
||||
Host communication 0
|
||||
kkkkkkkkkkk lllllllllll 3
|
||||
Test Procedures 0
|
||||
drop table t1,t2;
|
||||
create table t1 (foo int);
|
||||
insert into t1 values (1);
|
||||
select 1+1, "a",count(*) from t1 where foo in (2);
|
||||
1+1 a count(*)
|
||||
2 a 0
|
||||
insert into t1 values (1);
|
||||
select 1+1,"a",count(*) from t1 where foo in (2);
|
||||
1+1 a count(*)
|
||||
2 a 0
|
||||
drop table t1;
|
||||
|
@ -1,60 +1,99 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int, b char(10), key a(a), key b(a,b));
|
||||
insert into t1 values
|
||||
(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
|
||||
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
|
||||
(20,"ggg"),(21,"hhh"),(22,"iii");
|
||||
handler t1 open as t2;
|
||||
handler t2 read a first;
|
||||
a b
|
||||
14 aaa
|
||||
handler t2 read a next;
|
||||
a b
|
||||
15 bbb
|
||||
handler t2 read a next;
|
||||
a b
|
||||
16 ccc
|
||||
handler t2 read a prev;
|
||||
a b
|
||||
15 bbb
|
||||
handler t2 read a last;
|
||||
a b
|
||||
22 iii
|
||||
handler t2 read a prev;
|
||||
a b
|
||||
21 hhh
|
||||
handler t2 read a prev;
|
||||
a b
|
||||
20 ggg
|
||||
handler t2 read a first;
|
||||
a b
|
||||
14 aaa
|
||||
handler t2 read a prev;
|
||||
a b
|
||||
handler t2 read a last;
|
||||
a b
|
||||
22 iii
|
||||
handler t2 read a prev;
|
||||
a b
|
||||
21 hhh
|
||||
handler t2 read a next;
|
||||
a b
|
||||
22 iii
|
||||
handler t2 read a next;
|
||||
a b
|
||||
handler t2 read a=(15);
|
||||
a b
|
||||
15 bbb
|
||||
handler t2 read a=(16);
|
||||
a b
|
||||
16 ccc
|
||||
handler t2 read a=(19,"fff");
|
||||
Too many key parts specified. Max 1 parts allowed
|
||||
handler t2 read b=(19,"fff");
|
||||
a b
|
||||
19 fff
|
||||
handler t2 read b=(19,"yyy");
|
||||
a b
|
||||
19 yyy
|
||||
handler t2 read b=(19);
|
||||
a b
|
||||
19 fff
|
||||
handler t1 read a last;
|
||||
Unknown table 't1' in HANDLER
|
||||
handler t2 read a=(11);
|
||||
a b
|
||||
handler t2 read a>=(11);
|
||||
a b
|
||||
14 aaa
|
||||
handler t2 read a=(18);
|
||||
a b
|
||||
18 eee
|
||||
handler t2 read a>=(18);
|
||||
a b
|
||||
18 eee
|
||||
handler t2 read a>(18);
|
||||
a b
|
||||
19 fff
|
||||
handler t2 read a<=(18);
|
||||
a b
|
||||
18 eee
|
||||
handler t2 read a<(18);
|
||||
a b
|
||||
17 ddd
|
||||
handler t2 read a first limit 5;
|
||||
a b
|
||||
14 aaa
|
||||
15 bbb
|
||||
16 ccc
|
||||
16 xxx
|
||||
17 ddd
|
||||
handler t2 read a next limit 3;
|
||||
a b
|
||||
18 eee
|
||||
19 fff
|
||||
19 yyy
|
||||
handler t2 read a prev limit 10;
|
||||
a b
|
||||
19 fff
|
||||
18 eee
|
||||
@ -63,25 +102,37 @@ a b
|
||||
16 ccc
|
||||
15 bbb
|
||||
14 aaa
|
||||
handler t2 read a>=(16) limit 4;
|
||||
a b
|
||||
16 ccc
|
||||
16 xxx
|
||||
17 ddd
|
||||
18 eee
|
||||
handler t2 read a>=(16) limit 2,2;
|
||||
a b
|
||||
17 ddd
|
||||
18 eee
|
||||
handler t2 read a last limit 3;
|
||||
a b
|
||||
22 iii
|
||||
21 hhh
|
||||
20 ggg
|
||||
handler t2 read a=(19);
|
||||
a b
|
||||
19 fff
|
||||
handler t2 read a=(19) where b="yyy";
|
||||
a b
|
||||
19 yyy
|
||||
handler t2 read first;
|
||||
a b
|
||||
17 ddd
|
||||
handler t2 read next;
|
||||
a b
|
||||
18 eee
|
||||
handler t2 read next;
|
||||
a b
|
||||
19 fff
|
||||
handler t2 read last;
|
||||
You have an error in your SQL syntax near '' at line 1
|
||||
handler t2 close;
|
||||
drop table if exists t1;
|
||||
|
@ -1,4 +1,11 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int);
|
||||
select count(a) as b from t1 where a=0 having b > 0;
|
||||
b
|
||||
insert into t1 values (null);
|
||||
select count(a) as b from t1 where a=0 having b > 0;
|
||||
b
|
||||
select count(a) as b from t1 where a=0 having b >=0;
|
||||
b
|
||||
0
|
||||
drop table t1;
|
||||
|
@ -1,41 +1,75 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int not null,b int not null, primary key (a)) type=heap comment="testing heaps" avg_row_length=100 min_rows=1 max_rows=100;
|
||||
insert into t1 values(1,1),(2,2),(3,3),(4,4);
|
||||
delete from t1 where a=1 or a=0;
|
||||
show keys from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment
|
||||
t1 0 PRIMARY 1 a NULL NULL NULL NULL
|
||||
select * from t1;
|
||||
a b
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
select * from t1 where a=4;
|
||||
a b
|
||||
4 4
|
||||
update t1 set b=5 where a=4;
|
||||
update t1 set b=b+1 where a>=3;
|
||||
replace t1 values (3,3);
|
||||
select * from t1;
|
||||
a b
|
||||
2 2
|
||||
3 3
|
||||
4 6
|
||||
alter table t1 add c int not null, add key (c,a);
|
||||
drop table t1;
|
||||
create table t1 (a int not null,b int not null, primary key (a)) type=heap comment="testing heaps";
|
||||
insert into t1 values(1,1),(2,2),(3,3),(4,4);
|
||||
alter table t1 modify a int not null auto_increment, type=myisam, comment="new myisam table";
|
||||
select * from t1;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
4 4
|
||||
drop table t1;
|
||||
create table t1 (a int not null) type=heap;
|
||||
insert into t1 values (869751),(736494),(226312),(802616);
|
||||
select * from t1 where a > 736494;
|
||||
a
|
||||
869751
|
||||
802616
|
||||
alter table t1 add unique uniq_id(a);
|
||||
select * from t1 where a > 736494;
|
||||
a
|
||||
869751
|
||||
802616
|
||||
select * from t1 where a = 736494;
|
||||
a
|
||||
736494
|
||||
select * from t1 where a=869751 or a=736494;
|
||||
a
|
||||
736494
|
||||
869751
|
||||
select * from t1 where a in (869751,736494,226312,802616);
|
||||
a
|
||||
226312
|
||||
736494
|
||||
802616
|
||||
869751
|
||||
alter table t1 type=myisam;
|
||||
explain select * from t1 where a in (869751,736494,226312,802616);
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range uniq_id uniq_id 4 NULL 4 where used; Using index
|
||||
drop table t1;
|
||||
create table t1 (x int not null, y int not null, key x(x), unique y(y))
|
||||
type=heap;
|
||||
insert into t1 values (1,1),(2,2),(1,3),(2,4),(2,5),(2,6);
|
||||
select * from t1 where x=1;
|
||||
x y
|
||||
1 3
|
||||
1 1
|
||||
select * from t1,t1 as t2 where t1.x=t2.y;
|
||||
x y x y
|
||||
1 1 1 1
|
||||
2 2 2 2
|
||||
@ -43,11 +77,20 @@ x y x y
|
||||
2 4 2 2
|
||||
2 5 2 2
|
||||
2 6 2 2
|
||||
explain select * from t1,t1 as t2 where t1.x=t2.y;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL x NULL NULL NULL 6
|
||||
t2 eq_ref y y 4 t1.x 1
|
||||
drop table t1;
|
||||
create table t1 (a int) type=heap;
|
||||
insert into t1 values(1);
|
||||
select max(a) from t1;
|
||||
max(a)
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 ( a int not null default 0, b int not null default 0, key(a), key(b) ) TYPE=HEAP;
|
||||
insert into t1 values(1,1),(1,2),(2,3),(1,3),(1,4),(1,5),(1,6);
|
||||
select * from t1 where a=1;
|
||||
a b
|
||||
1 6
|
||||
1 5
|
||||
@ -55,6 +98,8 @@ a b
|
||||
1 3
|
||||
1 2
|
||||
1 1
|
||||
insert into t1 values(1,1),(1,2),(2,3),(1,3),(1,4),(1,5),(1,6);
|
||||
select * from t1 where a=1;
|
||||
a b
|
||||
1 6
|
||||
1 5
|
||||
@ -68,20 +113,55 @@ a b
|
||||
1 3
|
||||
1 2
|
||||
1 1
|
||||
drop table t1;
|
||||
create table t1 (id int unsigned not null, primary key (id)) type=HEAP;
|
||||
insert into t1 values(1);
|
||||
select max(id) from t1;
|
||||
max(id)
|
||||
1
|
||||
insert into t1 values(2);
|
||||
select max(id) from t1;
|
||||
max(id)
|
||||
2
|
||||
replace into t1 values(1);
|
||||
drop table t1;
|
||||
create table t1 (n int) type=heap;
|
||||
drop table t1;
|
||||
create table t1 (n int) type=heap;
|
||||
drop table if exists t1;
|
||||
CREATE table t1(f1 int not null,f2 char(20) not
|
||||
null,index(f2)) type=heap;
|
||||
INSERT into t1 set f1=12,f2="bill";
|
||||
INSERT into t1 set f1=13,f2="bill";
|
||||
INSERT into t1 set f1=14,f2="bill";
|
||||
INSERT into t1 set f1=15,f2="bill";
|
||||
INSERT into t1 set f1=16,f2="ted";
|
||||
INSERT into t1 set f1=12,f2="ted";
|
||||
INSERT into t1 set f1=12,f2="ted";
|
||||
INSERT into t1 set f1=12,f2="ted";
|
||||
INSERT into t1 set f1=12,f2="ted";
|
||||
delete from t1 where f2="bill";
|
||||
select * from t1;
|
||||
f1 f2
|
||||
16 ted
|
||||
12 ted
|
||||
12 ted
|
||||
12 ted
|
||||
12 ted
|
||||
drop table t1;
|
||||
create table t1 (btn char(10) not null, key(btn)) type=heap;
|
||||
insert into t1 values ("hello"),("hello"),("hello"),("hello"),("hello"),("a"),("b"),("c"),("d"),("e"),("f"),("g"),("h"),("i");
|
||||
explain select * from t1 where btn like "q%";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL btn NULL NULL NULL 14 where used
|
||||
select * from t1 where btn like "q%";
|
||||
btn
|
||||
alter table t1 add column new_col char(1) not null, add key (btn,new_col), drop key btn;
|
||||
update t1 set new_col=btn;
|
||||
explain select * from t1 where btn="a";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL btn NULL NULL NULL 14 where used
|
||||
explain select * from t1 where btn="a" and new_col="a";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref btn btn 11 const,const 10 where used
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,6 @@
|
||||
select last_insert_id(345);
|
||||
last_insert_id(345)
|
||||
345
|
||||
select @@IDENTITY,last_insert_id();
|
||||
@@IDENTITY last_insert_id()
|
||||
345 345
|
||||
|
@ -1,3 +1,12 @@
|
||||
use test;
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (email varchar(50));
|
||||
insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),
|
||||
('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
|
||||
create table t2(id int not null auto_increment primary key,
|
||||
t2 varchar(50), unique(t2));
|
||||
insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
select * from t2;
|
||||
id t2
|
||||
1 mysql.com
|
||||
2 hotmail.com
|
||||
|
@ -1,6 +1,21 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
insert into t1 values (a+2);
|
||||
insert into t1 values (a+3);
|
||||
insert into t1 values (4),(a+5);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
create table t1 (id int not null auto_increment primary key, username varchar(32) not null, unique (username));
|
||||
insert into t1 values (0,"mysql");
|
||||
insert into t1 values (0,"mysql ab");
|
||||
insert into t1 values (0,"mysql a");
|
||||
insert into t1 values (0,"r1manic");
|
||||
insert into t1 values (0,"r1man");
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,10 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (bandID MEDIUMINT UNSIGNED NOT NULL PRIMARY KEY, payoutID SMALLINT UNSIGNED NOT NULL);
|
||||
insert into t1 (bandID,payoutID) VALUES (1,6),(2,6),(3,4),(4,9),(5,10),(6,1),(7,12),(8,12);
|
||||
create table t2 (payoutID SMALLINT UNSIGNED NOT NULL PRIMARY KEY);
|
||||
insert into t2 (payoutID) SELECT DISTINCT payoutID FROM t1;
|
||||
insert into t2 (payoutID) SELECT payoutID+10 FROM t1;
|
||||
select * from t2;
|
||||
payoutID
|
||||
1
|
||||
4
|
||||
@ -11,5 +18,49 @@ payoutID
|
||||
19
|
||||
20
|
||||
22
|
||||
drop table t1,t2;
|
||||
DROP TABLE IF EXISTS crash1,crash2;
|
||||
CREATE TABLE `crash1` (
|
||||
`numeropost` bigint(20) unsigned NOT NULL default '0',
|
||||
`icone` tinyint(4) unsigned NOT NULL default '0',
|
||||
`numreponse` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`contenu` text NOT NULL,
|
||||
`pseudo` varchar(50) NOT NULL default '',
|
||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`ip` bigint(11) NOT NULL default '0',
|
||||
`signature` tinyint(1) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`numeropost`,`numreponse`)
|
||||
,KEY `ip` (`ip`),
|
||||
KEY `date` (`date`),
|
||||
KEY `pseudo` (`pseudo`),
|
||||
KEY `numreponse` (`numreponse`)
|
||||
) TYPE=MyISAM;
|
||||
CREATE TABLE `crash2` (
|
||||
`numeropost` bigint(20) unsigned NOT NULL default '0',
|
||||
`icone` tinyint(4) unsigned NOT NULL default '0',
|
||||
`numreponse` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`contenu` text NOT NULL,
|
||||
`pseudo` varchar(50) NOT NULL default '',
|
||||
`date` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`ip` bigint(11) NOT NULL default '0',
|
||||
`signature` tinyint(1) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`numeropost`,`numreponse`),
|
||||
KEY `ip` (`ip`),
|
||||
KEY `date` (`date`),
|
||||
KEY `pseudo` (`pseudo`),
|
||||
KEY `numreponse` (`numreponse`)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO crash2
|
||||
(numeropost,icone,numreponse,contenu,pseudo,date,ip,signature) VALUES
|
||||
(9,1,56,'test','joce','2001-07-25 13:50:53'
|
||||
,3649052399,0);
|
||||
INSERT INTO crash1 (numeropost,icone,contenu,pseudo,date,signature,ip)
|
||||
SELECT 1618,icone,contenu,pseudo,date,signature,ip FROM crash2
|
||||
WHERE numeropost=9 ORDER BY numreponse ASC;
|
||||
show variables like '%bulk%';
|
||||
Variable_name Value
|
||||
myisam_bulk_insert_tree_size 8388608
|
||||
INSERT INTO crash1 (numeropost,icone,contenu,pseudo,date,signature,ip)
|
||||
SELECT 1718,icone,contenu,pseudo,date,signature,ip FROM crash2
|
||||
WHERE numeropost=9 ORDER BY numreponse ASC;
|
||||
DROP TABLE IF EXISTS crash1,crash2;
|
||||
|
@ -1,10 +1,18 @@
|
||||
create table t1 (a tinyint not null auto_increment, b blob not null, primary key (a));
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
delete from t1 where (a & 1);
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
@ -1,22 +1,93 @@
|
||||
drop table if exists t1,t2;
|
||||
create table t1 (id int primary key);
|
||||
create table t2 (id int);
|
||||
insert into t1 values (75);
|
||||
insert into t1 values (79);
|
||||
insert into t1 values (78);
|
||||
insert into t1 values (77);
|
||||
replace into t1 values (76);
|
||||
replace into t1 values (76);
|
||||
insert into t1 values (104);
|
||||
insert into t1 values (103);
|
||||
insert into t1 values (102);
|
||||
insert into t1 values (101);
|
||||
insert into t1 values (105);
|
||||
insert into t1 values (106);
|
||||
insert into t1 values (107);
|
||||
insert into t2 values (107);
|
||||
insert into t2 values (75);
|
||||
select t1.id, t2.id from t1, t2 where t2.id = t1.id;
|
||||
id id
|
||||
107 107
|
||||
75 75
|
||||
select t1.id, count(t2.id) from t1,t2 where t2.id = t1.id group by t1.id;
|
||||
id count(t2.id)
|
||||
75 1
|
||||
107 1
|
||||
select t1.id, count(t2.id) from t1,t2 where t2.id = t1.id group by t2.id;
|
||||
id count(t2.id)
|
||||
75 1
|
||||
107 1
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL auto_increment,
|
||||
token varchar(100) DEFAULT '' NOT NULL,
|
||||
count int(11) DEFAULT '0' NOT NULL,
|
||||
qty int(11),
|
||||
phone char(1) DEFAULT '' NOT NULL,
|
||||
timestamp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY token (token(15)),
|
||||
KEY timestamp (timestamp),
|
||||
UNIQUE token_2 (token(75),count,phone)
|
||||
);
|
||||
INSERT INTO t1 VALUES (21,'e45703b64de71482360de8fec94c3ade',3,7800,'n','1999-12-23 17:22:21');
|
||||
INSERT INTO t1 VALUES (22,'e45703b64de71482360de8fec94c3ade',4,5000,'y','1999-12-23 17:22:21');
|
||||
INSERT INTO t1 VALUES (18,'346d1cb63c89285b2351f0ca4de40eda',3,13200,'b','1999-12-23 11:58:04');
|
||||
INSERT INTO t1 VALUES (17,'ca6ddeb689e1b48a04146b1b5b6f936a',4,15000,'b','1999-12-23 11:36:53');
|
||||
INSERT INTO t1 VALUES (16,'ca6ddeb689e1b48a04146b1b5b6f936a',3,13200,'b','1999-12-23 11:36:53');
|
||||
INSERT INTO t1 VALUES (26,'a71250b7ed780f6ef3185bfffe027983',5,1500,'b','1999-12-27 09:44:24');
|
||||
INSERT INTO t1 VALUES (24,'4d75906f3c37ecff478a1eb56637aa09',3,5400,'y','1999-12-23 17:29:12');
|
||||
INSERT INTO t1 VALUES (25,'4d75906f3c37ecff478a1eb56637aa09',4,6500,'y','1999-12-23 17:29:12');
|
||||
INSERT INTO t1 VALUES (27,'a71250b7ed780f6ef3185bfffe027983',3,6200,'b','1999-12-27 09:44:24');
|
||||
INSERT INTO t1 VALUES (28,'a71250b7ed780f6ef3185bfffe027983',3,5400,'y','1999-12-27 09:44:36');
|
||||
INSERT INTO t1 VALUES (29,'a71250b7ed780f6ef3185bfffe027983',4,17700,'b','1999-12-27 09:45:05');
|
||||
CREATE TABLE t2 (
|
||||
id int(11) NOT NULL auto_increment,
|
||||
category int(11) DEFAULT '0' NOT NULL,
|
||||
county int(11) DEFAULT '0' NOT NULL,
|
||||
state int(11) DEFAULT '0' NOT NULL,
|
||||
phones int(11) DEFAULT '0' NOT NULL,
|
||||
nophones int(11) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY category (category,county,state)
|
||||
);
|
||||
INSERT INTO t2 VALUES (3,2,11,12,5400,7800);
|
||||
INSERT INTO t2 VALUES (4,2,25,12,6500,11200);
|
||||
INSERT INTO t2 VALUES (5,1,37,6,10000,12000);
|
||||
select a.id, b.category as catid, b.state as stateid, b.county as
|
||||
countyid from t1 a, t2 b where (a.token =
|
||||
'a71250b7ed780f6ef3185bfffe027983') and (a.count = b.id);
|
||||
id catid stateid countyid
|
||||
27 2 12 11
|
||||
28 2 12 11
|
||||
29 2 12 25
|
||||
26 1 6 37
|
||||
select a.id, b.category as catid, b.state as stateid, b.county as
|
||||
countyid from t1 a, t2 b where (a.token =
|
||||
'a71250b7ed780f6ef3185bfffe027983') and (a.count = b.id) order by a.id;
|
||||
id catid stateid countyid
|
||||
26 1 6 37
|
||||
27 2 12 11
|
||||
28 2 12 11
|
||||
29 2 12 25
|
||||
drop table t1, t2;
|
||||
create table t1 (a int primary key);
|
||||
insert into t1 values(1),(2);
|
||||
select t1.a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a);
|
||||
a
|
||||
1
|
||||
2
|
||||
select t1.a from t1 as t1 left join t1 as t2 using (a) left join t1 as t3 using (a) left join t1 as t4 using (a) left join t1 as t5 using (a) left join t1 as t6 using (a) left join t1 as t7 using (a) left join t1 as t8 using (a) left join t1 as t9 using (a) left join t1 as t10 using (a) left join t1 as t11 using (a) left join t1 as t12 using (a) left join t1 as t13 using (a) left join t1 as t14 using (a) left join t1 as t15 using (a) left join t1 as t16 using (a) left join t1 as t17 using (a) left join t1 as t18 using (a) left join t1 as t19 using (a) left join t1 as t20 using (a) left join t1 as t21 using (a) left join t1 as t22 using (a) left join t1 as t23 using (a) left join t1 as t24 using (a) left join t1 as t25 using (a) left join t1 as t26 using (a) left join t1 as t27 using (a) left join t1 as t28 using (a) left join t1 as t29 using (a) left join t1 as t30 using (a) left join t1 as t31 using (a) left join t1 as t32 using (a) left join t1 as t33 using (a) left join t1 as t34 using (a) left join t1 as t35 using (a) left join t1 as t36 using (a) left join t1 as t37 using (a) left join t1 as t38 using (a) left join t1 as t39 using (a) left join t1 as t40 using (a) left join t1 as t41 using (a) left join t1 as t42 using (a) left join t1 as t43 using (a) left join t1 as t44 using (a) left join t1 as t45 using (a) left join t1 as t46 using (a) left join t1 as t47 using (a) left join t1 as t48 using (a) left join t1 as t49 using (a) left join t1 as t50 using (a) left join t1 as t51 using (a) left join t1 as t52 using (a) left join t1 as t53 using (a) left join t1 as t54 using (a) left join t1 as t55 using (a) left join t1 as t56 using (a) left join t1 as t57 using (a) left join t1 as t58 using (a) left join t1 as t59 using (a) left join t1 as t60 using (a) left join t1 as t61 using (a) left join t1 as t62 using (a) left join t1 as t63 using (a) left join t1 as t64 using (a) left join t1 as t65 using (a);
|
||||
Too many tables. MySQL can only use 31 tables in a join
|
||||
drop table t1;
|
||||
|
@ -1 +1,110 @@
|
||||
DROP TABLE IF EXISTS t1,t2,t3,t4;
|
||||
CREATE TABLE t1 (
|
||||
project_id int(11) NOT NULL auto_increment,
|
||||
project_row_lock int(11) NOT NULL default '0',
|
||||
project_name varchar(80) NOT NULL default '',
|
||||
client_ptr int(11) NOT NULL default '0',
|
||||
project_contact_ptr int(11) default NULL,
|
||||
client_contact_ptr int(11) default NULL,
|
||||
billing_contact_ptr int(11) default NULL,
|
||||
comments mediumtext,
|
||||
PRIMARY KEY (project_id),
|
||||
UNIQUE KEY project (client_ptr,project_name)
|
||||
) TYPE=MyISAM PACK_KEYS=1;
|
||||
INSERT INTO t1 VALUES (1,0,'Rejected Time',1,NULL,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (209,0,'MDGRAD Proposal/Investigation',97,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (208,0,'Font 9 Design',84,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (207,0,'Web Based Order Processing',95,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (205,0,'Mac Screen Saver',95,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (206,0,'Web Site',96,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (204,0,'Magnafire Glue',94,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (203,0,'Print Bid',93,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (202,0,'EPOC Port',92,NULL,NULL,NULL,'');
|
||||
INSERT INTO t1 VALUES (201,0,'TravelMate',88,NULL,NULL,NULL,'');
|
||||
CREATE TABLE t2 (
|
||||
period_id int(11) NOT NULL auto_increment,
|
||||
period_type enum('user_table','client_table','role_table','member_table','project_table') default NULL,
|
||||
period_key int(11) default NULL,
|
||||
start_date datetime default NULL,
|
||||
end_date datetime default NULL,
|
||||
work_load int(11) default NULL,
|
||||
PRIMARY KEY (period_id),
|
||||
KEY period_index (period_type,period_key),
|
||||
KEY date_index (start_date,end_date)
|
||||
) TYPE=MyISAM PACK_KEYS=1;
|
||||
INSERT INTO t2 VALUES (1,'user_table',98,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (2,'user_table',99,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (3,'user_table',100,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (49,'project_table',148,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (50,'client_table',68,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (51,'project_table',149,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (52,'project_table',150,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (53,'client_table',69,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (54,'project_table',151,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (55,'client_table',70,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (155,'role_table',1,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (156,'role_table',2,'2000-01-01 00:00:00',NULL,NULL);
|
||||
INSERT INTO t2 VALUES (160,'member_table',1,'2000-01-01 00:00:00',NULL,1);
|
||||
INSERT INTO t2 VALUES (161,'member_table',2,'2000-01-01 00:00:00',NULL,1);
|
||||
INSERT INTO t2 VALUES (162,'member_table',3,'2000-01-01 00:00:00',NULL,1);
|
||||
CREATE TABLE t3 (
|
||||
budget_id int(11) NOT NULL auto_increment,
|
||||
project_ptr int(11) NOT NULL default '0',
|
||||
po_number varchar(20) NOT NULL default '',
|
||||
status enum('open','closed') default NULL,
|
||||
date_received datetime default NULL,
|
||||
amount_received float(10,2) default NULL,
|
||||
adjustment float(10,2) default NULL,
|
||||
PRIMARY KEY (budget_id),
|
||||
UNIQUE KEY po (project_ptr,po_number)
|
||||
) TYPE=MyISAM PACK_KEYS=1;
|
||||
CREATE TABLE t4 (
|
||||
client_id int(11) NOT NULL auto_increment,
|
||||
client_row_lock int(11) NOT NULL default '0',
|
||||
client_name varchar(80) NOT NULL default '',
|
||||
contact_ptr int(11) default NULL,
|
||||
comments mediumtext,
|
||||
PRIMARY KEY (client_id),
|
||||
UNIQUE KEY client_name (client_name)
|
||||
) TYPE=MyISAM PACK_KEYS=1;
|
||||
INSERT INTO t4 VALUES (1,0,'CPS',NULL,NULL);
|
||||
select distinct
|
||||
t1.project_id as project_id,
|
||||
t1.project_name as project_name,
|
||||
t1.client_ptr as client_ptr,
|
||||
t1.comments as comments,
|
||||
sum( t3.amount_received ) + sum( t3.adjustment ) as total_budget
|
||||
from
|
||||
t1 ,
|
||||
t2 as client_period ,
|
||||
t2 as project_period
|
||||
left join
|
||||
t3
|
||||
on
|
||||
t3.project_ptr = t1.project_id
|
||||
and t3.date_received <= '2001-03-22 14:15:09'
|
||||
left join
|
||||
t4
|
||||
on
|
||||
t4.client_id = t1.client_ptr
|
||||
where
|
||||
1
|
||||
and ( client_period.period_type = 'client_table'
|
||||
and client_period.period_key = t4.client_id
|
||||
and ( client_period.start_date <= '2001-03-22 14:15:09' or isnull( client_period.start_date ))
|
||||
and ( client_period.end_date > '2001-03-21 14:15:09' or isnull( client_period.end_date ))
|
||||
)
|
||||
and ( project_period.period_type = 'project_table'
|
||||
and project_period.period_key = t1.project_id
|
||||
and ( project_period.start_date <= '2001-03-22 14:15:09' or isnull( project_period.start_date ))
|
||||
and ( project_period.end_date > '2001-03-21 14:15:09' or isnull( project_period.end_date )) )
|
||||
group by
|
||||
client_id,
|
||||
project_id ,
|
||||
client_period.period_id ,
|
||||
project_period.period_id
|
||||
order by
|
||||
client_name asc,
|
||||
project_name asc;
|
||||
project_id project_name client_ptr comments total_budget
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
|
@ -1,8 +1,19 @@
|
||||
drop table if exists t1,t2,t3,t4,t5;
|
||||
CREATE TABLE t1 (
|
||||
grp int(11) default NULL,
|
||||
a bigint(20) unsigned default NULL,
|
||||
c char(10) NOT NULL default ''
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,1,'a'),(2,2,'b'),(2,3,'c'),(3,4,'E'),(3,5,'C'),(3,6,'D'),(NULL,NULL,'');
|
||||
create table t2 (id int, a bigint unsigned not null, c char(10), d int, primary key (a));
|
||||
insert into t2 values (1,1,"a",1),(3,4,"A",4),(3,5,"B",5),(3,6,"C",6),(4,7,"D",7);
|
||||
select t1.*,t2.* from t1 JOIN t2 where t1.a=t2.a;
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from t1 left join t2 on (t1.a=t2.a) order by t1.grp,t1.a,t2.c;
|
||||
grp a c id a c d
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
1 1 a 1 1 a 1
|
||||
@ -11,18 +22,21 @@ NULL NULL NULL NULL NULL NULL
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from { oj t2 left outer join t1 on (t1.a=t2.a) };
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
NULL NULL NULL 4 7 D 7
|
||||
select t1.*,t2.* from t1 as t0,{ oj t2 left outer join t1 on (t1.a=t2.a) } WHERE t0.a=2;
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
NULL NULL NULL 4 7 D 7
|
||||
select t1.*,t2.* from t1 left join t2 using (a);
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
2 2 b NULL NULL NULL NULL
|
||||
@ -31,11 +45,13 @@ grp a c id a c d
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
select t1.*,t2.* from t1 left join t2 using (a) where t1.a=t2.a;
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from t1 left join t2 using (a,c);
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
2 2 b NULL NULL NULL NULL
|
||||
@ -44,6 +60,7 @@ grp a c id a c d
|
||||
3 5 C NULL NULL NULL NULL
|
||||
3 6 D NULL NULL NULL NULL
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
select t1.*,t2.* from t1 left join t2 using (c);
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
1 1 a 3 4 A 4
|
||||
@ -53,6 +70,7 @@ grp a c id a c d
|
||||
3 5 C 3 6 C 6
|
||||
3 6 D 4 7 D 7
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
select t1.*,t2.* from t1 natural left outer join t2;
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
2 2 b NULL NULL NULL NULL
|
||||
@ -61,19 +79,24 @@ grp a c id a c d
|
||||
3 5 C NULL NULL NULL NULL
|
||||
3 6 D NULL NULL NULL NULL
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
select t1.*,t2.* from t1 left join t2 on (t1.a=t2.a) where t2.id=3;
|
||||
grp a c id a c d
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from t1 left join t2 on (t1.a=t2.a) where t2.id is null;
|
||||
grp a c id a c d
|
||||
2 2 b NULL NULL NULL NULL
|
||||
2 3 c NULL NULL NULL NULL
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
explain select t1.*,t2.* from t1,t2 where t1.a=t2.a and isnull(t2.a)=1;
|
||||
Comment
|
||||
Impossible WHERE noticed after reading const tables
|
||||
explain select t1.*,t2.* from t1 left join t2 on t1.a=t2.a where isnull(t2.a)=1;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 7
|
||||
t2 eq_ref PRIMARY PRIMARY 8 t1.a 1 where used
|
||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t1.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
||||
grp a c id a c d a
|
||||
1 1 a 1 1 a 1 1
|
||||
2 2 b NULL NULL NULL NULL NULL
|
||||
@ -82,28 +105,161 @@ grp a c id a c d a
|
||||
3 5 C 3 5 B 5 5
|
||||
3 6 D 3 6 C 6 6
|
||||
NULL NULL NULL NULL NULL NULL NULL
|
||||
explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||
Cross dependency found in OUTER JOIN. Examine your ON conditions
|
||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||
Cross dependency found in OUTER JOIN. Examine your ON conditions
|
||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
||||
Cross dependency found in OUTER JOIN. Examine your ON conditions
|
||||
select t1.*,t2.* from t1 inner join t2 using (a);
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from t1 inner join t2 on (t1.a=t2.a);
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
3 4 E 3 4 A 4
|
||||
3 5 C 3 5 B 5
|
||||
3 6 D 3 6 C 6
|
||||
select t1.*,t2.* from t1 natural join t2;
|
||||
grp a c id a c d
|
||||
1 1 a 1 1 a 1
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
usr_id INT unsigned NOT NULL,
|
||||
uniq_id INT unsigned NOT NULL AUTO_INCREMENT,
|
||||
start_num INT unsigned NOT NULL DEFAULT 1,
|
||||
increment INT unsigned NOT NULL DEFAULT 1,
|
||||
PRIMARY KEY (uniq_id),
|
||||
INDEX usr_uniq_idx (usr_id, uniq_id),
|
||||
INDEX uniq_usr_idx (uniq_id, usr_id)
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
id INT unsigned NOT NULL DEFAULT 0,
|
||||
usr2_id INT unsigned NOT NULL DEFAULT 0,
|
||||
max INT unsigned NOT NULL DEFAULT 0,
|
||||
c_amount INT unsigned NOT NULL DEFAULT 0,
|
||||
d_max INT unsigned NOT NULL DEFAULT 0,
|
||||
d_num INT unsigned NOT NULL DEFAULT 0,
|
||||
orig_time INT unsigned NOT NULL DEFAULT 0,
|
||||
c_time INT unsigned NOT NULL DEFAULT 0,
|
||||
active ENUM ("no","yes") NOT NULL,
|
||||
PRIMARY KEY (id,usr2_id),
|
||||
INDEX id_idx (id),
|
||||
INDEX usr2_idx (usr2_id)
|
||||
);
|
||||
INSERT INTO t1 VALUES (3,NULL,0,50),(3,NULL,0,200),(3,NULL,0,25),(3,NULL,0,84676),(3,NULL,0,235),(3,NULL,0,10),(3,NULL,0,3098),(3,NULL,0,2947),(3,NULL,0,8987),(3,NULL,0,8347654),(3,NULL,0,20398),(3,NULL,0,8976),(3,NULL,0,500),(3,NULL,0,198);
|
||||
SELECT t1.usr_id,t1.uniq_id,t1.increment,
|
||||
t2.usr2_id,t2.c_amount,t2.max
|
||||
FROM t1
|
||||
LEFT JOIN t2 ON t2.id = t1.uniq_id
|
||||
WHERE t1.uniq_id = 4
|
||||
ORDER BY t2.c_amount;
|
||||
usr_id uniq_id increment usr2_id c_amount max
|
||||
3 4 84676 NULL NULL NULL
|
||||
SELECT t1.usr_id,t1.uniq_id,t1.increment,
|
||||
t2.usr2_id,t2.c_amount,t2.max
|
||||
FROM t2
|
||||
RIGHT JOIN t1 ON t2.id = t1.uniq_id
|
||||
WHERE t1.uniq_id = 4
|
||||
ORDER BY t2.c_amount;
|
||||
usr_id uniq_id increment usr2_id c_amount max
|
||||
3 4 84676 NULL NULL NULL
|
||||
INSERT INTO t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
|
||||
INSERT INTO t2 VALUES (2,3,3000,6000,0,0,746584,837484,'yes');
|
||||
Duplicate entry '2-3' for key 1
|
||||
INSERT INTO t2 VALUES (7,3,1000,2000,0,0,746294,937484,'yes');
|
||||
SELECT t1.usr_id,t1.uniq_id,t1.increment,t2.usr2_id,t2.c_amount,t2.max FROM t1 LEFT JOIN t2 ON t2.id = t1.uniq_id WHERE t1.uniq_id = 4 ORDER BY t2.c_amount;
|
||||
usr_id uniq_id increment usr2_id c_amount max
|
||||
3 4 84676 NULL NULL NULL
|
||||
SELECT t1.usr_id,t1.uniq_id,t1.increment,t2.usr2_id,t2.c_amount,t2.max FROM t1 LEFT JOIN t2 ON t2.id = t1.uniq_id WHERE t1.uniq_id = 4 GROUP BY t2.c_amount;
|
||||
usr_id uniq_id increment usr2_id c_amount max
|
||||
3 4 84676 NULL NULL NULL
|
||||
SELECT t1.usr_id,t1.uniq_id,t1.increment,t2.usr2_id,t2.c_amount,t2.max FROM t1 LEFT JOIN t2 ON t2.id = t1.uniq_id WHERE t1.uniq_id = 4;
|
||||
usr_id uniq_id increment usr2_id c_amount max
|
||||
3 4 84676 NULL NULL NULL
|
||||
drop table t1,t2;
|
||||
drop table if exists t1,t2,t3,t4;
|
||||
CREATE TABLE t1 (
|
||||
cod_asig int(11) DEFAULT '0' NOT NULL,
|
||||
desc_larga_cat varchar(80) DEFAULT '' NOT NULL,
|
||||
desc_larga_cas varchar(80) DEFAULT '' NOT NULL,
|
||||
desc_corta_cat varchar(40) DEFAULT '' NOT NULL,
|
||||
desc_corta_cas varchar(40) DEFAULT '' NOT NULL,
|
||||
cred_total double(3,1) DEFAULT '0.0' NOT NULL,
|
||||
pre_requisit int(11),
|
||||
co_requisit int(11),
|
||||
preco_requisit int(11),
|
||||
PRIMARY KEY (cod_asig)
|
||||
);
|
||||
INSERT INTO t1 VALUES (10360,'asdfggfg','Introduccion a los Ordenadores I','asdfggfg','Introduccio Ordinadors I',6.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (10361,'Components i Circuits Electronics I','Componentes y Circuitos Electronicos I','Components i Circuits Electronics I','Comp. i Circ. Electr. I',6.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (10362,'Laboratori d`Ordinadors','Laboratorio de Ordenadores','Laboratori d`Ordinadors','Laboratori Ordinadors',4.5,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (10363,'Tecniques de Comunicacio Oral i Escrita','Tecnicas de Comunicacion Oral y Escrita','Tecniques de Comunicacio Oral i Escrita','Tec. Com. Oral i Escrita',4.5,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11403,'Projecte Fi de Carrera','Proyecto Fin de Carrera','Projecte Fi de Carrera','PFC',9.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11404,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',15.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11405,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',18.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11406,'Calcul Infinitesimal','Cßlculo Infinitesimal','Calcul Infinitesimal','Calcul Infinitesimal',15.0,NULL,NULL,NULL);
|
||||
CREATE TABLE t2 (
|
||||
idAssignatura int(11) DEFAULT '0' NOT NULL,
|
||||
Grup int(11) DEFAULT '0' NOT NULL,
|
||||
Places smallint(6) DEFAULT '0' NOT NULL,
|
||||
PlacesOcupades int(11) DEFAULT '0',
|
||||
PRIMARY KEY (idAssignatura,Grup)
|
||||
);
|
||||
INSERT INTO t2 VALUES (10360,12,333,0);
|
||||
INSERT INTO t2 VALUES (10361,30,2,0);
|
||||
INSERT INTO t2 VALUES (10361,40,3,0);
|
||||
INSERT INTO t2 VALUES (10360,45,10,0);
|
||||
INSERT INTO t2 VALUES (10362,10,12,0);
|
||||
INSERT INTO t2 VALUES (10360,55,2,0);
|
||||
INSERT INTO t2 VALUES (10360,70,0,0);
|
||||
INSERT INTO t2 VALUES (10360,565656,0,0);
|
||||
INSERT INTO t2 VALUES (10360,32767,7,0);
|
||||
INSERT INTO t2 VALUES (10360,33,8,0);
|
||||
INSERT INTO t2 VALUES (10360,7887,85,0);
|
||||
INSERT INTO t2 VALUES (11405,88,8,0);
|
||||
INSERT INTO t2 VALUES (10360,0,55,0);
|
||||
INSERT INTO t2 VALUES (10360,99,0,0);
|
||||
INSERT INTO t2 VALUES (11411,30,10,0);
|
||||
INSERT INTO t2 VALUES (11404,0,0,0);
|
||||
INSERT INTO t2 VALUES (10362,11,111,0);
|
||||
INSERT INTO t2 VALUES (10363,33,333,0);
|
||||
INSERT INTO t2 VALUES (11412,55,0,0);
|
||||
INSERT INTO t2 VALUES (50003,66,6,0);
|
||||
INSERT INTO t2 VALUES (11403,5,0,0);
|
||||
INSERT INTO t2 VALUES (11406,11,11,0);
|
||||
INSERT INTO t2 VALUES (11410,11410,131,0);
|
||||
INSERT INTO t2 VALUES (11416,11416,32767,0);
|
||||
INSERT INTO t2 VALUES (11409,0,0,0);
|
||||
CREATE TABLE t3 (
|
||||
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
||||
dni_pasaporte char(16) DEFAULT '' NOT NULL,
|
||||
idPla int(11) DEFAULT '0' NOT NULL,
|
||||
cod_asig int(11) DEFAULT '0' NOT NULL,
|
||||
any smallint(6) DEFAULT '0' NOT NULL,
|
||||
quatrimestre smallint(6) DEFAULT '0' NOT NULL,
|
||||
estat char(1) DEFAULT 'M' NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE dni_pasaporte (dni_pasaporte,idPla),
|
||||
UNIQUE dni_pasaporte_2 (dni_pasaporte,idPla,cod_asig,any,quatrimestre)
|
||||
);
|
||||
INSERT INTO t3 VALUES (1,'11111111',1,10362,98,1,'M');
|
||||
CREATE TABLE t4 (
|
||||
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
||||
papa int(11) DEFAULT '0' NOT NULL,
|
||||
fill int(11) DEFAULT '0' NOT NULL,
|
||||
idPla int(11) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY papa (idPla,papa),
|
||||
UNIQUE papa_2 (idPla,papa,fill)
|
||||
);
|
||||
INSERT INTO t4 VALUES (1,-1,10360,1);
|
||||
INSERT INTO t4 VALUES (2,-1,10361,1);
|
||||
INSERT INTO t4 VALUES (3,-1,10362,1);
|
||||
SELECT DISTINCT fill,desc_larga_cat,cred_total,Grup,Places,PlacesOcupades FROM t4 LEFT JOIN t3 ON t3.cod_asig=fill AND estat='S' AND dni_pasaporte='11111111' AND t3.idPla=1 , t2,t1 WHERE fill=t1.cod_asig AND Places>PlacesOcupades AND fill=idAssignatura AND t4.idPla=1 AND papa=-1;
|
||||
fill desc_larga_cat cred_total Grup Places PlacesOcupades
|
||||
10360 asdfggfg 6.0 0 55 0
|
||||
10360 asdfggfg 6.0 12 333 0
|
||||
@ -116,49 +272,82 @@ fill desc_larga_cat cred_total Grup Places PlacesOcupades
|
||||
10361 Components i Circuits Electronics I 6.0 40 3 0
|
||||
10362 Laboratori d`Ordinadors 4.5 10 12 0
|
||||
10362 Laboratori d`Ordinadors 4.5 11 111 0
|
||||
SELECT DISTINCT fill,t3.idPla FROM t4 LEFT JOIN t3 ON t3.cod_asig=t4.fill AND t3.estat='S' AND t3.dni_pasaporte='1234' AND t3.idPla=1 ;
|
||||
fill idPla
|
||||
10360 NULL
|
||||
10361 NULL
|
||||
10362 NULL
|
||||
INSERT INTO t3 VALUES (3,'1234',1,10360,98,1,'S');
|
||||
SELECT DISTINCT fill,t3.idPla FROM t4 LEFT JOIN t3 ON t3.cod_asig=t4.fill AND t3.estat='S' AND t3.dni_pasaporte='1234' AND t3.idPla=1 ;
|
||||
fill idPla
|
||||
10360 1
|
||||
10361 NULL
|
||||
10362 NULL
|
||||
drop table t1,t2,t3,test.t4;
|
||||
CREATE TABLE t1 (
|
||||
id smallint(5) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
name char(60) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'Antonio Paz');
|
||||
INSERT INTO t1 VALUES (2,'Lilliana Angelovska');
|
||||
INSERT INTO t1 VALUES (3,'Thimble Smith');
|
||||
CREATE TABLE t2 (
|
||||
id smallint(5) unsigned DEFAULT '0' NOT NULL auto_increment,
|
||||
owner smallint(5) unsigned DEFAULT '0' NOT NULL,
|
||||
name char(60),
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,1,'El Gato');
|
||||
INSERT INTO t2 VALUES (2,1,'Perrito');
|
||||
INSERT INTO t2 VALUES (3,3,'Happy');
|
||||
select t1.name, t2.name, t2.id from t1 left join t2 on (t1.id = t2.owner);
|
||||
name name id
|
||||
Antonio Paz El Gato 1
|
||||
Antonio Paz Perrito 2
|
||||
Lilliana Angelovska NULL NULL
|
||||
Thimble Smith Happy 3
|
||||
select t1.name, t2.name, t2.id from t1 left join t2 on (t1.id = t2.owner) where t2.id is null;
|
||||
name name id
|
||||
Lilliana Angelovska NULL NULL
|
||||
explain select t1.name, t2.name, t2.id from t1 left join t2 on (t1.id = t2.owner) where t2.id is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 3
|
||||
t2 ALL NULL NULL NULL NULL 3 where used; Not exists
|
||||
explain select t1.name, t2.name, t2.id from t1 left join t2 on (t1.id = t2.owner) where t2.name is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 3
|
||||
t2 ALL NULL NULL NULL NULL 3 where used
|
||||
select count(*) from t1 left join t2 on (t1.id = t2.owner);
|
||||
count(*)
|
||||
4
|
||||
select t1.name, t2.name, t2.id from t2 right join t1 on (t1.id = t2.owner);
|
||||
name name id
|
||||
Antonio Paz El Gato 1
|
||||
Antonio Paz Perrito 2
|
||||
Lilliana Angelovska NULL NULL
|
||||
Thimble Smith Happy 3
|
||||
select t1.name, t2.name, t2.id from t2 right join t1 on (t1.id = t2.owner) where t2.id is null;
|
||||
name name id
|
||||
Lilliana Angelovska NULL NULL
|
||||
explain select t1.name, t2.name, t2.id from t2 right join t1 on (t1.id = t2.owner) where t2.id is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 3
|
||||
t2 ALL NULL NULL NULL NULL 3 where used; Not exists
|
||||
explain select t1.name, t2.name, t2.id from t2 right join t1 on (t1.id = t2.owner) where t2.name is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 3
|
||||
t2 ALL NULL NULL NULL NULL 3 where used
|
||||
select count(*) from t2 right join t1 on (t1.id = t2.owner);
|
||||
count(*)
|
||||
4
|
||||
select t1.name, t2.name, t2.id,t3.id from t2 right join t1 on (t1.id = t2.owner) left join t1 as t3 on t3.id=t2.owner;
|
||||
name name id id
|
||||
Antonio Paz El Gato 1 1
|
||||
Antonio Paz Perrito 2 1
|
||||
Lilliana Angelovska NULL NULL NULL
|
||||
Thimble Smith Happy 3 3
|
||||
select t1.name, t2.name, t2.id,t3.id from t1 right join t2 on (t1.id = t2.owner) right join t1 as t3 on t3.id=t2.owner;
|
||||
name name id id
|
||||
Antonio Paz El Gato 1 1
|
||||
Antonio Paz Perrito 2 1
|
||||
@ -169,6 +358,7 @@ NULL Happy 3 2
|
||||
NULL El Gato 1 3
|
||||
NULL Perrito 2 3
|
||||
Thimble Smith Happy 3 3
|
||||
select t1.name, t2.name, t2.id, t2.owner, t3.id from t1 left join t2 on (t1.id = t2.owner) right join t1 as t3 on t3.id=t2.owner;
|
||||
name name id owner id
|
||||
Antonio Paz El Gato 1 1 1
|
||||
Antonio Paz Perrito 2 1 1
|
||||
@ -180,49 +370,136 @@ Thimble Smith NULL NULL NULL 2
|
||||
Antonio Paz NULL NULL NULL 3
|
||||
Lilliana Angelovska NULL NULL NULL 3
|
||||
Thimble Smith Happy 3 3 3
|
||||
drop table t1,t2;
|
||||
create table t1 (id int not null, str char(10), index(str));
|
||||
insert into t1 values (1, null), (2, null), (3, "foo"), (4, "bar");
|
||||
select * from t1 where str is not null;
|
||||
id str
|
||||
4 bar
|
||||
3 foo
|
||||
select * from t1 where str is null;
|
||||
id str
|
||||
1 NULL
|
||||
2 NULL
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
t1_id bigint(21) DEFAULT '0' NOT NULL auto_increment,
|
||||
PRIMARY KEY (t1_id)
|
||||
);
|
||||
CREATE TABLE t2 (
|
||||
t2_id bigint(21) DEFAULT '0' NOT NULL auto_increment,
|
||||
PRIMARY KEY (t2_id)
|
||||
);
|
||||
CREATE TABLE t3 (
|
||||
t3_id bigint(21) DEFAULT '0' NOT NULL auto_increment,
|
||||
PRIMARY KEY (t3_id)
|
||||
);
|
||||
CREATE TABLE t4 (
|
||||
seq_0_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
seq_1_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
KEY seq_0_id (seq_0_id),
|
||||
KEY seq_1_id (seq_1_id)
|
||||
);
|
||||
CREATE TABLE t5 (
|
||||
seq_0_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
seq_1_id bigint(21) DEFAULT '0' NOT NULL,
|
||||
KEY seq_1_id (seq_1_id),
|
||||
KEY seq_0_id (seq_0_id)
|
||||
);
|
||||
insert into t1 values (1);
|
||||
insert into t2 values (1);
|
||||
insert into t3 values (1);
|
||||
insert into t4 values (1,1);
|
||||
insert into t5 values (1,1);
|
||||
explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23;
|
||||
Cross dependency found in OUTER JOIN. Examine your ON conditions
|
||||
drop table t1,t2,t3,t4,t5;
|
||||
create table t1 (n int, m int, o int, key(n));
|
||||
create table t2 (n int not null, m int, o int, primary key(n));
|
||||
insert into t1 values (1, 2, 11), (1, 2, 7), (2, 2, 8), (1,2,9),(1,3,9);
|
||||
insert into t2 values (1, 2, 3),(2, 2, 8), (4,3,9),(3,2,10);
|
||||
select t1.*, t2.* from t1 left join t2 on t1.n = t2.n and
|
||||
t1.m = t2.m where t1.n = 1;
|
||||
n m o n m o
|
||||
1 2 11 1 2 3
|
||||
1 2 7 1 2 3
|
||||
1 2 9 1 2 3
|
||||
1 3 9 NULL NULL NULL
|
||||
select t1.*, t2.* from t1 left join t2 on t1.n = t2.n and
|
||||
t1.m = t2.m where t1.n = 1 order by t1.o;
|
||||
n m o n m o
|
||||
1 2 7 1 2 3
|
||||
1 2 9 1 2 3
|
||||
1 3 9 NULL NULL NULL
|
||||
1 2 11 1 2 3
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (id1 INT NOT NULL PRIMARY KEY, dat1 CHAR(1), id2 INT);
|
||||
INSERT INTO t1 VALUES (1,'a',1);
|
||||
INSERT INTO t1 VALUES (2,'b',1);
|
||||
INSERT INTO t1 VALUES (3,'c',2);
|
||||
CREATE TABLE t2 (id2 INT NOT NULL PRIMARY KEY, dat2 CHAR(1));
|
||||
INSERT INTO t2 VALUES (1,'x');
|
||||
INSERT INTO t2 VALUES (2,'y');
|
||||
INSERT INTO t2 VALUES (3,'z');
|
||||
SELECT t2.id2 FROM t2 LEFT OUTER JOIN t1 ON t1.id2 = t2.id2 WHERE id1 IS NULL;
|
||||
id2
|
||||
3
|
||||
SELECT t2.id2 FROM t2 NATURAL LEFT OUTER JOIN t1 WHERE id1 IS NULL;
|
||||
id2
|
||||
3
|
||||
drop table t1,t2;
|
||||
create table t1 ( color varchar(20), name varchar(20) );
|
||||
insert into t1 values ( 'red', 'apple' );
|
||||
insert into t1 values ( 'yellow', 'banana' );
|
||||
insert into t1 values ( 'green', 'lime' );
|
||||
insert into t1 values ( 'black', 'grape' );
|
||||
insert into t1 values ( 'blue', 'blueberry' );
|
||||
create table t2 ( count int, color varchar(20) );
|
||||
insert into t2 values (10, 'green');
|
||||
insert into t2 values (5, 'black');
|
||||
insert into t2 values (15, 'white');
|
||||
insert into t2 values (7, 'green');
|
||||
select * from t1;
|
||||
color name
|
||||
red apple
|
||||
yellow banana
|
||||
green lime
|
||||
black grape
|
||||
blue blueberry
|
||||
select * from t2;
|
||||
count color
|
||||
10 green
|
||||
5 black
|
||||
15 white
|
||||
7 green
|
||||
select * from t2 natural join t1;
|
||||
count color color name
|
||||
10 green green lime
|
||||
7 green green lime
|
||||
5 black black grape
|
||||
select t2.count, t1.name from t2 natural join t1;
|
||||
count name
|
||||
10 lime
|
||||
7 lime
|
||||
5 grape
|
||||
select t2.count, t1.name from t2 inner join t1 using (color);
|
||||
count name
|
||||
10 lime
|
||||
7 lime
|
||||
5 grape
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
CREATE TABLE t1 (
|
||||
pcode varchar(8) DEFAULT '' NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('kvw2000'),('kvw2001'),('kvw3000'),('kvw3001'),('kvw3002'),('kvw3500'),('kvw3501'),('kvw3502'),('kvw3800'),('kvw3801'),('kvw3802'),('kvw3900'),('kvw3901'),('kvw3902'),('kvw4000'),('kvw4001'),('kvw4002'),('kvw4200'),('kvw4500'),('kvw5000'),('kvw5001'),('kvw5500'),('kvw5510'),('kvw5600'),('kvw5601'),('kvw6000'),('klw1000'),('klw1020'),('klw1500'),('klw2000'),('klw2001'),('klw2002'),('kld2000'),('klw2500'),('kmw1000'),('kmw1500'),('kmw2000'),('kmw2001'),('kmw2100'),('kmw3000'),('kmw3200');
|
||||
CREATE TABLE t2 (
|
||||
pcode varchar(8) DEFAULT '' NOT NULL,
|
||||
KEY pcode (pcode)
|
||||
);
|
||||
INSERT INTO t2 VALUES ('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw2000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3000'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw3500'),('kvw6000'),('kvw6000'),('kld2000');
|
||||
SELECT t1.pcode, IF(ISNULL(t2.pcode), 0, COUNT(*)) AS count FROM t1
|
||||
LEFT JOIN t2 ON t1.pcode = t2.pcode GROUP BY t1.pcode;
|
||||
pcode count
|
||||
kld2000 1
|
||||
klw1000 0
|
||||
@ -265,6 +542,7 @@ kvw5510 0
|
||||
kvw5600 0
|
||||
kvw5601 0
|
||||
kvw6000 2
|
||||
SELECT SQL_BIG_RESULT t1.pcode, IF(ISNULL(t2.pcode), 0, COUNT(*)) AS count FROM t1 LEFT JOIN t2 ON t1.pcode = t2.pcode GROUP BY t1.pcode;
|
||||
pcode count
|
||||
kld2000 1
|
||||
klw1000 0
|
||||
@ -307,14 +585,43 @@ kvw5510 0
|
||||
kvw5600 0
|
||||
kvw5601 0
|
||||
kvw6000 2
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
id int(11),
|
||||
pid int(11),
|
||||
rep_del tinyint(4),
|
||||
KEY id (id),
|
||||
KEY pid (pid)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (2,1,NULL);
|
||||
select * from t1 LEFT JOIN t1 t2 ON (t1.id=t2.pid) AND t2.rep_del IS NULL;
|
||||
id pid rep_del id pid rep_del
|
||||
1 NULL NULL 2 1 NULL
|
||||
2 1 NULL NULL NULL NULL
|
||||
create index rep_del ON t1(rep_del);
|
||||
select * from t1 LEFT JOIN t1 t2 ON (t1.id=t2.pid) AND t2.rep_del IS NULL;
|
||||
id pid rep_del id pid rep_del
|
||||
1 NULL NULL 2 1 NULL
|
||||
2 1 NULL NULL NULL NULL
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) DEFAULT '0' NOT NULL,
|
||||
name tinytext DEFAULT '' NOT NULL,
|
||||
UNIQUE id (id)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,'yes'),(2,'no');
|
||||
CREATE TABLE t2 (
|
||||
id int(11) DEFAULT '0' NOT NULL,
|
||||
idx int(11) DEFAULT '0' NOT NULL,
|
||||
UNIQUE id (id,idx)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,1);
|
||||
explain SELECT * from t1 left join t2 on t1.id=t2.id where t2.id IS NULL;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 2
|
||||
t2 index id id 8 NULL 1 where used; Using index; Not exists
|
||||
SELECT * from t1 left join t2 on t1.id=t2.id where t2.id IS NULL;
|
||||
id name id idx
|
||||
2 no NULL NULL
|
||||
drop table t1,t2;
|
||||
|
@ -1,19 +1,140 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
ID CHAR(32) NOT NULL,
|
||||
name CHAR(32) NOT NULL,
|
||||
value CHAR(255),
|
||||
INDEX indexIDname (ID(8),name(8))
|
||||
) ;
|
||||
INSERT INTO t1 VALUES
|
||||
('keyword','indexdir','/export/home/local/www/database/indexes/keyword');
|
||||
INSERT INTO t1 VALUES ('keyword','urlprefix','text/ /text');
|
||||
INSERT INTO t1 VALUES ('keyword','urlmap','/text/ /');
|
||||
INSERT INTO t1 VALUES ('keyword','attr','personal employee company');
|
||||
INSERT INTO t1 VALUES
|
||||
('emailgids','indexdir','/export/home/local/www/database/indexes/emailgids');
|
||||
INSERT INTO t1 VALUES ('emailgids','urlprefix','text/ /text');
|
||||
INSERT INTO t1 VALUES ('emailgids','urlmap','/text/ /');
|
||||
INSERT INTO t1 VALUES ('emailgids','attr','personal employee company');
|
||||
SELECT value FROM t1 WHERE ID='emailgids' AND name='attr';
|
||||
value
|
||||
personal employee company
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
price int(5) DEFAULT '0' NOT NULL,
|
||||
area varchar(40) DEFAULT '' NOT NULL,
|
||||
type varchar(40) DEFAULT '' NOT NULL,
|
||||
transityes enum('Y','N') DEFAULT 'Y' NOT NULL,
|
||||
shopsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
|
||||
schoolsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
|
||||
petsyes enum('Y','N') DEFAULT 'Y' NOT NULL,
|
||||
KEY price (price,area,type,transityes,shopsyes,schoolsyes,petsyes)
|
||||
);
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','N','N','N','N');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','','','','');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
|
||||
INSERT INTO t1 VALUES (900,'Vancouver','Shared/Roomate','Y','Y','Y','Y');
|
||||
SELECT * FROM t1 WHERE area='Vancouver' and transityes='y' and schoolsyes='y' and ( ((type='1 Bedroom' or type='Studio/Bach') and (price<=500)) or ((type='2 Bedroom') and (price<=550)) or ((type='Shared/Roomate') and (price<=300)) or ((type='Room and Board') and (price<=500)) ) and price <= 400;
|
||||
price area type transityes shopsyes schoolsyes petsyes
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (program enum('signup','unique','sliding') not null, type enum('basic','sliding','signup'), sites set('mt'), PRIMARY KEY (program));
|
||||
ALTER TABLE t1 modify program enum('signup','unique','sliding');
|
||||
All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
name varchar(50) DEFAULT '' NOT NULL,
|
||||
author varchar(50) DEFAULT '' NOT NULL,
|
||||
category decimal(10,0) DEFAULT '0' NOT NULL,
|
||||
email varchar(50),
|
||||
password varchar(50),
|
||||
proxy varchar(50),
|
||||
bitmap varchar(20),
|
||||
msg varchar(255),
|
||||
urlscol varchar(127),
|
||||
urlhttp varchar(127),
|
||||
timeout decimal(10,0),
|
||||
nbcnx decimal(10,0),
|
||||
creation decimal(10,0),
|
||||
livinguntil decimal(10,0),
|
||||
lang decimal(10,0),
|
||||
type decimal(10,0),
|
||||
subcat decimal(10,0),
|
||||
subtype decimal(10,0),
|
||||
reg char(1),
|
||||
scs varchar(255),
|
||||
capacity decimal(10,0),
|
||||
userISP varchar(50),
|
||||
CCident varchar(50) DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (name,author,category)
|
||||
);
|
||||
INSERT INTO t1 VALUES
|
||||
('patnom','patauteur',0,'p.favre@cryo-networks.fr',NULL,NULL,'#p2sndnq6ae5g1u6t','essai\nsalut','scol://195.242.78.119:patauteur.patnom',NULL,NULL,NULL,950036174,-882087474,NULL,3,0,3,'1','Pub/patnom/futur_divers.scs',NULL,'pat','CC1');
|
||||
INSERT INTO t1 VALUES
|
||||
('LeNomDeMonSite','Marc',0,'m.barilley@cryo-networks.fr',NULL,NULL,NULL,NULL,'scol://195.242.78.119:Marc.LeNomDeMonSite',NULL,NULL,NULL,950560434,-881563214,NULL,3,0,3,'1','Pub/LeNomDeMonSite/domus_hibere.scs',NULL,'Marq','CC1');
|
||||
select * from t1 where name='patnom' and author='patauteur' and category=0;
|
||||
name author category email password proxy bitmap msg urlscol urlhttp timeout nbcnx creation livinguntil lang type subcat subtype reg scs capacity userISP CCident
|
||||
patnom patauteur 0 p.favre@cryo-networks.fr NULL NULL #p2sndnq6ae5g1u6t essai
|
||||
salut scol://195.242.78.119:patauteur.patnom NULL NULL NULL 950036174 -882087474 NULL 3 0 3 1 Pub/patnom/futur_divers.scs NULL pat CC1
|
||||
drop table t1;
|
||||
create table t1
|
||||
(
|
||||
name_id int not null auto_increment,
|
||||
name blob,
|
||||
INDEX name_idx (name(5)),
|
||||
primary key (name_id)
|
||||
);
|
||||
INSERT t1 VALUES(NULL,'/');
|
||||
INSERT t1 VALUES(NULL,'[T,U]_axpby');
|
||||
SELECT * FROM t1 WHERE name='[T,U]_axpy';
|
||||
name_id name
|
||||
SELECT * FROM t1 WHERE name='[T,U]_axpby';
|
||||
name_id name
|
||||
2 [T,U]_axpby
|
||||
create table t2
|
||||
(
|
||||
name_id int not null auto_increment,
|
||||
name char(255) binary,
|
||||
INDEX name_idx (name(5)),
|
||||
primary key (name_id)
|
||||
);
|
||||
INSERT t2 select * from t1;
|
||||
SELECT * FROM t2 WHERE name='[T,U]_axpy';
|
||||
name_id name
|
||||
SELECT * FROM t2 WHERE name='[T,U]_axpby';
|
||||
name_id name
|
||||
2 [T,U]_axpby
|
||||
drop table t1,t2;
|
||||
create table t1
|
||||
(
|
||||
SEQNO numeric(12 ) not null,
|
||||
MOTYPEID numeric(12 ) not null,
|
||||
MOINSTANCEID numeric(12 ) not null,
|
||||
ATTRID numeric(12 ) not null,
|
||||
VALUE varchar(120) not null,
|
||||
primary key (SEQNO, MOTYPEID, MOINSTANCEID, ATTRID, VALUE )
|
||||
);
|
||||
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
|
||||
INSERT INTO t1 VALUES (1, 1, 1, 1, 'b');
|
||||
INSERT INTO t1 VALUES (1, 1, 1, 1, 'a');
|
||||
Duplicate entry '1-1-1-1-a' for key 1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
a tinytext NOT NULL,
|
||||
b tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (a(32),b)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES ('a',1),('a',2);
|
||||
SELECT * FROM t1 WHERE a='a' AND b=2;
|
||||
a b
|
||||
a 2
|
||||
SELECT * FROM t1 WHERE a='a' AND b in (2);
|
||||
a b
|
||||
a 2
|
||||
SELECT * FROM t1 WHERE a='a' AND b in (1,2);
|
||||
a b
|
||||
a 1
|
||||
a 2
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,12 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
a char(5) NOT NULL,
|
||||
b char(4) NOT NULL,
|
||||
KEY (a),
|
||||
KEY (b)
|
||||
);
|
||||
INSERT INTO t1 VALUES ('A','B'),('b','A'),('C','c'),('D','E'),('a','a');
|
||||
select * from t1,t1 as t2;
|
||||
a b a b
|
||||
A B A B
|
||||
b A A B
|
||||
@ -24,9 +33,11 @@ b A a a
|
||||
C c a a
|
||||
D E a a
|
||||
a a a a
|
||||
explain select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL a NULL NULL NULL 5
|
||||
t2 ALL b NULL NULL NULL 5 where used
|
||||
select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B order by binary t1.a,t2.a;
|
||||
a b a b
|
||||
A B a a
|
||||
A B b A
|
||||
@ -34,6 +45,8 @@ C c C c
|
||||
a a a a
|
||||
a a b A
|
||||
b A A B
|
||||
select * from t1 where a='a';
|
||||
a b
|
||||
A B
|
||||
a a
|
||||
drop table t1;
|
||||
|
@ -1,9 +1,19 @@
|
||||
create table t1 (t1 char(3) primary key);
|
||||
insert into t1 values("ABC");
|
||||
insert into t1 values("ABA");
|
||||
insert into t1 values("AB%");
|
||||
select * from t1 where t1="ABC";
|
||||
t1
|
||||
ABC
|
||||
select * from t1 where t1="ABCD";
|
||||
t1
|
||||
select * from t1 where t1 like "a_\%";
|
||||
t1
|
||||
AB%
|
||||
describe select * from t1 where t1="ABC";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 const PRIMARY PRIMARY 3 const 1
|
||||
describe select * from t1 where t1="ABCD";
|
||||
Comment
|
||||
Impossible WHERE noticed after reading const tables
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,10 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (time time, date date, timestamp timestamp);
|
||||
insert into t1 values ("12:22:22","97:02:03","1997-01-02");
|
||||
select * from t1;
|
||||
time date timestamp
|
||||
12:22:22 1997-02-03 19970102000000
|
||||
select t1.time+0,t1.date+0,t1.timestamp+0,concat(date," ",time) from t1;
|
||||
t1.time+0 t1.date+0 t1.timestamp+0 concat(date," ",time)
|
||||
122222 19970203 19970102000000 1997-02-03 12:22:22
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,11 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (kill_id int);
|
||||
insert into t1 values(connection_id());
|
||||
select ((@id := kill_id) - kill_id) from t1;
|
||||
((@id := kill_id) - kill_id)
|
||||
0
|
||||
kill @id;
|
||||
select 4;
|
||||
4
|
||||
4
|
||||
drop table t1;
|
||||
|
@ -1,25 +1,50 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int primary key, b int not null);
|
||||
insert into t1 () values ();
|
||||
insert into t1 values (1,1),(2,1),(3,1);
|
||||
update t1 set a=4 where b=1 limit 1;
|
||||
select * from t1;
|
||||
a b
|
||||
0 0
|
||||
4 1
|
||||
2 1
|
||||
3 1
|
||||
update t1 set b=2 where b=1 limit 2;
|
||||
select * from t1;
|
||||
a b
|
||||
0 0
|
||||
4 2
|
||||
2 2
|
||||
3 1
|
||||
update t1 set b=4 where b=1;
|
||||
select * from t1;
|
||||
a b
|
||||
0 0
|
||||
4 2
|
||||
2 2
|
||||
3 4
|
||||
delete from t1 where b=2 limit 1;
|
||||
select * from t1;
|
||||
a b
|
||||
0 0
|
||||
2 2
|
||||
3 4
|
||||
delete from t1 limit 1;
|
||||
select * from t1;
|
||||
a b
|
||||
2 2
|
||||
3 4
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
delete from t1 limit 1;
|
||||
update t1 set i=2 limit 1;
|
||||
delete from t1 limit 0;
|
||||
update t1 set i=3 limit 0;
|
||||
select * from t1;
|
||||
i
|
||||
2
|
||||
1
|
||||
drop table t1;
|
||||
|
@ -1,10 +1,63 @@
|
||||
drop table if exists t1,t2;
|
||||
CREATE TABLE t1 ( `id` int(11) NOT NULL default '0', `id2` int(11) NOT NULL default '0', `id3` int(11) NOT NULL default '0', `dummy1` char(30) default NULL, PRIMARY KEY (`id`,`id2`), KEY `index_id3` (`id3`)) TYPE=MyISAM;
|
||||
insert into t1 (id,id2) values (1,1),(1,2),(1,3);
|
||||
LOCK TABLE t1 WRITE;
|
||||
select dummy1,count(distinct id) from t1 group by dummy1;
|
||||
dummy1 count(distinct id)
|
||||
NULL 1
|
||||
update t1 set id=-1 where id=1;
|
||||
LOCK TABLE t1 READ;
|
||||
update t1 set id=1 where id=1;
|
||||
Table 't1' was locked with a READ lock and can't be updated
|
||||
create table t2 SELECT * from t1;
|
||||
Table 't2' was not locked with LOCK TABLES
|
||||
create temporary table t2 SELECT * from t1;
|
||||
drop table if exists t2;
|
||||
unlock tables;
|
||||
create table t2 SELECT * from t1;
|
||||
LOCK TABLE t1 WRITE,t2 write;
|
||||
insert into t2 SELECT * from t1;
|
||||
update t1 set id=1 where id=-1;
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
index1 smallint(6) default NULL,
|
||||
nr smallint(6) default NULL,
|
||||
KEY index1(index1)
|
||||
) TYPE=MyISAM;
|
||||
CREATE TABLE t2 (
|
||||
nr smallint(6) default NULL,
|
||||
name varchar(20) default NULL
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t2 VALUES (1,'item1');
|
||||
INSERT INTO t2 VALUES (2,'item2');
|
||||
lock tables t1 write, t2 read;
|
||||
insert into t1 select 1,nr from t2 where name='item1';
|
||||
insert into t1 select 2,nr from t2 where name='item2';
|
||||
unlock tables;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
lock tables t1 write;
|
||||
check table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 check error Table 't2' was not locked with LOCK TABLES
|
||||
unlock tables;
|
||||
drop table t1,t2;
|
||||
create table t1(n int);
|
||||
insert into t1 values (1);
|
||||
lock tables t1 write;
|
||||
update low_priority t1 set n = 4;
|
||||
select n from t1;
|
||||
unlock tables;
|
||||
n
|
||||
4
|
||||
drop table t1;
|
||||
create table t1(n int);
|
||||
insert into t1 values (1);
|
||||
lock tables t1 read;
|
||||
update low_priority t1 set n = 4;
|
||||
select n from t1;
|
||||
unlock tables;
|
||||
n
|
||||
1
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,10 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1 (a int not null primary key auto_increment, message char(20));
|
||||
create table t2 (a int not null primary key auto_increment, message char(20));
|
||||
INSERT INTO t1 (message) VALUES ("Testing"),("table"),("t1");
|
||||
INSERT INTO t2 (message) VALUES ("Testing"),("table"),("t2");
|
||||
create table t3 (a int not null, b char(20), key(a)) type=MERGE UNION=(t1,t2);
|
||||
select * from t3;
|
||||
a b
|
||||
1 Testing
|
||||
2 table
|
||||
@ -5,6 +12,7 @@ a b
|
||||
1 Testing
|
||||
2 table
|
||||
3 t2
|
||||
select * from t3 order by a desc;
|
||||
a b
|
||||
3 t1
|
||||
3 t2
|
||||
@ -12,13 +20,30 @@ a b
|
||||
2 table
|
||||
1 Testing
|
||||
1 Testing
|
||||
drop table t3;
|
||||
insert into t1 select NULL,message from t2;
|
||||
insert into t2 select NULL,message from t1;
|
||||
insert into t1 select NULL,message from t2;
|
||||
insert into t2 select NULL,message from t1;
|
||||
insert into t1 select NULL,message from t2;
|
||||
insert into t2 select NULL,message from t1;
|
||||
insert into t1 select NULL,message from t2;
|
||||
insert into t2 select NULL,message from t1;
|
||||
insert into t1 select NULL,message from t2;
|
||||
insert into t2 select NULL,message from t1;
|
||||
insert into t1 select NULL,message from t2;
|
||||
create table t3 (a int not null, b char(20), key(a)) type=MERGE UNION=(test.t1,test.t2);
|
||||
explain select * from t3 where a < 10;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t3 range a a 4 NULL 10 where used
|
||||
explain select * from t3 where a > 10 and a < 20;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t3 range a a 4 NULL 10 where used
|
||||
select * from t3 where a = 10;
|
||||
a b
|
||||
10 Testing
|
||||
10 Testing
|
||||
select * from t3 where a < 10;
|
||||
a b
|
||||
1 Testing
|
||||
1 Testing
|
||||
@ -38,6 +63,7 @@ a b
|
||||
8 table
|
||||
9 t2
|
||||
9 t2
|
||||
select * from t3 where a > 10 and a < 20;
|
||||
a b
|
||||
11 table
|
||||
11 table
|
||||
@ -57,8 +83,10 @@ a b
|
||||
18 t2
|
||||
19 Testing
|
||||
19 Testing
|
||||
explain select a from t3 order by a desc limit 10;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t3 index NULL a 4 NULL 1131 Using index
|
||||
select a from t3 order by a desc limit 10;
|
||||
a
|
||||
699
|
||||
698
|
||||
@ -70,6 +98,7 @@ a
|
||||
692
|
||||
691
|
||||
690
|
||||
select a from t3 order by a desc limit 300,10;
|
||||
a
|
||||
416
|
||||
415
|
||||
@ -81,12 +110,29 @@ a
|
||||
412
|
||||
412
|
||||
411
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` int(11) NOT NULL default '0',
|
||||
`b` char(20) default NULL,
|
||||
KEY `a` (`a`)
|
||||
) TYPE=MRG_MyISAM UNION=(t1,t2)
|
||||
create table t4 (a int not null, b char(10), key(a)) type=MERGE UNION=(t1,t2);
|
||||
select * from t4;
|
||||
Can't open file: 't4.MRG'. (errno: 143)
|
||||
create table t5 (a int not null, b char(10), key(a)) type=MERGE UNION=(test.t1,test_2.t2);
|
||||
Incorrect table definition; All MERGE tables must be in the same database
|
||||
drop table if exists t5,t4,t3,t1,t2;
|
||||
create table t1 (c char(10)) type=myisam;
|
||||
create table t2 (c char(10)) type=myisam;
|
||||
create table t3 (c char(10)) union=(t1,t2) type=merge;
|
||||
insert into t1 (c) values ('test1');
|
||||
insert into t1 (c) values ('test1');
|
||||
insert into t1 (c) values ('test1');
|
||||
insert into t2 (c) values ('test2');
|
||||
insert into t2 (c) values ('test2');
|
||||
insert into t2 (c) values ('test2');
|
||||
select * from t3;
|
||||
c
|
||||
test1
|
||||
test1
|
||||
@ -94,6 +140,7 @@ test1
|
||||
test2
|
||||
test2
|
||||
test2
|
||||
select * from t3;
|
||||
c
|
||||
test1
|
||||
test1
|
||||
@ -101,32 +148,71 @@ test1
|
||||
test2
|
||||
test2
|
||||
test2
|
||||
delete from t3 where 1=1;
|
||||
select * from t3;
|
||||
c
|
||||
select * from t1;
|
||||
c
|
||||
drop table t3,t2,t1;
|
||||
CREATE TABLE t1 (incr int not null, othr int not null, primary key(incr));
|
||||
CREATE TABLE t2 (incr int not null, othr int not null, primary key(incr));
|
||||
CREATE TABLE t3 (incr int not null, othr int not null, primary key(incr))
|
||||
TYPE=MERGE UNION=(t1,t2);
|
||||
SELECT * from t3;
|
||||
incr othr
|
||||
INSERT INTO t1 VALUES ( 1,10),( 3,53),( 5,21),( 7,12),( 9,17);
|
||||
INSERT INTO t2 VALUES ( 2,24),( 4,33),( 6,41),( 8,26),( 0,32);
|
||||
INSERT INTO t1 VALUES (11,20),(13,43),(15,11),(17,22),(19,37);
|
||||
INSERT INTO t2 VALUES (12,25),(14,31),(16,42),(18,27),(10,30);
|
||||
SELECT * from t3 where incr in (1,2,3,4) order by othr;
|
||||
incr othr
|
||||
1 10
|
||||
2 24
|
||||
4 33
|
||||
3 53
|
||||
alter table t3 UNION=(t1);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
10
|
||||
alter table t3 UNION=(t1,t2);
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
20
|
||||
alter table t3 TYPE=MYISAM;
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
20
|
||||
drop table t3;
|
||||
CREATE TABLE t3 (incr int not null, othr int not null, primary key(incr))
|
||||
TYPE=MERGE UNION=(t1,t2);
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`incr` int(11) NOT NULL default '0',
|
||||
`othr` int(11) NOT NULL default '0',
|
||||
PRIMARY KEY (`incr`)
|
||||
) TYPE=MRG_MyISAM UNION=(t1,t2)
|
||||
alter table t3 drop primary key;
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`incr` int(11) NOT NULL default '0',
|
||||
`othr` int(11) NOT NULL default '0'
|
||||
) TYPE=MRG_MyISAM UNION=(t1,t2)
|
||||
drop table t3,t2,t1;
|
||||
create table t1 (a int not null) type=merge;
|
||||
select * from t1;
|
||||
a
|
||||
drop table t1;
|
||||
drop table if exists t3, t2, t1;
|
||||
create table t1 (a int not null, b int not null, key(a,b));
|
||||
create table t2 (a int not null, b int not null, key(a,b));
|
||||
create table t3 (a int not null, b int not null, key(a,b)) TYPE=MERGE UNION=(t1,t2);
|
||||
insert into t1 values (1,2),(2,1),(0,0),(4,4),(5,5),(6,6);
|
||||
insert into t2 values (1,1),(2,2),(0,0),(4,4),(5,5),(6,6);
|
||||
flush tables;
|
||||
select * from t3 where a=1 order by b limit 2;
|
||||
a b
|
||||
1 1
|
||||
1 2
|
||||
drop table t3,t1,t2;
|
||||
|
@ -1,22 +1,40 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1(id1 int not null auto_increment primary key, t char(12));
|
||||
create table t2(id2 int not null, t char(12));
|
||||
create table t3(id3 int not null, t char(12), index(id3));
|
||||
delete t1.*, t2.*, t3.* from t1,t2,t3 where t1.id1 = t2.id2 and t2.id2 = t3.id3 and t1.id1 > 9500;
|
||||
check table t1, t2, t3;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
test.t2 check status OK
|
||||
test.t3 check status OK
|
||||
select count(*) from t1 where id1 > 9500;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t2 where id2 > 9500;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t3 where id3 > 9500;
|
||||
count(*)
|
||||
0
|
||||
delete t1, t2, t3 from t1,t2,t3 where t1.id1 = t2.id2 and t2.id2 = t3.id3 and t1.id1 > 500;
|
||||
select count(*) from t1 where id1 > 500;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t2 where id2 > 500;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t3 where id3 > 500;
|
||||
count(*)
|
||||
0
|
||||
delete t1, t2, t3 from t1,t2,t3 where t1.id1 = t2.id2 and t2.id2 = t3.id3 and t1.id1 > 0;
|
||||
select count(*) from t1 where id1;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t2 where id2;
|
||||
count(*)
|
||||
0
|
||||
select count(*) from t3 where id3;
|
||||
count(*)
|
||||
0
|
||||
drop table t1,t2,t3;
|
||||
|
@ -1,12 +1,33 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
STRING_DATA char(255) default NULL,
|
||||
KEY STRING_DATA (STRING_DATA)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
|
||||
INSERT INTO t1 VALUES ('DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD');
|
||||
INSERT INTO t1 VALUES ('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
||||
INSERT INTO t1 VALUES ('FGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG');
|
||||
INSERT INTO t1 VALUES ('HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH');
|
||||
INSERT INTO t1 VALUES ('WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW');
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (a tinyint not null auto_increment, b blob not null, primary key (a));
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
delete from t1 where (a & 1);
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
@ -1,25 +1,42 @@
|
||||
select null,\N,isnull(null),isnull(1/0),isnull(1/0 = null),ifnull(null,1),ifnull(null,"TRUE"),ifnull("TRUE","ERROR"),1/0 is null,1 is not null;
|
||||
NULL NULL isnull(null) isnull(1/0) isnull(1/0 = null) ifnull(null,1) ifnull(null,"TRUE") ifnull("TRUE","ERROR") 1/0 is null 1 is not null
|
||||
NULL NULL 1 1 1 1 TRUE TRUE 1 1
|
||||
select 1 | NULL,1 & NULL,1+NULL,1-NULL;
|
||||
1 | NULL 1 & NULL 1+NULL 1-NULL
|
||||
NULL NULL NULL NULL
|
||||
select NULL=NULL,NULL<>NULL,IFNULL(NULL,1.1)+0,IFNULL(NULL,1) | 0;
|
||||
NULL=NULL NULL<>NULL IFNULL(NULL,1.1)+0 IFNULL(NULL,1) | 0
|
||||
NULL NULL 1.1 1
|
||||
select strcmp("a",NULL),(1<NULL)+0.0,NULL regexp "a",null like "a%","a%" like null;
|
||||
strcmp("a",NULL) (1<NULL)+0.0 NULL regexp "a" null like "a%" "a%" like null
|
||||
NULL NULL NULL NULL NULL
|
||||
select concat("a",NULL),replace(NULL,"a","b"),replace("string","i",NULL),replace("string",NULL,"i"),insert("abc",1,1,NULL),left(NULL,1);
|
||||
concat("a",NULL) replace(NULL,"a","b") replace("string","i",NULL) replace("string",NULL,"i") insert("abc",1,1,NULL) left(NULL,1)
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
select repeat("a",0),repeat("ab",5+5),repeat("ab",-1),reverse(NULL);
|
||||
repeat("a",0) repeat("ab",5+5) repeat("ab",-1) reverse(NULL)
|
||||
abababababababababab NULL
|
||||
select field(NULL,"a","b","c");
|
||||
field(NULL,"a","b","c")
|
||||
0
|
||||
select 2 between null and 1,2 between 3 AND NULL,NULL between 1 and 2,2 between NULL and 3, 2 between 1 AND null;
|
||||
2 between null and 1 2 between 3 AND NULL NULL between 1 and 2 2 between NULL and 3 2 between 1 AND null
|
||||
0 0 NULL NULL NULL
|
||||
SELECT NULL AND NULL, 1 AND NULL, NULL AND 1, NULL OR NULL, 0 OR NULL, NULL OR 0;
|
||||
NULL AND NULL 1 AND NULL NULL AND 1 NULL OR NULL 0 OR NULL NULL OR 0
|
||||
NULL NULL NULL NULL NULL NULL
|
||||
SELECT (NULL OR NULL) IS NULL;
|
||||
(NULL OR NULL) IS NULL
|
||||
1
|
||||
select NULL AND 0, 0 and NULL;
|
||||
NULL AND 0 0 and NULL
|
||||
NULL 0
|
||||
select inet_ntoa(null),inet_aton(null),inet_aton("122.256"),inet_aton("122.226."),inet_aton("");
|
||||
inet_ntoa(null) inet_aton(null) inet_aton("122.256") inet_aton("122.226.") inet_aton("")
|
||||
NULL NULL NULL NULL NULL
|
||||
drop table if exists t1;
|
||||
create table t1 (x int);
|
||||
insert into t1 values (null);
|
||||
select * from t1 where x != 0;
|
||||
x
|
||||
drop table t1;
|
||||
|
@ -1,101 +1,164 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (a int, b int not null,unique key (a,b),index(b)) type=myisam;
|
||||
insert ignore into t1 values (1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(null,7),(9,9),(8,8),(7,7),(null,9),(null,9),(6,6);
|
||||
explain select * from t1 where a is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a a 5 const 3 where used; Using index
|
||||
explain select * from t1 where a is null and b = 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 9 const,const 1 where used; Using index
|
||||
explain select * from t1 where a is null and b = 7;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 9 const,const 1 where used; Using index
|
||||
explain select * from t1 where a=2 and b = 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 const a,b a 9 const,const 1
|
||||
explain select * from t1 where a<=>b limit 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index NULL a 9 NULL 12 where used; Using index
|
||||
explain select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a,b a 9 NULL 3 where used; Using index
|
||||
explain select * from t1 where (a is null or a = 7) and b=7;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b b 4 const 2 where used
|
||||
explain select * from t1 where (a is null and b>a) or a is null and b=7 limit 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used; Using index
|
||||
explain select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a,b a 9 NULL 2 where used; Using index
|
||||
explain select * from t1 where a > 1 and a < 3 limit 1;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 5 NULL 1 where used; Using index
|
||||
explain select * from t1 where a > 8 and a < 9;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 5 NULL 1 where used; Using index
|
||||
select * from t1 where a is null;
|
||||
a b
|
||||
NULL 7
|
||||
NULL 9
|
||||
NULL 9
|
||||
select * from t1 where a is null and b = 7;
|
||||
a b
|
||||
NULL 7
|
||||
select * from t1 where a<=>b limit 2;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
|
||||
a b
|
||||
1 1
|
||||
2 2
|
||||
select * from t1 where (a is null or a > 0 and a < 3) and b > 7 limit 3;
|
||||
a b
|
||||
NULL 9
|
||||
NULL 9
|
||||
select * from t1 where (a is null or a = 7) and b=7;
|
||||
a b
|
||||
NULL 7
|
||||
7 7
|
||||
select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
|
||||
a b
|
||||
NULL 7
|
||||
NULL 9
|
||||
NULL 9
|
||||
alter table t1 modify b blob not null, add c int not null, drop key a, add unique key (a,b(20),c), drop key b, add key (b(10));
|
||||
explain select * from t1 where a is null and b = 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used
|
||||
explain select * from t1 where a is null and b = 2 and c=0;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used
|
||||
explain select * from t1 where a is null and b = 7 and c=0;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used
|
||||
explain select * from t1 where a=2 and b = 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 1 where used
|
||||
explain select * from t1 where a<=>b limit 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 12 where used
|
||||
explain select * from t1 where (a is null or a > 0 and a < 3) and b < 5 and c=0 limit 3;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a,b a 5 NULL 5 where used
|
||||
explain select * from t1 where (a is null or a = 7) and b=7 and c=0;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a,b a 5 NULL 4 where used
|
||||
explain select * from t1 where (a is null and b>a) or a is null and b=7 limit 2;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used
|
||||
explain select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a,b a 5 const 3 where used
|
||||
explain select * from t1 where a > 1 and a < 3 limit 1;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 5 NULL 1 where used
|
||||
explain select * from t1 where a is null and b=7 or a > 1 and a < 3 limit 1;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a,b a 5 NULL 4 where used
|
||||
explain select * from t1 where a > 8 and a < 9;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 5 NULL 1 where used
|
||||
explain select * from t1 where b like "6%";
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range b b 12 NULL 1 where used
|
||||
select * from t1 where a is null;
|
||||
a b c
|
||||
NULL 7 0
|
||||
NULL 9 0
|
||||
NULL 9 0
|
||||
select * from t1 where a is null and b = 7 and c=0;
|
||||
a b c
|
||||
NULL 7 0
|
||||
select * from t1 where a<=>b limit 2;
|
||||
a b c
|
||||
1 1 0
|
||||
2 2 0
|
||||
select * from t1 where (a is null or a > 0 and a < 3) and b < 5 limit 3;
|
||||
a b c
|
||||
1 1 0
|
||||
2 2 0
|
||||
select * from t1 where (a is null or a > 0 and a < 3) and b > 7 limit 3;
|
||||
a b c
|
||||
NULL 9 0
|
||||
NULL 9 0
|
||||
select * from t1 where (a is null or a = 7) and b=7 and c=0;
|
||||
a b c
|
||||
NULL 7 0
|
||||
7 7 0
|
||||
select * from t1 where a is null and b=9 or a is null and b=7 limit 3;
|
||||
a b c
|
||||
NULL 7 0
|
||||
NULL 9 0
|
||||
NULL 9 0
|
||||
select * from t1 where b like "6%";
|
||||
a b c
|
||||
6 6 0
|
||||
drop table t1;
|
||||
DROP TABLE IF EXISTS t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
uniq_id int(10) unsigned default NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY idx1 (uniq_id)
|
||||
) TYPE=MyISAM;
|
||||
CREATE TABLE t2 (
|
||||
id int(10) unsigned NOT NULL auto_increment,
|
||||
uniq_id int(10) unsigned default NULL,
|
||||
PRIMARY KEY (id)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,NULL),(2,NULL),(3,1),(4,2),(5,NULL),(6,NULL),(7,3),(8,4),(9,NULL),(10,NULL);
|
||||
INSERT INTO t2 VALUES (1,NULL),(2,NULL),(3,1),(4,2),(5,NULL),(6,NULL),(7,3),(8,4),(9,NULL),(10,NULL);
|
||||
explain select id from t1 where uniq_id is null;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref idx1 idx1 5 const 1 where used
|
||||
explain select id from t1 where uniq_id =1;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 const idx1 idx1 5 const 1
|
||||
UPDATE t1 SET id=id+100 where uniq_id is null;
|
||||
UPDATE t2 SET id=id+100 where uniq_id is null;
|
||||
select id from t1 where uniq_id is null;
|
||||
id
|
||||
101
|
||||
102
|
||||
@ -103,6 +166,7 @@ id
|
||||
106
|
||||
109
|
||||
110
|
||||
select id from t2 where uniq_id is null;
|
||||
id
|
||||
101
|
||||
102
|
||||
@ -110,13 +174,18 @@ id
|
||||
106
|
||||
109
|
||||
110
|
||||
DELETE FROM t1 WHERE uniq_id IS NULL;
|
||||
DELETE FROM t2 WHERE uniq_id IS NULL;
|
||||
SELECT * FROM t1 ORDER BY uniq_id, id;
|
||||
id uniq_id
|
||||
3 1
|
||||
4 2
|
||||
7 3
|
||||
8 4
|
||||
SELECT * FROM t2 ORDER BY uniq_id, id;
|
||||
id uniq_id
|
||||
3 1
|
||||
4 2
|
||||
7 3
|
||||
8 4
|
||||
DROP table t1,t2;
|
||||
|
@ -1,7 +1,15 @@
|
||||
select {fn length("hello")}, { date "1997-10-20" };
|
||||
{fn length("hello")} 1997-10-20
|
||||
5 1997-10-20
|
||||
create table t1 (a int not null auto_increment,b int not null,primary key (a,b));
|
||||
insert into t1 SET A=NULL,B=1;
|
||||
insert into t1 SET a=null,b=2;
|
||||
select * from t1 where a is null and b=2;
|
||||
a b
|
||||
2 2
|
||||
select * from t1 where a is null;
|
||||
a b
|
||||
explain select * from t1 where b is null;
|
||||
Comment
|
||||
Impossible WHERE noticed after reading const tables
|
||||
drop table t1;
|
||||
|
@ -1,16 +1,2 @@
|
||||
SHOW STATUS LIKE 'SSL%';
|
||||
Variable_name Value
|
||||
SSL_CTX_sess_accept 0
|
||||
SSL_CTX_sess_accept_good 0
|
||||
SSL_CTX_sess_accept_renegotiate 0
|
||||
SSL_CTX_sess_cb_hits 0
|
||||
SSL_CTX_sess_number 0
|
||||
SSL_CTX_get_session_cache_mode SERVER
|
||||
SSL_CTX_sess_get_cache_size 128
|
||||
SSL_CTX_get_verify_mode 7
|
||||
SSL_CTX_get_verify_depth 4294967295
|
||||
SSL_get_verify_mode 0
|
||||
SSL_get_verify_depth 0
|
||||
SSL_session_reused 0
|
||||
SSL_get_version
|
||||
SSL_get_cipher
|
||||
SSL_get_default_timeout 0
|
||||
|
@ -1,16 +1,2 @@
|
||||
SHOW STATUS LIKE 'SSL%';
|
||||
Variable_name Value
|
||||
SSL_CTX_sess_accept 0
|
||||
SSL_CTX_sess_accept_good 0
|
||||
SSL_CTX_sess_accept_renegotiate 0
|
||||
SSL_CTX_sess_cb_hits 0
|
||||
SSL_CTX_sess_number 0
|
||||
SSL_CTX_get_session_cache_mode SERVER
|
||||
SSL_CTX_sess_get_cache_size 128
|
||||
SSL_CTX_get_verify_mode 7
|
||||
SSL_CTX_get_verify_depth 4294967295
|
||||
SSL_get_verify_mode 0
|
||||
SSL_get_verify_depth 0
|
||||
SSL_session_reused 0
|
||||
SSL_get_version
|
||||
SSL_get_cipher
|
||||
SSL_get_default_timeout 0
|
||||
|
@ -1,3 +1,39 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
id int(6) DEFAULT '0' NOT NULL,
|
||||
idservice int(5),
|
||||
clee char(20) NOT NULL,
|
||||
flag char(1),
|
||||
KEY id (id),
|
||||
PRIMARY KEY (clee)
|
||||
);
|
||||
INSERT INTO t1 VALUES (2,4,'6067169d','Y');
|
||||
INSERT INTO t1 VALUES (2,5,'606716d1','Y');
|
||||
INSERT INTO t1 VALUES (2,1,'606717c1','Y');
|
||||
INSERT INTO t1 VALUES (3,1,'6067178d','Y');
|
||||
INSERT INTO t1 VALUES (2,6,'60671515','Y');
|
||||
INSERT INTO t1 VALUES (2,7,'60671569','Y');
|
||||
INSERT INTO t1 VALUES (2,3,'dd','Y');
|
||||
CREATE TABLE t2 (
|
||||
id int(6) DEFAULT '0' NOT NULL auto_increment,
|
||||
description varchar(40) NOT NULL,
|
||||
idform varchar(40),
|
||||
ordre int(6) unsigned DEFAULT '0' NOT NULL,
|
||||
image varchar(60),
|
||||
PRIMARY KEY (id),
|
||||
KEY id (id,ordre)
|
||||
);
|
||||
INSERT INTO t2 VALUES (1,'Emettre un appel d''offres','en_construction.html',10,'emettre.gif');
|
||||
INSERT INTO t2 VALUES (2,'Emettre des soumissions','en_construction.html',20,'emettre.gif');
|
||||
INSERT INTO t2 VALUES (7,'Liste des t2','t2_liste_form.phtml',51060,'link.gif');
|
||||
INSERT INTO t2 VALUES (8,'Consulter les soumissions','consulter_soumissions.phtml',200,'link.gif');
|
||||
INSERT INTO t2 VALUES (9,'Ajouter un type de materiel','typeMateriel_ajoute_form.phtml',51000,'link.gif');
|
||||
INSERT INTO t2 VALUES (10,'Lister/modifier un type de materiel','typeMateriel_liste_form.phtml',51010,'link.gif');
|
||||
INSERT INTO t2 VALUES (3,'Créer une fiche de client','clients_ajoute_form.phtml',40000,'link.gif');
|
||||
INSERT INTO t2 VALUES (4,'Modifier des clients','en_construction.html',40010,'link.gif');
|
||||
INSERT INTO t2 VALUES (5,'Effacer des clients','en_construction.html',40020,'link.gif');
|
||||
INSERT INTO t2 VALUES (6,'Ajouter un service','t2_ajoute_form.phtml',51050,'link.gif');
|
||||
select t1.id,t1.idservice,t2.ordre,t2.description from t1, t2 where t1.id = 2 and t1.idservice = t2.id order by t2.ordre;
|
||||
id idservice ordre description
|
||||
2 1 10 Emettre un appel d'offres
|
||||
2 3 40000 Créer une fiche de client
|
||||
@ -5,34 +41,53 @@ id idservice ordre description
|
||||
2 5 40020 Effacer des clients
|
||||
2 6 51050 Ajouter un service
|
||||
2 7 51060 Liste des t2
|
||||
drop table t1,t2;
|
||||
create table t1 (first char(10),last char(10));
|
||||
insert into t1 values ("Michael","Widenius");
|
||||
insert into t1 values ("Allan","Larsson");
|
||||
insert into t1 values ("David","Axmark");
|
||||
select concat(first," ",last) as name from t1 order by name;
|
||||
name
|
||||
Allan Larsson
|
||||
David Axmark
|
||||
Michael Widenius
|
||||
select concat(last," ",first) as name from t1 order by name;
|
||||
name
|
||||
Axmark David
|
||||
Larsson Allan
|
||||
Widenius Michael
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 values(1),(2),(1),(2),(1),(2),(3);
|
||||
select distinct i from t1;
|
||||
i
|
||||
1
|
||||
2
|
||||
3
|
||||
select distinct i from t1 order by rand(5);
|
||||
i
|
||||
1
|
||||
3
|
||||
2
|
||||
select distinct i from t1 order by i desc;
|
||||
i
|
||||
3
|
||||
2
|
||||
1
|
||||
select distinct i from t1 order by 1-i;
|
||||
i
|
||||
3
|
||||
2
|
||||
1
|
||||
select distinct i from t1 order by mod(i,2),i;
|
||||
i
|
||||
2
|
||||
1
|
||||
3
|
||||
drop table t1;
|
||||
create table t1 (id int not null,col1 int not null,col2 int not null,index(col1));
|
||||
insert into t1 values(1,2,2),(2,2,1),(3,1,2),(4,1,1),(5,1,4),(6,2,3),(7,3,1),(8,2,4);
|
||||
select * from t1 order by col1,col2;
|
||||
id col1 col2
|
||||
4 1 1
|
||||
3 1 2
|
||||
@ -42,6 +97,7 @@ id col1 col2
|
||||
6 2 3
|
||||
8 2 4
|
||||
7 3 1
|
||||
select col1 from t1 order by id;
|
||||
col1
|
||||
2
|
||||
2
|
||||
@ -51,6 +107,7 @@ col1
|
||||
2
|
||||
3
|
||||
2
|
||||
select col1 as id from t1 order by t1.id;
|
||||
id
|
||||
1
|
||||
1
|
||||
@ -60,6 +117,7 @@ id
|
||||
2
|
||||
2
|
||||
3
|
||||
select concat(col1) as id from t1 order by t1.id;
|
||||
id
|
||||
2
|
||||
2
|
||||
@ -69,21 +127,75 @@ id
|
||||
2
|
||||
3
|
||||
2
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id int auto_increment primary key,aika varchar(40),aikakentta timestamp);
|
||||
insert into t1 (aika) values ('Keskiviikko');
|
||||
insert into t1 (aika) values ('Tiistai');
|
||||
insert into t1 (aika) values ('Maanantai');
|
||||
insert into t1 (aika) values ('Sunnuntai');
|
||||
SELECT FIELD(SUBSTRING(t1.aika,1,2),'Ma','Ti','Ke','To','Pe','La','Su') AS test FROM t1 ORDER by test;
|
||||
test
|
||||
1
|
||||
2
|
||||
3
|
||||
7
|
||||
drop table t1;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
a int unsigned NOT NULL,
|
||||
b int unsigned NOT NULL,
|
||||
c int unsigned NOT NULL,
|
||||
UNIQUE(a),
|
||||
INDEX(b),
|
||||
INDEX(c)
|
||||
);
|
||||
CREATE TABLE t2
|
||||
(
|
||||
c int unsigned NOT NULL,
|
||||
i int unsigned NOT NULL,
|
||||
INDEX(c)
|
||||
);
|
||||
CREATE TABLE t3
|
||||
(
|
||||
c int unsigned NOT NULL,
|
||||
v varchar(64),
|
||||
INDEX(c)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,1,1);
|
||||
INSERT INTO t1 VALUES (2,1,2);
|
||||
INSERT INTO t1 VALUES (3,2,1);
|
||||
INSERT INTO t1 VALUES (4,2,2);
|
||||
INSERT INTO t2 VALUES (1,50);
|
||||
INSERT INTO t2 VALUES (2,25);
|
||||
INSERT INTO t3 VALUES (1,'123 Park Place');
|
||||
INSERT INTO t3 VALUES (2,'453 Boardwalk');
|
||||
SELECT a,b,if(b = 1,i,if(b = 2,v,''))
|
||||
FROM t1
|
||||
LEFT JOIN t2 USING(c)
|
||||
LEFT JOIN t3 ON t3.c = t1.c;
|
||||
a b if(b = 1,i,if(b = 2,v,''))
|
||||
1 1 50
|
||||
2 1 25
|
||||
3 2 123 Park Place
|
||||
4 2 453 Boardwalk
|
||||
SELECT a,b,if(b = 1,i,if(b = 2,v,''))
|
||||
FROM t1
|
||||
LEFT JOIN t2 USING(c)
|
||||
LEFT JOIN t3 ON t3.c = t1.c
|
||||
ORDER BY a;
|
||||
a b if(b = 1,i,if(b = 2,v,''))
|
||||
1 1 50
|
||||
2 1 25
|
||||
3 2 123 Park Place
|
||||
4 2 453 Boardwalk
|
||||
drop table t1,t2,t3;
|
||||
create table t1 (ID int not null primary key, TransactionID int not null);
|
||||
insert into t1 (ID, TransactionID) values (1, 87), (2, 89), (3, 92), (4, 94), (5, 486), (6, 490), (7, 753), (9, 828), (10, 832), (11, 834), (12, 840);
|
||||
create table t2 (ID int not null primary key, GroupID int not null);
|
||||
insert into t2 (ID, GroupID) values (87, 87), (89, 89), (92, 92), (94, 94), (486, 486), (490, 490),(753, 753), (828, 828), (832, 832), (834, 834), (840, 840);
|
||||
create table t3 (ID int not null primary key, DateOfAction date not null);
|
||||
insert into t3 (ID, DateOfAction) values (87, '1999-07-19'), (89, '1999-07-19'), (92, '1999-07-19'), (94, '1999-07-19'), (486, '1999-07-18'), (490, '2000-03-27'), (753, '2000-03-28'), (828, '1999-07-27'), (832, '1999-07-27'),(834, '1999-07-27'), (840, '1999-07-27');
|
||||
select t3.DateOfAction, t1.TransactionID from t1 join t2 join t3 where t2.ID = t1.TransactionID and t3.ID = t2.GroupID order by t3.DateOfAction, t1.TransactionID;
|
||||
DateOfAction TransactionID
|
||||
1999-07-18 486
|
||||
1999-07-19 87
|
||||
@ -96,6 +208,7 @@ DateOfAction TransactionID
|
||||
1999-07-27 840
|
||||
2000-03-27 490
|
||||
2000-03-28 753
|
||||
select t3.DateOfAction, t1.TransactionID from t1 join t2 join t3 where t2.ID = t1.TransactionID and t3.ID = t2.GroupID order by t1.TransactionID,t3.DateOfAction;
|
||||
DateOfAction TransactionID
|
||||
1999-07-19 87
|
||||
1999-07-19 89
|
||||
@ -108,15 +221,57 @@ DateOfAction TransactionID
|
||||
1999-07-27 832
|
||||
1999-07-27 834
|
||||
1999-07-27 840
|
||||
drop table t1,t2,t3;
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
member_id int(11) NOT NULL auto_increment,
|
||||
inschrijf_datum varchar(20) NOT NULL default '',
|
||||
lastchange_datum varchar(20) NOT NULL default '',
|
||||
nickname varchar(20) NOT NULL default '',
|
||||
password varchar(8) NOT NULL default '',
|
||||
voornaam varchar(30) NOT NULL default '',
|
||||
tussenvoegsels varchar(10) NOT NULL default '',
|
||||
achternaam varchar(50) NOT NULL default '',
|
||||
straat varchar(100) NOT NULL default '',
|
||||
postcode varchar(10) NOT NULL default '',
|
||||
wijk varchar(40) NOT NULL default '',
|
||||
plaats varchar(50) NOT NULL default '',
|
||||
telefoon varchar(10) NOT NULL default '',
|
||||
geboortedatum date NOT NULL default '0000-00-00',
|
||||
geslacht varchar(5) NOT NULL default '',
|
||||
email varchar(80) NOT NULL default '',
|
||||
uin varchar(15) NOT NULL default '',
|
||||
homepage varchar(100) NOT NULL default '',
|
||||
internet varchar(15) NOT NULL default '',
|
||||
scherk varchar(30) NOT NULL default '',
|
||||
favo_boek varchar(50) NOT NULL default '',
|
||||
favo_tijdschrift varchar(50) NOT NULL default '',
|
||||
favo_tv varchar(50) NOT NULL default '',
|
||||
favo_eten varchar(50) NOT NULL default '',
|
||||
favo_muziek varchar(30) NOT NULL default '',
|
||||
info text NOT NULL,
|
||||
ipnr varchar(30) NOT NULL default '',
|
||||
PRIMARY KEY (member_id)
|
||||
) TYPE=MyISAM PACK_KEYS=1;
|
||||
insert into t1 (member_id) values (1),(2),(3);
|
||||
select member_id, nickname, voornaam FROM t1
|
||||
ORDER by lastchange_datum DESC LIMIT 2;
|
||||
member_id nickname voornaam
|
||||
1
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (a int not null, b int, c varchar(10), key (a, b, c));
|
||||
insert into t1 values (1, NULL, NULL), (1, NULL, 'b'), (1, 1, NULL), (1, 1, 'b'), (1, 1, 'b'), (2, 1, 'a'), (2, 1, 'b'), (2, 2, 'a'), (2, 2, 'b'), (2, 3, 'c'),(1,3,'b');
|
||||
explain select * from t1 where (a = 1 and b is null and c = 'b') or (a > 2) order by a desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 20 NULL 2 where used; Using index
|
||||
select * from t1 where (a = 1 and b is null and c = 'b') or (a > 2) order by a desc;
|
||||
a b c
|
||||
1 NULL b
|
||||
explain select * from t1 where a >= 1 and a < 3 order by a desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 4 NULL 10 where used; Using index
|
||||
select * from t1 where a >= 1 and a < 3 order by a desc;
|
||||
a b c
|
||||
2 3 c
|
||||
2 2 b
|
||||
@ -129,8 +284,10 @@ a b c
|
||||
1 1 NULL
|
||||
1 NULL b
|
||||
1 NULL NULL
|
||||
explain select * from t1 where a = 1 order by a desc, b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a a 4 const 5 where used; Using index; Using filesort
|
||||
select * from t1 where a = 1 order by a desc, b desc;
|
||||
a b c
|
||||
1 3 b
|
||||
1 1 NULL
|
||||
@ -138,25 +295,37 @@ a b c
|
||||
1 1 b
|
||||
1 NULL NULL
|
||||
1 NULL b
|
||||
explain select * from t1 where a = 1 and b is null order by a desc, b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a a 9 const,const 2 where used; Using index; Using filesort
|
||||
select * from t1 where a = 1 and b is null order by a desc, b desc;
|
||||
a b c
|
||||
1 NULL NULL
|
||||
1 NULL b
|
||||
explain select * from t1 where a >= 1 and a < 3 and b >0 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 8 where used; Using index; Using filesort
|
||||
explain select * from t1 where a = 2 and b >0 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 5 where used; Using index
|
||||
explain select * from t1 where a = 2 and b is null order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ref a a 9 const,const 1 where used; Using index; Using filesort
|
||||
explain select * from t1 where a = 2 and (b is null or b > 0) order by a
|
||||
desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 6 where used; Using index
|
||||
explain select * from t1 where a = 2 and b > 0 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 5 where used; Using index
|
||||
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 9 NULL 2 where used; Using index; Using filesort
|
||||
alter table t1 modify b int not null, modify c varchar(10) not null;
|
||||
explain select * from t1 order by a, b, c;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index NULL a 18 NULL 11 Using index
|
||||
select * from t1 order by a, b, c;
|
||||
a b c
|
||||
1 0
|
||||
1 0 b
|
||||
@ -169,8 +338,10 @@ a b c
|
||||
2 2 a
|
||||
2 2 b
|
||||
2 3 c
|
||||
explain select * from t1 order by a desc, b desc, c desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index NULL a 18 NULL 11 Using index
|
||||
select * from t1 order by a desc, b desc, c desc;
|
||||
a b c
|
||||
2 3 c
|
||||
2 2 b
|
||||
@ -183,21 +354,27 @@ a b c
|
||||
1 1
|
||||
1 0 b
|
||||
1 0
|
||||
explain select * from t1 where (a = 1 and b = 1 and c = 'b') or (a > 2) order by a desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 18 NULL 3 where used; Using index
|
||||
select * from t1 where (a = 1 and b = 1 and c = 'b') or (a > 2) order by a desc;
|
||||
a b c
|
||||
1 1 b
|
||||
1 1 b
|
||||
explain select * from t1 where a < 2 and b <= 1 order by a desc, b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 4 NULL 6 where used; Using index
|
||||
select * from t1 where a < 2 and b <= 1 order by a desc, b desc;
|
||||
a b c
|
||||
1 1 b
|
||||
1 1 b
|
||||
1 1
|
||||
1 0 b
|
||||
1 0
|
||||
select count(*) from t1 where a < 5 and b > 0;
|
||||
count(*)
|
||||
9
|
||||
select * from t1 where a < 5 and b > 0 order by a desc,b desc;
|
||||
a b c
|
||||
2 3 c
|
||||
2 2 b
|
||||
@ -208,8 +385,10 @@ a b c
|
||||
1 1 b
|
||||
1 1 b
|
||||
1 1
|
||||
explain select * from t1 where a between 1 and 3 and b <= 1 order by a desc, b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 8 NULL 10 where used; Using index
|
||||
select * from t1 where a between 1 and 3 and b <= 1 order by a desc, b desc;
|
||||
a b c
|
||||
2 1 b
|
||||
2 1 a
|
||||
@ -218,8 +397,10 @@ a b c
|
||||
1 1
|
||||
1 0 b
|
||||
1 0
|
||||
explain select * from t1 where a between 0 and 1 order by a desc, b desc;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 range a a 4 NULL 5 where used; Using index
|
||||
select * from t1 where a between 0 and 1 order by a desc, b desc;
|
||||
a b c
|
||||
1 3 b
|
||||
1 1 b
|
||||
@ -227,6 +408,31 @@ a b c
|
||||
1 1
|
||||
1 0 b
|
||||
1 0
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
gid int(10) unsigned NOT NULL auto_increment,
|
||||
cid smallint(5) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (gid),
|
||||
KEY component_id (cid)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t1 VALUES (103853,108),(103867,108),(103962,108),(104505,108),(104619,108),(104620,108);
|
||||
ALTER TABLE t1 add skr int(10) not null;
|
||||
CREATE TABLE t2 (
|
||||
gid int(10) unsigned NOT NULL default '0',
|
||||
uid smallint(5) unsigned NOT NULL default '1',
|
||||
sid tinyint(3) unsigned NOT NULL default '1',
|
||||
PRIMARY KEY (gid),
|
||||
KEY uid (uid),
|
||||
KEY status_id (sid)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t2 VALUES (103853,250,5),(103867,27,5),(103962,27,5),(104505,117,5),(104619,75,5),(104620,15,5);
|
||||
CREATE TABLE t3 (
|
||||
uid smallint(6) NOT NULL auto_increment,
|
||||
PRIMARY KEY (uid)
|
||||
) TYPE=MyISAM;
|
||||
INSERT INTO t3 VALUES (1),(15),(27),(75),(117),(250);
|
||||
ALTER TABLE t3 add skr int(10) not null;
|
||||
select t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;
|
||||
gid sid uid
|
||||
104620 5 15
|
||||
103867 5 27
|
||||
@ -234,6 +440,7 @@ gid sid uid
|
||||
104619 5 75
|
||||
104505 5 117
|
||||
103853 5 250
|
||||
select t1.gid, t2.sid, t3.uid from t3, t2, t1 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;
|
||||
gid sid uid
|
||||
104620 5 15
|
||||
103867 5 27
|
||||
@ -241,20 +448,26 @@ gid sid uid
|
||||
104619 5 75
|
||||
104505 5 117
|
||||
103853 5 250
|
||||
EXPLAIN select t1.gid, t2.sid, t3.uid from t3, t2, t1 where t2.gid = t1.gid and t2.uid = t3.uid order by t1.gid, t3.uid;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index
|
||||
t2 eq_ref PRIMARY,uid PRIMARY 4 t1.gid 1
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t2.uid 1 where used; Using index
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t1.gid,t3.skr;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t1.gid 1 where used
|
||||
EXPLAIN SELECT t1.gid, t2.sid, t3.uid from t2, t1, t3 where t2.gid = t1.gid and t2.uid = t3.uid order by t3.uid, t1.gid;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index; Using temporary; Using filesort
|
||||
t2 eq_ref PRIMARY,uid PRIMARY 4 t1.gid 1
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t2.uid 1 where used; Using index
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.gid = t3.uid order by t3.skr,t1.gid;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 index PRIMARY PRIMARY 4 NULL 6 Using index; Using temporary; Using filesort
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t1.gid 1 where used
|
||||
EXPLAIN SELECT t1.gid, t3.uid from t1, t3 where t1.skr = t3.uid order by t1.gid,t3.skr;
|
||||
table type possible_keys key key_len ref rows Extra
|
||||
t1 ALL NULL NULL NULL NULL 6 Using temporary; Using filesort
|
||||
t3 eq_ref PRIMARY PRIMARY 2 t1.skr 1 where used
|
||||
drop table t1,t2,t3;
|
||||
|
@ -1,2 +1,10 @@
|
||||
drop table if exists t1,t2;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL default '0',
|
||||
`id2` int(11) NOT NULL default '0',
|
||||
`id3` int(11) NOT NULL default '0');
|
||||
create table t2 select id2 from t1 order by id3;
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
4000
|
||||
drop table t1,t2;
|
||||
|
2
mysql-test/r/overflow.result
Normal file
2
mysql-test/r/overflow.result
Normal file
@ -0,0 +1,2 @@
|
||||
drop database AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;
|
||||
Incorrect database name 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
|
@ -1,8 +1,196 @@
|
||||
DROP TABLE IF EXISTS t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned not null auto_increment primary key,
|
||||
c char(255) not null
|
||||
) RAID_TYPE=STRIPED RAID_CHUNKS=2 RAID_CHUNKSIZE=123;
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
450
|
||||
ALTER TABLE t1 ADD COLUMN x INT UNSIGNED NOT NULL;
|
||||
ALTER TABLE t1 ADD KEY c (c);
|
||||
ALTER TABLE t1 DROP KEY c;
|
||||
ALTER TABLE t1 DROP COLUMN x;
|
||||
ALTER TABLE t1 RENAME t2;
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
450
|
||||
DROP TABLE t2;
|
||||
/* variable rows */
|
||||
DROP TABLE IF EXISTS t2;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned not null auto_increment primary key,
|
||||
c varchar(255) not null
|
||||
) RAID_TYPE=STRIPED RAID_CHUNKS=5 RAID_CHUNKSIZE=121;
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
INSERT INTO t1 VALUES
|
||||
(NULL,'1'),(NULL,'a'),(NULL,'a'),(NULL,'a'),(NULL,'p'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'b'),(NULL,'a'),(NULL,'a'),(NULL,'q'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'c'),(NULL,'a'),(NULL,'a'),(NULL,'r'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'d'),(NULL,'a'),(NULL,'a'),(NULL,'s'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'e'),(NULL,'a'),(NULL,'a'),(NULL,'t'),(NULL,'a'),
|
||||
(NULL,'6'),(NULL,'f'),(NULL,'a'),(NULL,'a'),(NULL,'u'),(NULL,'a'),
|
||||
(NULL,'7'),(NULL,'g'),(NULL,'a'),(NULL,'a'),(NULL,'v'),(NULL,'a'),
|
||||
(NULL,'8'),(NULL,'h'),(NULL,'a'),(NULL,'a'),(NULL,'w'),(NULL,'a'),
|
||||
(NULL,'9'),(NULL,'i'),(NULL,'a'),(NULL,'a'),(NULL,'x'),(NULL,'a'),
|
||||
(NULL,'0'),(NULL,'j'),(NULL,'a'),(NULL,'a'),(NULL,'y'),(NULL,'a'),
|
||||
(NULL,'1'),(NULL,'k'),(NULL,'a'),(NULL,'a'),(NULL,'z'),(NULL,'a'),
|
||||
(NULL,'2'),(NULL,'l'),(NULL,'a'),(NULL,'a'),(NULL,'/'),(NULL,'a'),
|
||||
(NULL,'3'),(NULL,'m'),(NULL,'a'),(NULL,'a'),(NULL,'*'),(NULL,'a'),
|
||||
(NULL,'4'),(NULL,'n'),(NULL,'a'),(NULL,'a'),(NULL,'+'),(NULL,'a'),
|
||||
(NULL,'5'),(NULL,'o'),(NULL,'a'),(NULL,'a'),(NULL,'?'),(NULL,'a');
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
450
|
||||
ALTER TABLE t1 ADD COLUMN x INT UNSIGNED NOT NULL;
|
||||
ALTER TABLE t1 ADD KEY c (c);
|
||||
ALTER TABLE t1 DROP KEY c;
|
||||
ALTER TABLE t1 DROP COLUMN x;
|
||||
ALTER TABLE t1 RENAME t2;
|
||||
ALTER TABLE t2 CHANGE COLUMN c c VARCHAR(251) NOT NULL;
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
450
|
||||
DROP TABLE t2;
|
||||
|
@ -1,3 +1,12 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
event_date date DEFAULT '0000-00-00' NOT NULL,
|
||||
type int(11) DEFAULT '0' NOT NULL,
|
||||
event_id int(11) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (event_date,type,event_id)
|
||||
);
|
||||
INSERT INTO t1 VALUES ('1999-07-10',100100,24),('1999-07-11',100100,25),('1999-07-13',100600,0),('1999-07-13',100600,4),('1999-07-13',100600,26),('1999-07-14',100600,10),('1999-07-15',100600,16),('1999-07-15',100800,45),('1999-07-15',101000,47),('1999-07-16',100800,46),('1999-07-20',100600,5),('1999-07-20',100600,27),('1999-07-21',100600,11),('1999-07-22',100600,17),('1999-07-23',100100,39),('1999-07-24',100100,39),('1999-07-24',100500,40),('1999-07-25',100100,39),('1999-07-27',100600,1),('1999-07-27',100600,6),('1999-07-27',100600,28),('1999-07-28',100600,12),('1999-07-29',100500,41),('1999-07-29',100600,18),('1999-07-30',100500,41),('1999-07-31',100500,41),('1999-08-01',100700,34),('1999-08-03',100600,7),('1999-08-03',100600,29),('1999-08-04',100600,13),('1999-08-05',100500,42),('1999-08-05',100600,19),('1999-08-06',100500,42),('1999-08-07',100500,42),('1999-08-08',100500,42),('1999-08-10',100600,2),('1999-08-10',100600,9),('1999-08-10',100600,30),('1999-08-11',100600,14),('1999-08-12',100600,20),('1999-08-17',100500,8),('1999-08-17',100600,31),('1999-08-18',100600,15),('1999-08-19',100600,22),('1999-08-24',100600,3),('1999-08-24',100600,32),('1999-08-27',100500,43),('1999-08-31',100600,33),('1999-09-17',100100,37),('1999-09-18',100100,37),('1999-09-19',100100,37),('2000-12-18',100700,38);
|
||||
select event_date,type,event_id from t1 WHERE event_date >= "1999-07-01" AND event_date < "1999-07-15" AND (type=100600 OR type=100100) ORDER BY event_date;
|
||||
event_date type event_id
|
||||
1999-07-10 100100 24
|
||||
1999-07-11 100100 25
|
||||
@ -5,8 +14,10 @@ event_date type event_id
|
||||
1999-07-13 100600 4
|
||||
1999-07-13 100600 26
|
||||
1999-07-14 100600 10
|
||||
explain select event_date,type,event_id from t1 WHERE type = 100601 and event_date >= "1999-07-01" AND event_date < "1999-07-15" AND (type=100600 OR type=100100) ORDER BY event_date;
|
||||
Comment
|
||||
Impossible WHERE
|
||||
select event_date,type,event_id from t1 WHERE event_date >= "1999-07-01" AND event_date <= "1999-07-15" AND (type=100600 OR type=100100) or event_date >= "1999-07-01" AND event_date <= "1999-07-15" AND type=100099;
|
||||
event_date type event_id
|
||||
1999-07-10 100100 24
|
||||
1999-07-11 100100 25
|
||||
@ -15,6 +26,45 @@ event_date type event_id
|
||||
1999-07-13 100600 26
|
||||
1999-07-14 100600 10
|
||||
1999-07-15 100600 16
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
PAPER_ID smallint(6) DEFAULT '0' NOT NULL,
|
||||
YEAR smallint(6) DEFAULT '0' NOT NULL,
|
||||
ISSUE smallint(6) DEFAULT '0' NOT NULL,
|
||||
CLOSED tinyint(4) DEFAULT '0' NOT NULL,
|
||||
ISS_DATE date DEFAULT '0000-00-00' NOT NULL,
|
||||
PRIMARY KEY (PAPER_ID,YEAR,ISSUE)
|
||||
);
|
||||
INSERT INTO t1 VALUES (3,1999,34,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (1,1999,111,0,'1999-03-23');
|
||||
INSERT INTO t1 VALUES (1,1999,222,0,'1999-03-23');
|
||||
INSERT INTO t1 VALUES (3,1999,33,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (3,1999,32,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (3,1999,31,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (3,1999,30,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (3,1999,29,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (3,1999,28,0,'1999-07-12');
|
||||
INSERT INTO t1 VALUES (1,1999,40,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,41,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,42,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,46,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,47,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,48,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,49,1,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,50,0,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,51,0,'1999-05-01');
|
||||
INSERT INTO t1 VALUES (1,1999,200,0,'1999-06-28');
|
||||
INSERT INTO t1 VALUES (1,1999,52,0,'1999-06-28');
|
||||
INSERT INTO t1 VALUES (1,1999,53,0,'1999-06-28');
|
||||
INSERT INTO t1 VALUES (1,1999,54,0,'1999-06-28');
|
||||
INSERT INTO t1 VALUES (1,1999,55,0,'1999-06-28');
|
||||
INSERT INTO t1 VALUES (1,1999,56,0,'1999-07-01');
|
||||
INSERT INTO t1 VALUES (1,1999,57,0,'1999-07-01');
|
||||
INSERT INTO t1 VALUES (1,1999,58,0,'1999-07-01');
|
||||
INSERT INTO t1 VALUES (1,1999,59,0,'1999-07-01');
|
||||
INSERT INTO t1 VALUES (1,1999,60,0,'1999-07-01');
|
||||
INSERT INTO t1 VALUES (3,1999,35,0,'1999-07-12');
|
||||
select YEAR,ISSUE from t1 where PAPER_ID=3 and (YEAR>1999 or (YEAR=1999 and ISSUE>28)) order by YEAR,ISSUE;
|
||||
YEAR ISSUE
|
||||
1999 29
|
||||
1999 30
|
||||
@ -23,10 +73,23 @@ YEAR ISSUE
|
||||
1999 33
|
||||
1999 34
|
||||
1999 35
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
id int(11) NOT NULL auto_increment,
|
||||
parent_id int(11) DEFAULT '0' NOT NULL,
|
||||
level tinyint(4) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
KEY parent_id (parent_id),
|
||||
KEY level (level)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,0,0),(3,1,1),(4,1,1),(8,2,2),(9,2,2),(17,3,2),(22,4,2),(24,4,2),(28,5,2),(29,5,2),(30,5,2),(31,6,2),(32,6,2),(33,6,2),(203,7,2),(202,7,2),(20,3,2),(157,0,0),(193,5,2),(40,7,2),(2,1,1),(15,2,2),(6,1,1),(34,6,2),(35,6,2),(16,3,2),(7,1,1),(36,7,2),(18,3,2),(26,5,2),(27,5,2),(183,4,2),(38,7,2),(25,5,2),(37,7,2),(21,4,2),(19,3,2),(5,1,1),(179,5,2);
|
||||
SELECT * FROM t1 WHERE level = 1 AND parent_id = 1;
|
||||
id parent_id level
|
||||
3 1 1
|
||||
4 1 1
|
||||
@ -34,6 +97,7 @@ id parent_id level
|
||||
6 1 1
|
||||
7 1 1
|
||||
5 1 1
|
||||
SELECT * FROM t1 WHERE level = 1 AND parent_id = 1 order by id;
|
||||
id parent_id level
|
||||
2 1 1
|
||||
3 1 1
|
||||
@ -41,17 +105,38 @@ id parent_id level
|
||||
5 1 1
|
||||
6 1 1
|
||||
7 1 1
|
||||
drop table t1;
|
||||
create table t1(
|
||||
Satellite varchar(25) not null,
|
||||
SensorMode varchar(25) not null,
|
||||
FullImageCornersUpperLeftLongitude double not null,
|
||||
FullImageCornersUpperRightLongitude double not null,
|
||||
FullImageCornersUpperRightLatitude double not null,
|
||||
FullImageCornersLowerRightLatitude double not null,
|
||||
index two (Satellite, SensorMode, FullImageCornersUpperLeftLongitude, FullImageCornersUpperRightLongitude, FullImageCornersUpperRightLatitude, FullImageCornersLowerRightLatitude));
|
||||
insert into t1 values("OV-3","PAN1",91,-92,40,50);
|
||||
insert into t1 values("OV-4","PAN1",91,-92,40,50);
|
||||
select * from t1 where t1.Satellite = "OV-3" and t1.SensorMode = "PAN1" and t1.FullImageCornersUpperLeftLongitude > -90.000000 and t1.FullImageCornersUpperRightLongitude < -82.000000;
|
||||
Satellite SensorMode FullImageCornersUpperLeftLongitude FullImageCornersUpperRightLongitude FullImageCornersUpperRightLatitude FullImageCornersLowerRightLatitude
|
||||
OV-3 PAN1 91 -92 40 50
|
||||
drop table t1;
|
||||
create table t1 ( aString char(100) not null default "", key aString (aString(10)) );
|
||||
insert t1 (aString) values ( "believe in myself" ), ( "believe" ), ("baaa" ), ( "believe in love");
|
||||
select * from t1 where aString < "believe in myself" order by aString;
|
||||
aString
|
||||
baaa
|
||||
believe
|
||||
believe in love
|
||||
select * from t1 where aString > "believe in love" order by aString;
|
||||
aString
|
||||
believe in myself
|
||||
alter table t1 drop key aString;
|
||||
select * from t1 where aString < "believe in myself" order by aString;
|
||||
aString
|
||||
baaa
|
||||
believe
|
||||
believe in love
|
||||
select * from t1 where aString > "believe in love" order by aString;
|
||||
aString
|
||||
believe in myself
|
||||
drop table t1;
|
||||
|
@ -1,14 +1,39 @@
|
||||
drop table if exists t0,t1,t2,t3,t4;
|
||||
create table t0 SELECT 1,"table 1";
|
||||
create table t2 SELECT 2,"table 2";
|
||||
create table t3 SELECT 3,"table 3";
|
||||
rename table t0 to t1;
|
||||
rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
|
||||
select * from t1;
|
||||
3 table 3
|
||||
3 table 3
|
||||
rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
|
||||
rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1;
|
||||
select * from t1;
|
||||
1 table 1
|
||||
1 table 1
|
||||
rename table t1 to t2;
|
||||
Table './test/t2.frm' already exists
|
||||
rename table t1 to t1;
|
||||
Table './test/t1.frm' already exists
|
||||
rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2;
|
||||
Table './test/t2.frm' already exists
|
||||
show tables like "t_";
|
||||
Tables_in_test (t_)
|
||||
t1
|
||||
t2
|
||||
t3
|
||||
rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1;
|
||||
Table './test/t1.frm' already exists
|
||||
rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1;
|
||||
Can't find file: './test/t5.frm' (errno: 2)
|
||||
select * from t1;
|
||||
1 table 1
|
||||
1 table 1
|
||||
select * from t2;
|
||||
2 table 2
|
||||
2 table 2
|
||||
select * from t3;
|
||||
3 table 3
|
||||
3 table 3
|
||||
drop table if exists t1,t2,t3,t4;
|
||||
|
@ -1,3 +1,26 @@
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (
|
||||
gesuchnr int(11) DEFAULT '0' NOT NULL,
|
||||
benutzer_id int(11) DEFAULT '0' NOT NULL,
|
||||
PRIMARY KEY (gesuchnr,benutzer_id)
|
||||
) type=ISAM;
|
||||
replace into t1 (gesuchnr,benutzer_id) values (2,1);
|
||||
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
||||
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
||||
alter table t1 type=myisam;
|
||||
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
||||
alter table t1 type=heap;
|
||||
replace into t1 (gesuchnr,benutzer_id) values (1,1);
|
||||
drop table t1;
|
||||
create table t1 (a tinyint not null auto_increment primary key, b char(20));
|
||||
insert into t1 values (126,"first"),(0,"last");
|
||||
insert into t1 values (0,"error");
|
||||
Duplicate entry '127' for key 1
|
||||
replace into t1 values (0,"error");
|
||||
Duplicate entry '127' for key 1
|
||||
replace into t1 values (126,"first updated");
|
||||
select * from t1;
|
||||
a b
|
||||
126 first updated
|
||||
127 last
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,12 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (n int not null primary key) type=myisam;
|
||||
begin work;
|
||||
insert into t1 values (4);
|
||||
insert into t1 values (5);
|
||||
rollback;
|
||||
Warning: Some non-transactional changed tables couldn't be rolled back
|
||||
select * from t1;
|
||||
n
|
||||
4
|
||||
5
|
||||
drop table t1;
|
||||
|
@ -1,17 +1,73 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
use test;
|
||||
drop table if exists t1,t3;
|
||||
create table t1 (word char(20) not null);
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
set password = password('foo');
|
||||
set password = password('');
|
||||
create table t3(n int);
|
||||
insert into t3 values(1),(2);
|
||||
use test;
|
||||
select * from t3;
|
||||
n
|
||||
1
|
||||
2
|
||||
select sum(length(word)) from t1;
|
||||
sum(length(word))
|
||||
71
|
||||
drop table t1,t3;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2;
|
||||
create table t1(n int);
|
||||
insert into t1 values(10);
|
||||
insert into t1 values(9);
|
||||
insert into t1 values(8);
|
||||
insert into t1 values(7);
|
||||
insert into t1 values(6);
|
||||
insert into t1 values(5);
|
||||
insert into t1 values(4);
|
||||
insert into t1 values(3);
|
||||
insert into t1 values(2);
|
||||
insert into t1 values(1);
|
||||
create table t2(id int);
|
||||
insert into t2 values(connection_id());
|
||||
create temporary table t1_temp(n int);
|
||||
insert into t1_temp select get_lock('crash_lock', 1) from t2;
|
||||
update t1 set n = n + get_lock('crash_lock', 2);
|
||||
select (@id := id) - id from t2;
|
||||
(@id := id) - id
|
||||
0
|
||||
kill @id;
|
||||
drop table t2;
|
||||
Server shutdown in progress
|
||||
set sql_slave_skip_counter=1;
|
||||
slave start;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
10
|
||||
drop table t1;
|
||||
create table t1 (n int);
|
||||
insert into t1 values(3456);
|
||||
use mysql;
|
||||
insert into user (Host, User, Password)
|
||||
VALUES ("10.10.10.%", "blafasel2", password("blafasel2"));
|
||||
select select_priv,user from mysql.user where user = 'blafasel2';
|
||||
select_priv user
|
||||
N blafasel2
|
||||
update user set Select_priv = "Y" where User="blafasel2";
|
||||
select select_priv,user from mysql.user where user = 'blafasel2';
|
||||
select_priv user
|
||||
Y blafasel2
|
||||
use test;
|
||||
select n from t1;
|
||||
n
|
||||
3456
|
||||
select select_priv,user from mysql.user where user = 'blafasel2';
|
||||
select_priv user
|
||||
Y blafasel2
|
||||
drop table t1;
|
||||
|
@ -1,10 +1,33 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
use test;
|
||||
drop table if exists t1;
|
||||
create table t1 (n int auto_increment primary key);
|
||||
set insert_id = 2000;
|
||||
insert into t1 values (NULL),(NULL),(NULL);
|
||||
use test;
|
||||
select * from t1;
|
||||
n
|
||||
2000
|
||||
2001
|
||||
2002
|
||||
show slave hosts;
|
||||
Server_id Host Port
|
||||
2 127.0.0.1 9307
|
||||
drop table t1;
|
||||
slave stop;
|
||||
drop table if exists t2;
|
||||
create table t2(id int auto_increment primary key, created datetime);
|
||||
set timestamp=12345;
|
||||
insert into t2 set created=now();
|
||||
select * from t2;
|
||||
id created
|
||||
1 1970-01-01 06:25:45
|
||||
slave start;
|
||||
select * from t2;
|
||||
id created
|
||||
1 1970-01-01 06:25:45
|
||||
drop table t2;
|
||||
|
@ -1,4 +1,15 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
drop table if exists t1;
|
||||
create table t1(n int primary key);
|
||||
insert into t1 values (1),(2),(2);
|
||||
insert into t1 values (3);
|
||||
select * from t1;
|
||||
n
|
||||
1
|
||||
2
|
||||
3
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,34 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
use test;
|
||||
set SQL_LOG_BIN=0;
|
||||
drop table if exists t1;
|
||||
create table t1 (word char(20) not null, index(word));
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
drop table if exists t2;
|
||||
create table t2 (word char(20) not null);
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
create table t3 (word char(20) not null primary key);
|
||||
use test;
|
||||
drop table if exists t1;
|
||||
load table t1 from master;
|
||||
drop table if exists t2;
|
||||
load table t2 from master;
|
||||
drop table if exists t3;
|
||||
load table t3 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
10
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
0
|
||||
set SQL_LOG_BIN=1;
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1(n int);
|
||||
drop table t1;
|
||||
|
@ -1,8 +1,22 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
drop table if exists t1;
|
||||
CREATE TABLE t1 (name varchar(64), age smallint(3));
|
||||
INSERT INTO t1 SET name='Andy', age=31;
|
||||
INSERT t1 SET name='Jacob', age=2;
|
||||
INSERT into t1 SET name='Caleb', age=1;
|
||||
ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;
|
||||
select * from t1;
|
||||
name age id
|
||||
Andy 31 00000001
|
||||
Jacob 2 00000002
|
||||
Caleb 1 00000003
|
||||
select * from t1;
|
||||
name age id
|
||||
Andy 31 00000001
|
||||
Jacob 2 00000002
|
||||
Caleb 1 00000003
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,30 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
set SQL_LOG_BIN=0,timestamp=200006;
|
||||
drop table if exists t1;
|
||||
create table t1(t timestamp not null,a char(1));
|
||||
insert into t1 ( a) values ('F');
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
drop table if exists t1;
|
||||
load table t1 from master;
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
set SQL_LOG_BIN=1,timestamp=default;
|
||||
drop table t1;
|
||||
set SQL_LOG_BIN=0;
|
||||
CREATE TABLE t1 (
|
||||
a int not null
|
||||
) TYPE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
load table t1 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
drop table t1;
|
||||
|
@ -1,2 +1,21 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
use test;
|
||||
drop table if exists foo;
|
||||
create table foo (n int);
|
||||
insert into foo values(4);
|
||||
use test;
|
||||
drop table if exists foo;
|
||||
create table foo (s char(20));
|
||||
load data infile '../../std_data/words.dat' into table foo;
|
||||
insert into foo values('five');
|
||||
drop table if exists bar;
|
||||
create table bar (m int);
|
||||
insert into bar values(15);
|
||||
select foo.n,bar.m from foo,bar;
|
||||
n m
|
||||
4 15
|
||||
drop table if exists bar,foo;
|
||||
|
@ -1,2 +1,24 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
use test;
|
||||
drop table if exists foo;
|
||||
create table foo (n int);
|
||||
insert into foo values(4);
|
||||
use test;
|
||||
drop table if exists foo;
|
||||
create table foo (n int);
|
||||
insert into foo values(5);
|
||||
drop table if exists bar;
|
||||
create table bar (m int);
|
||||
insert into bar values(15);
|
||||
drop table if exists choo;
|
||||
create table choo (k int);
|
||||
insert into choo values(55);
|
||||
select foo.n,bar.m,choo.k from foo,bar,choo;
|
||||
n m k
|
||||
4 15 55
|
||||
drop table if exists foo,bar,choo;
|
||||
drop table if exists foo,bar,choo;
|
||||
|
@ -1,32 +1,82 @@
|
||||
slave stop;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
slave start;
|
||||
drop database if exists foo;
|
||||
create database foo;
|
||||
drop database if exists bar;
|
||||
create database bar;
|
||||
drop table if exists foo.foo;
|
||||
create table foo.foo (n int);
|
||||
insert into foo.foo values(4);
|
||||
drop table if exists foo.foo;
|
||||
create table foo.foo (n int);
|
||||
insert into foo.foo values(5);
|
||||
drop table if exists bar.bar;
|
||||
create table bar.bar (m int);
|
||||
insert into bar.bar values(15);
|
||||
select foo.foo.n,bar.bar.m from foo.foo,bar.bar;
|
||||
n m
|
||||
4 15
|
||||
drop database if exists bar;
|
||||
drop database if exists foo;
|
||||
drop database if exists bar;
|
||||
drop database if exists foo;
|
||||
set sql_log_bin = 0;
|
||||
create database foo;
|
||||
create database bar;
|
||||
show databases;
|
||||
Database
|
||||
bar
|
||||
foo
|
||||
mysql
|
||||
test
|
||||
create table foo.t1(n int, s char(20));
|
||||
create table foo.t2(n int, s text);
|
||||
insert into foo.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
||||
insert into foo.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
||||
create table bar.t1(n int, s char(20));
|
||||
create table bar.t2(n int, s text);
|
||||
insert into bar.t1 values (1, 'one bar'), (2, 'two bar'), (3, 'three bar');
|
||||
insert into bar.t2 values (11, 'eleven bar'), (12, 'twelve bar'),
|
||||
(13, 'thirteen bar');
|
||||
set sql_log_bin = 1;
|
||||
show databases;
|
||||
Database
|
||||
mysql
|
||||
test
|
||||
load data from master;
|
||||
show databases;
|
||||
Database
|
||||
bar
|
||||
foo
|
||||
mysql
|
||||
test
|
||||
use foo;
|
||||
show tables;
|
||||
Tables_in_foo
|
||||
use bar;
|
||||
show tables;
|
||||
Tables_in_bar
|
||||
t1
|
||||
t2
|
||||
select * from bar.t1;
|
||||
n s
|
||||
1 one bar
|
||||
2 two bar
|
||||
3 three bar
|
||||
select * from bar.t2;
|
||||
n s
|
||||
11 eleven bar
|
||||
12 twelve bar
|
||||
13 thirteen bar
|
||||
insert into bar.t1 values (4, 'four bar');
|
||||
select * from bar.t1;
|
||||
n s
|
||||
1 one bar
|
||||
2 two bar
|
||||
3 three bar
|
||||
4 four bar
|
||||
drop database bar;
|
||||
drop database foo;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user