"#$ " & '() '*( ) 13/04/06 Christophe@Borelly.net 2 "# $ "& mysql [-h host] [-u user] [-p[pass]] +,,, -... / 0'1 2 3 4 0'1 567 8999:, ;<<& += +--------------+--------------+ VERSION() CURRENT_DATE +--------------+--------------+ 3.22.20a-log 1999-03-19 +--------------+--------------+ 1 row in set (0.01 sec) > & * "&? # + " ' ( )* $+& )* 13/04/06 Christophe@Borelly.net 3 13/04/06 Christophe@Borelly.net 4 ",-.,/ @ + +A @+A+, A 0'1 # 6: "## " B CB'D'179"CB'D'177 @ & '() & '() E F 13/04/06 Christophe@Borelly.net 5 13/04/06 Christophe@Borelly.net 6
",.'/ " ;>@- C'- @BGB/B H ; B@ ;DB4DB;"'0CDB;"0-)D@0DB;"DB;"D(DB; C;")@-")-D0C ;DB4;-I;"'0C;-I;"0-)D@0;-I;";-I;"D(;-I; JC>"KC>JC>""-B@0"'-; )C;-";D0-")C;-;D0-"4-C>";D0-';C0? 0'1 + CB'DD''179L +LB@0->D")-D0C"DB;-(->" '0CDB;"+ C;">-C )@-?>-D'DB &DB; DB;-(-> &)- )-D0C B@0->D)-D0C +0'1" < '179 13/04/06 Christophe@Borelly.net 7 13/04/06 Christophe@Borelly.net 8 0'1 TINYINT, MEDIUMINT BIGINT 6 171 ' 2'3 '5 8""1 2(543 (545 01 ( 23(3343 3(3345 1 2'53(43 '53(45 1 3 29((5(43:55:33 9((5(43:55:35 8& ;,UNSIGNED,"&M < ZEROFILL -LINT(5) ZEROFILL 5::::5 < AUTO_INCREMENT 13/04/06 Christophe@Borelly.net 9 13/04/06 Christophe@Borelly.net 10.'/./ DECIMAL(M,D) NUMERIC(M,D) N & H*" O+ #& "& 0+&LL 966 )<+L#& "+ &+ L 8:"M-2 -Lsalaire DECIMAL(5,2) @* + &")=:" <,< & -Lsalaire DECIMAL(5,2),777777777770'1 < 13/04/06 Christophe@Borelly.net 11 13/04/06 Christophe@Borelly.net 12
.(/ FLOAT& REALDOUBLE PRECISION < 0'1 HDOUBLE DOUBLE PRECISION FLOAT5 DOUBLE PRECISION"REALR FLOAT(p) 5 PQ95 R 96PQPQ68 DECIMAL(M,D) 0ST )Q: 0S9 )=: )S9 0P) 13/04/06 Christophe@Borelly.net 13 13/04/06 Christophe@Borelly.net 14 "; "0 8< TIMESTAMP:::::::::::::: <& DATE<::::,::,::<,,$ TIME<::::::< DATETIME<::::,::,::::::::< YEAR:::: TIMESTAMP N +< < DB'->; @?)C;-' U ;D0-';C0?"* # $ + TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD TIMESTAMP(6) YYMMDD TIMESTAMP(4) YYMM TIMESTAMP(2) YY 13/04/06 Christophe@Borelly.net 15 13/04/06 Christophe@Borelly.net 16 " L& " V" *< 0'1* L& * '<<::,W7" 9:::,9:W7 '<<X:,77" T7X:,T777 13/04/06 Christophe@Borelly.net 17 ; DATE 8 DATETIME R TIMESTAMP 5 TIME 8 YEAR T 13/04/06 Christophe@Borelly.net 18
" =8>8=8 " =8>8=8 CHARVARCHAR " &** N &L JC> ) L966* Valeur CHAR(4) Taille VARCHAR(4) Taille '' ' ' 4 octets '' 1 octet 'ab' 'ab ' 4 octets 'ab' 3 octets 'abcd' 'abcd' 4 octets 'abcd' 5 octets 'abcdefgh' 'abcd' 4 octets 'abcd' 5 octets CHARVARCHAR "# +<DBC>4< & <DBC>4&+ " < *C'D 0'1 13/04/06 Christophe@Borelly.net 19 13/04/06 Christophe@Borelly.net 20 " 0?"@ "01 @TEXTBLOB $# H TINYTEXT"TINYBLOBSTP9 R TEXT"BLOB S9P9 TW MEDIUMTEXT"MEDIUMBLOB S8P9 95 LONGTEXT"LONGBLOB S5P9 89 @ ENUMH @ LW6686?L" -B@0<L<"<<"<U< < +, L * B@B@ <:<L<T<<9<U<8 13/04/06 Christophe@Borelly.net 21 13/04/06 Christophe@Borelly.net 22 "01 " 0.'/ ENUM & < "&L# <"ENUM N& L?L"<<*<<< ENUM('a','b')"<<*<< < ENUM('b','a') @SETH+ U " A & SET " &,<"< +&+<SET A 13/04/06 Christophe@Borelly.net 23 13/04/06 Christophe@Borelly.net 24
" 0./ " 0.(/ @SET W5?L" &+ SET('un','deux') NOT NULL < : '' 'un' 'deux' 'un,deux' ' &U SET" SET + B@*? < '-;"< << < < < +"+ <H+<& "< #?L" & SET('a','b','c','d')" <"<"<"<" <""""< <"< 13/04/06 Christophe@Borelly.net 25 13/04/06 Christophe@Borelly.net 26 A# # & B$ ""#" W5 ; &<<"<3<<< ; W5 ; &<<<< W5 ; DL W5 ; C 966 ; B U+& " *L" U <Y< `test`.`toto`.`titi` -0'1" # #&? +"# *# &+ # / " @L 13/04/06 Christophe@Borelly.net 27 13/04/06 Christophe@Borelly.net 28 C6$$A $ @$* @ * * $ 'J/JC>C;->'-;2 'J/C;DBDG-<TZ<2 "$' $ & $ T[ < T T[[ ) B T[[ 0 T[[ 0"# T[T[ C)DB,T T[9[ C)DB,9 T[[ - T[[ ' & 13/04/06 Christophe@Borelly.net 29 13/04/06 Christophe@Borelly.net 30
080888 0 8"0888 0 @<888 0 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification]...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name ALTER DATABASE db_name alter_specification [,alter_specification]... alter_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name DROP DATABASE [IF EXISTS] db_name? )>? )C;CC'-" U )>? )>?)C;CC'-& db_name data 0'1 13/04/06 Christophe@Borelly.net 31 13/04/06 Christophe@Borelly.net 32 0808"0 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement] -L CREATE TABLE IF NOT EXISTS `test`.`t1` (a INT(11) UNSIGNED NOT NULL, b VARCHAR(4) DEFAULT 'toto', PRIMARY KEY (a)) 8"08"0 ALTER [IGNORE] TABLE tbl_name alter_spec [,alter_spec]... alter_spec: ADD [COLUMN] column_definition [FIRST AFTER col_name ] ADD [COLUMN] (column_definition,...) ADD INDEX [index_name] [index_type] (index_col_name,...) ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) ADD [CONSTRAINT [symbol]] UNIQUE [index_name] [index_type] (index_col_name,...) ADD [FULLTEXT SPATIAL] [index_name] (index_col_name,...) ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] 13/04/06 Christophe@Borelly.net 33 13/04/06 Christophe@Borelly.net 34 8"08"0./ 06 ALTER [COLUMN] col_name {SET DEFAULT literal DROP DEFAULT} CHANGE [COLUMN] old_col_name column_definition [FIRST AFTER col_name] MODIFY [COLUMN] column_definition [FIRST AFTER col_name] DROP [COLUMN] col_name DROP PRIMARY KEY DROP INDEX index_name DROP FOREIGN KEY fk_symbol DISABLE KEYS ENABLE KEYS RENAME [TO] new_tbl_name ORDER BY col_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name] [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name] DISCARD TABLESPACE IMPORT TABLESPACE table_options ALTER TABLE test.t1 RENAME test.t2 ALTER TABLE test.t2 ADD c INT(11) AFTER b ALTER TABLE test.t2 MODIFY a TINYINT NOT NULL,CHANGE b bb CHAR(20) ALTER TABLE test.t2 DROP COLUMN b 13/04/06 Christophe@Borelly.net 35 13/04/06 Christophe@Borelly.net 36
018 08"0 @<8"0 RENAME TABLE tbl_name TO new_tbl_name [,tbl_name TO new_tbl_name,...] DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]... [RESTRICT CASCADE] C;;-B;DB &" \ )--;- ) JCB)-> DB'->; C))C;CDB D- >-?C- '--; ', ;>@BC;- @?)C;- 13/04/06 Christophe@Borelly.net 37 13/04/06 Christophe@Borelly.net 38 0"0 06 SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] [DISTINCT DISTINCTROW ALL] col_name [AS alias],... [INTO {OUTFILE DUMPFILE} 'nom_fichier' export_options] [FROM tbl_name [AS alias] [,tbl_name [AS alias]...] [WHERE conditions] [GROUP BY {unsigned_int col_name expr} [ASC DESC],...] [HAVING where_definition] [ORDER BY {unsigned_int col_name expr} [ASC DESC],...] [LIMIT [offset,]count] [PROCEDURE procedure_name(argument_list)] [FOR UPDATE LOCK IN SHARE MODE]] SELECT x,y FROM `test`.`t2` SELECT * FROM `t3` SELECT `t3`.nom FROM `test`.`t3` SELECT `t3`.* FROM `test`.`t3` SELECT a AS x,y,1+z AS w FROM `t1` 13/04/06 Christophe@Borelly.net 39 13/04/06 Christophe@Borelly.net 40 D=00 @<7 SELECT x FROM t1 WHERE x>10 SELECT x FROM t1 WHERE x>10 AND y='toto' SELECT nom FROM t1 WHERE nom LIKE 'a' OR nom LIKE '_a' SELECT t1.*,t2.salaire FROM employes AS t1,infos AS t2 WHERE t1.name=t2.name 13/04/06 Christophe@Borelly.net 41 SELECT ville,count(*) AS N FROM personnes GROUP BY ville SELECT pays,ville,sum(nom) AS total FROM personnes GROUP BY pays,ville < : AVG(expr),BIT_AND(expr),BIT_OR(expr), BIT_XOR(expr),COUNT(expr),GROUP_CONCAT(expr) MIN(expr),MAX(expr),STD(expr),SUM(expr) 13/04/06 Christophe@Borelly.net 42
=8>1 JCKDB( & < " + /J->- SELECT nom,max(poids) FROM boxers GROUP BY nom HAVING MAX(poids)>90 @07 SELECT college,region,ville FROM lycee ORDER BY region SELECT college,region,ville FROM lycee ORDER BY region ASC,ville DESC 13/04/06 Christophe@Borelly.net 43 13/04/06 Christophe@Borelly.net 44 " > 6 SELECT * FROM t1 LIMIT 5 > W#T6 SELECT * FROM t1 LIMIT 5,10 "6 L A & +A'1 )>)->4JCKDB( '--; )/J->-'--;")--;- @?)C;- ) '-; T (TRUE), : (FALSE) NULL 13/04/06 Christophe@Borelly.net 45 13/04/06 Christophe@Borelly.net 46 @ $.'/ @ $./ SELECT 1<=>1,NULL<=>NULL,1<=>NULL T"T": SELECT 1=1,NULL=NULL,1=NULL,'a'='A',BINARY 'a'='a' T"B@"B@"T": SELECT '.01' <> '0.01',.01 = '0.01' T": SELECT 2>2, 3>=2, 2<2, 2<=3 :"T":"T SELECT 1 BETWEEN 2 AND 3 : SELECT GREATEST(34.0,3.0,5.0,767.0),LEAST(2,4,8) XWX:"9 SELECT 2 IN (0,3,5,'wefwf'), 2 NOT IN (0,3,'wefwf') :"T > B@ SELECT COALESCE(NULL,10),COALESCE(NULL,NULL,NULL) T:"B@ SELECT NOT 10, (1+1), 1 && 0, 1 AND 1 :":":"T SELECT 1 0, 1 OR 1, 1 XOR 0 T"T"T 13/04/06 Christophe@Borelly.net 47 13/04/06 Christophe@Borelly.net 48
@ $.(/ "*$$E SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL :":"T SELECT 1 IS NOT NULL,0 IS NOT NULL,NULL IS NOT NULL T"T": SELECT ISNULL(1+1) : SELECT ISNULL(1/0) T IFNULL(expr1,expr2)<LT<B@" & D B@ <LT" <L9 NULLIF(expr1,expr2)<L LTQL9" & B@ LT 13/04/06 Christophe@Borelly.net 49 IF(expr1,expr2,expr3) <LT;>@- & D L9" L8 > Q, CASE valeur WHEN [compare-value] THEN resultat [WHEN [compare-value] THEN resultat...] [ELSE resultat] END > * +' <" -'- '<-'- B@ CASE WHEN [condition] THEN résultat [WHEN [condition] THEN résultat...] [ELSE résultat] END 13/04/06 Christophe@Borelly.net 50 F$$;G $$A.'/ F$$;G $$A./ ASCII(str) C'D* H*> :H *> B@H *B@ BIN(N) H* <B CONV(N,from_base,to_base) & HEX(N) TWCONV(N,10,16) OCT(N) RCONV(N,10,8) UNHEX(str) J-I BIT_LENGTH(str) H* CHAR_LENGTH(str) *H LENGTH(str) H" OCTET_LENGTH() -B(;J CHAR(N,...)* C'D H*B@ CONCAT(str1,str2,...) H > B@ B@ CONCAT_WS(separator,str1,str2,...)&BC;/ ' "<,#,] 13/04/06 Christophe@Borelly.net 51 13/04/06 Christophe@Borelly.net 52 F$$;G $$A.(/ F$$;G $$A./ ELT(N,str1,str2,str3,...) TBQT"9 BQ9"> B@B+T + < FIELD(str,str1,str2,str3,...) <L HT"9"8"^> :< INSERT(str,pos,len,newstr) H *"* H M# *" H REPLACE(str,from_str,to_str) H * H& [ H [ 13/04/06 Christophe@Borelly.net 53 INSTR(str,substr) * HH* LOCATE(substr,str) LOCATE(substr,str,pos) * HH *> : H * POSITION(substr IN str) C;-" SUBSTRING_INDEX(str,delim,count) H*" LEFT(str,len) *#H * RIGHT(str,len) *# H * 13/04/06 Christophe@Borelly.net 54
F$$;G $$A.:/ F$$;G $$A.4/ LCASE(str) /-> LOWER(str) H * UCASE(str) @??-> UPPER(str) H$ LPAD(str,len,padstr) H*" #H*$+<#+H ** 'H* +*" * RPAD(str,len,padstr)?C)# REPEAT(str,count) H* & H' PQ:" H > B@ B@ REVERSE(str) H < * <H 13/04/06 Christophe@Borelly.net 55 QUOTE(str)*<H +L +A'1 LTRIM(str) H*L RTRIM(str) H*&L TRIM([[BOTH LEADING TRAILING] [remstr] FROM] str) H* &L &L SPACE(N) H B MID(str,pos,len) '@';>DB(" " SUBSTRING(str,pos) SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) H* H"# 13/04/06 Christophe@Borelly.net 56 @ ;, F$ H;.'/ +, -, *, / DIV *$ 0'15T: CAST(expr AS type) CONVERT(expr,type) CONVERT(expr USING transcoding_name)0'15:9 A< DBC>4 JC> )C;- )C;-;D0- 'D(B-)_DB;-(->` ;D0- @B'D(B-)_DB;-(->` CURRENT_DATECURRENT_DATE() @>)C;- CURDATE() & <4444,00,))< 444400))" L+ H CURRENT_TIMECURRENT_TIME() @>;D0- CURTIME() < & <JJ00''< JJ00'' L+ H CURRENT_TIMESTAMPCURRENT_TIMESTAMP()"LOCALTIME LOCALTIME()"LOCALTIMESTAMPLOCALTIMESTAMP()"SYSDATE() B/ NOW() & <4444,00,))JJ00''< 444400))JJ00''" L+ H 13/04/06 Christophe@Borelly.net 57 13/04/06 Christophe@Borelly.net 58 F$ H;./ F$ H;.(/ UTC_DATEUTC_DATE() @; & <4444,00,))< 444400)) UTC_TIMEUTC_TIME() <@; & <JJ00''< JJ00''@;[;D0-';C0? UTC_TIMESTAMP() <@; & <4444,00,))JJ00''< 444400))JJ00'' UNIX_TIMESTAMP()UNIX_TIMESTAMP(date) <T7X:,:T,:T::::::<(0; FROM_UNIXTIME(unix_timestamp) <L[ & <4444,00,))JJ00''< 444400))JJ00'';D0-[;['- < EXTRACT(type FROM date)a<+ & )C;-[C)) & )C;-['@"L O+ 13/04/06 Christophe@Borelly.net 59 ADDDATE(date,INTERVAL expr type) ADDDATE(expr,days) SUBDATE(date,INTERVAL expr type) SUBDATE(expr,days) DATE_ADD(date,INTERVAL expr type) DATE_SUB(date,INTERVAL expr type) MICROSECOND MICROSECONDS SECOND_MICROSECOND 'SECONDS.MICROSECONDS' SECOND SECONDS MINUTE_MICROSECOND 'MINUTES.MICROSECONDS' MINUTE MINUTES MINUTE_SECOND 'MINUTES:SECONDS' HOUR HOURS HOUR_MICROSECOND 'HOURS.MICROSECONDS' DAY DAYS HOUR_SECOND 'HOURS:MINUTES:SECONDS' WEEK WEEKS HOUR_MINUTE 'HOURS:MINUTES' DAY_MICROSECOND 'DAYS.MICROSECONDS' MONTH MONTHS DAY_SECOND 'DAYS HOURS:MINUTES:SECONDS' QUARTER QUARTERS DAY_MINUTE 'DAYS HOURS:MINUTES' YEAR YEARS DAY_HOUR 'DAYS HOURS' YEAR_MONTH 'YEARS-MONTHS' 13/04/06 Christophe@Borelly.net 60
F$ H;./ F$ H;.:/ )0'15TT ADDTIME(expr,expr2)$ L9#L LL )C;- )C;-;D0-"L9L ;D0- DATEDIFF(expr,expr2) $ L&L9L L9 L )C;- )C;-;D0-')C;- (-;[ >0C;)C;-a;D0-a;D0-';C0?"<-@><a<@'C<a<bD'<a<D'<a <DB;->BC< H& & + +<& )C;-[ >0C; ';>[;[)C;- C';[)C4 $ >0[)C4'B $ : ;[)C4' $ :?->D)[C))?"B$ B #?& 4400 444400> & 444400?->D)[)D?T"?9?T?9?T?9 A& 4400 444400B U+?T?9 13/04/06 Christophe@Borelly.net 61 13/04/06 Christophe@Borelly.net 62 F$ H;.4/ F$ H;.5/ )C4 )C4 0B;J )C4BC0- $ )C4 0B;J $ T8T )C4 /--G <L$ TQ )"9Q"XQ' )C4 4-C> $ T8WW J@> <:98 0D>'-B)L µ:777777 0DB@;- :67 0B;J TT9 0B;JBC0-1@C>;-> T5 '-B) :67 13/04/06 Christophe@Borelly.net 63 /--Gc" d" <:6T : ):68. T :68.. 9 )T68. 8 T68.. 5 ):68.. 6 :68. W )T68.. X T68..T..T8$ 13/04/06 Christophe@Borelly.net 64 F$ H;.3/ 80IF@8.'/ /--G)C4 <L$ " :Q"TQ0"WQ) /--G 4-C> <T 68 4-C> <T:::7777 4-C>/--Gc" d << < & L < & /--G ';>[;[)C;-"& <& )C;-[ >0C; 0CG-)C;-" & & )C;-# < $ 0CG-;D0- "" & ;D0- # DATE_FORMAT(date,format) TIME_FORMAT(time,format)& & & @ <Z< a B $ "'' b B "b) c 0 "& +TT9 d b "& +::8T D b "<"9"8" e b "& +:8T f 0 ::::::777777ZJJ::98 h J:TT9 I J:TT9 i 0"& +::67 j b <::T8WW 13/04/06 Christophe@Borelly.net 65 13/04/06 Christophe@Borelly.net 66
80IF@ 8./ 80IF@8.(/ k J:98 l JTT9 m 0 "& +:TT9 M B b) p C0?0ZJ"& T9cC?d0 s ' ::67 S ' ::67Z;J"& 95 U B ::68" e)$ u B ::68" e$ V B :T68" e)$ "<ZI< v B :T68" e$ "<ZL< W B $ '' w B $ :Q'WQ' X C" + )"& +"5&"<ZK< x C" + "& +"5&"<Z< y C"& +"9& Y C"& +"5& 13/04/06 Christophe@Borelly.net 67 13/04/06 Christophe@Borelly.net 68,-.'/ ; T + L 9 SELECT x FROM t1 WHERE x=(select MAX(y) FROM t2) ; T+ +HL & SELECT * FROM t1 WHERE 2=(SELECT COUNT(x) FROM t1),-./ CREATE TABLE t1 (s1 INT,s2 CHAR(5),s3 FLOAT) INSERT INTO t1 VALUES (1,'1',1.0) INSERT INTO t1 VALUES (2,'2',2.0) SELECT sb1,sb2,sb3 FROM (SELECT s1 AS sb1,s2 AS sb2,s3*2 AS sb3 FROM t1) AS sb WHERE sb1>1 >2,'2',4.0 13/04/06 Christophe@Borelly.net 69 13/04/06 Christophe@Borelly.net 70,-817.'/,-817./ CB4 D ;>@- ;>@- @B-,+A SELECT s1 FROM t1 WHERE s1 > ANY (SELECT s1 FROM t2) ' +<T+ _T:` <L ;>@-9 _9T"T5"X` 9+&#T: L C'-9 _9:"T:`" 9 <L @BGB/B9 _B@"B@" B@` 13/04/06 Christophe@Borelly.net 71 DBQCB4L + SELECT s1 FROM t1 WHERE s1 = ANY (SELECT s1 FROM t2) SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2) '0-CB4L + SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2) SELECT s1 FROM t1 WHERE s1 <> SOME (SELECT s1 FROM t2) 13/04/06 Christophe@Borelly.net 72
,-8"",-0?.'/ C < D ;>@- ;>@- ;@;-',+A SELECT s1 FROM t1 WHERE s1 > ALL (SELECT s1 FROM t2) ' +<T _T:` <L ;>@-9 _,6":"S6` 9 &#T: <L C'-9 _T9"W"B@",T::` 9++T: <L @BGB/B9 _:"B@"T` "9";>@- ',+A " -ID';'P+=;>@-"B;-ID';' P+= C'- 1 f SELECT DISTINCT store_type FROM Stores WHERE EXISTS (SELECT * FROM CitiesStores WHERE CitiesStores.storetype=Stores.storetype) 1<f SELECT DISTINCT storetype FROM Stores WHERE NOT EXISTS (SELECT * FROM CitiesStores WHERE CitiesStores.storetype=Stores.storetype) 13/04/06 Christophe@Borelly.net 73 13/04/06 Christophe@Borelly.net 74,-0?./ "6& 1 f -L,,+<' f SELECT DISTINCT storetype FROM Stores WHERE NOT EXISTS (SELECT * FROM Cities WHERE NOT EXISTS (SELECT * FROM CitiesStores WHERE CitiesStores.city=Cities.city AND CitiesStores.storetype=Stores.storetype )) ' ( $ 4 9 ' > < I ' ' : ; 13/04/06 Christophe@Borelly.net 75 13/04/06 Christophe@Borelly.net 76 "6& "0FC@1 SELECT nom,produit FROM users,commandes WHERE users.id=commandes.users_id SELECT nom,produit FROM users INNER JOIN commandes ON users.id=commandes.users_id > < ; > *A SELECT nom,produit FROM users LEFT JOIN commandes ON users.id=commandes.users_id > < ; 1"" 13/04/06 Christophe@Borelly.net 77 13/04/06 Christophe@Borelly.net 78
=C@1 1@1 > A * SELECT nom,produit FROM users RIGHT JOIN commandes ON users.id=commandes.users_id > < ; SELECT UNION [ALL DISTINCT] SELECT [UNION [ALL DISTINCT] SELECT @BDB0'15:: @BDB +A '--; ' &UC" U '--; K U@BDBC@BDB )D';DB;A+A 13/04/06 Christophe@Borelly.net 79 13/04/06 Christophe@Borelly.net 80 1 0 06.'/ INSERT [LOW_PRIORITY DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] VALUES ({expr DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE col_name=expr,... ] INSERT [LOW_PRIORITY DELAYED] [IGNORE] [INTO] tbl_name SET col_name={expr DEFAULT},... [ ON DUPLICATE KEY UPDATE col_name=expr,... ] INSERT [LOW_PRIORITY DELAYED] [IGNORE] [INTO] tbl_name [(col_name,...)] SELECT... INSERT INTO `test`.`t1` (a,b) VALUES(15,'toto') INSERT INTO `test`.`t2` (w,x,y,z) VALUES(NOW(),16,x*2,NULL) INSERT INTO t3 (a,b,c) VALUES ('tata',2,3),('l\'ile',5,6) INSERT INTO t3 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1 13/04/06 Christophe@Borelly.net 81 13/04/06 Christophe@Borelly.net 82 06./ <80 +ADB'->;'--;< < INSERT INTO t2 (id) SELECT t1.order_id FROM t1 WHERE t1.order_id>100; K U C@;[DB>-0-B;& C';[DB'->;[D) UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [,col_name2=expr2...] [WHERE conditions] [ORDER BY...] [LIMIT row_count] @?)C;-#$ '-;+ # & # /J->-"& "& ##$ ' " #$ '>)->4& " #$ < & 13/04/06 Christophe@Borelly.net 83 13/04/06 Christophe@Borelly.net 84
06 UPDATE person SET age=12, prenom='titi' WHERE nom='toto' UPDATE person SET age=age+1 UPDATE log SET day=now() WHERE id=4 UPDATE items,month SET items.price=month.price WHERE items.id=month.id 13/04/06 Christophe@Borelly.net 85 0"00 DELETE [LOW_PRIORITY] [QUICK] [IGNORE] table_name[.*] [, table_name[.*]...] FROM table-references [WHERE conditions] DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table_name[.*] [, table_name[.*]...] USING table-references [WHERE conditions] )--;-&[+ & L /J->-" <&' LU)--;-/J->-" & 13/04/06 Christophe@Borelly.net 86 06 DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id ' )--;->)->4+# " &< & -<+ +< D0D; DELETE FROM somelog WHERE user='jcole' ORDER BY dateinscr LIMIT 1 1808"0 TRUNCATE TABLE tbl_name K*' C@;[DB>-0-B;L" # -L TRUNCATE TABLE test.t1 13/04/06 Christophe@Borelly.net 87 13/04/06 Christophe@Borelly.net 88 =@D.'/ SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE 'pattern'] SHOW CREATE DATABASE db_name SHOW CREATE TABLE tbl_name SHOW DATABASES [LIKE 'pattern'] SHOW [STORAGE] ENGINES SHOW ERRORS [LIMIT [offset,] row_count] SHOW GRANTS FOR user SHOW INDEX FROM tbl_name [FROM db_name] SHOW INNODB STATUS SHOW [BDB] LOGS =@D./ SHOW PRIVILEGES SHOW [FULL] PROCESSLIST SHOW STATUS [LIKE 'pattern'] SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern'] SHOW [OPEN] TABLES [FROM db_name] [LIKE 'pattern'] SHOW [GLOBAL SESSION] VARIABLES [LIKE 'pattern'] SHOW WARNINGS [LIMIT [offset,] row_count] 13/04/06 Christophe@Borelly.net 89 13/04/06 Christophe@Borelly.net 90
H & CBC4g-;C- CG@?;C- J-G;C- J-G'@0;C-?;D0Dg-;C- >-?CD>;C- >-';>-;C- H CJ-DB)-I @'J GD C)DB)-IDB;CJ- >-'-; 13/04/06 Christophe@Borelly.net 91 13/04/06 Christophe@Borelly.net 92 "#$ " " " bin/mysqld0'1 scripts/mysqld_safe scripts/mysql_install_db * bin/mysql " L '1"" bin/mysqlcc0'1 &+" L '1" bin/mysqladmin < bin/mysqlcheck & bin/mysqldump& bin/mysqlimport & bin/mysqlshow && * 0'1<+ & L+< & + U" $'()'*+"+",$ -'$".+""&#, O<*0'1&L -T&+ A # -9- + U " &++A+ U" & U & <L 13/04/06 Christophe@Borelly.net 93 13/04/06 Christophe@Borelly.net 94 "&, " 01I 0 [""&" "[" (>CB;>-KG- ' &U DB'->;"@?)C;-"" UL @'J?>DKD-(-' mysqladmin flush-privileges" mysqladmin reload 13/04/06 Christophe@Borelly.net 95 & @>>-B;[@'-> 0'15:W '--;@>>-B;[@'->2 +----------------+ CURRENT_USER() +----------------+ root@127.0.0.1 +----------------+ 1 row in set (0.02 sec) 13/04/06 Christophe@Borelly.net 96
0<8 D@ 81 SET PASSWORD FOR 'bob'@'.loc.gov'=password('newpass'); <<+ UPDATE mysql.user SET password=password('newpass') WHERE user='bob' AND host='.loc.gov' FLUSH PRIVILEGES GRANT priv_type [(column_list)] [, priv_type [(column_list)]]... ON {tbl_name * *.* db_name.*} TO user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']]... [REQUIRE NONE [{SSL X509}] [CIPHER cipher [AND]] [ISSUER issuer [AND]] [SUBJECT subject]] [WITH [GRANT OPTION MAX_QUERIES_PER_HOUR count MAX_UPDATES_PER_HOUR count MAX_CONNECTIONS_PER_HOUR count]] 13/04/06 Christophe@Borelly.net 97 13/04/06 Christophe@Borelly.net 98 0>@J0 ; +I.'/ REVOKE priv_type [(column_list)] [, priv_type [(column_list)]]... ON {tbl_name * *.* db_name.*} FROM user [, user]... -&DROP USER toto C+A)--;- DELETE FROM mysql.user WHERE user='toto' and host='localhost' FLUSH PRIVILEGES ALL [PRIVILEGES] ; &/D;J(>CB;?;DB ALTER C < C;->;C- CREATE C < >-C;-;C- CREATE TEMPORARY TABLES C < >-C;- ;-0?>C>4;C- DELETE C < )--;- DROP C < )>?;C- EXECUTE C <#L N 0'16: FILE C < '--;DB;@; D-C))C;C DB D- INDEX C < >-C;-DB)-I)>?DB)-I 13/04/06 Christophe@Borelly.net 99 13/04/06 Christophe@Borelly.net 100 ; +I./ ; +I.(/ INSERT C < DB'->; LOCK TABLES C < G;C-' +< '--; PROCESS C < 'J/ @?>-''D'; REFERENCES > &>-C)C < @'J REPLICATION CLIENT ) #< e H REPLICATION SLAVE B +H SELECT C < '--; SHOW DATABASES SHOW DATABASES C& SHUTDOWN C < + SUPER C L +AL[ "<L JCB(-0C';->"GD "+"?@>(-0C';->(''-; (C UPDATE C < @?)C;- USAGE ' YY < GRANT OPTION ' /D;J(>CB;?;DB 13/04/06 Christophe@Borelly.net 101 13/04/06 Christophe@Borelly.net 102
06.'/ 06./ GRANT ALL ON test.* TO 'toto'@'localhost GRANT ALL ON test.* TO 'titi'@'192.58.197.0/255.255.255.0' GRANT DROP ON test TO 'root'@'192.168.' GRANT ALL PRIVILEGES ON test.root_ TO 'root'@'localhost' IDENTIFIED BY 'goodsecret' REQUIRE SSL REVOKE DROP ON test FROM 'root'@'192.168. REVOKE ALL PRIVILEGES FROM 'toto' GRANT SHUTDOWN ON * TO 'root'@'localhost' IDENTIFIED BY 'goodsecret' REQUIRE ISSUER '/C=FI/ST=Some-State/L=Helsinki/O=MySQL Finland AB/CN=Tonu Samuel/Email=tonu@example.com GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost' IDENTIFIED BY 'goodsecret' REQUIRE SUBJECT '/C=EE/ST=Some-State/L=Tallinn/ O=MySQL demo client certificate/cn=tonu Samuel/Email=tonu@example.com' AND ISSUER '/C=FI/ST=Some-State/L=Helsinki/O=MySQL Finland AB/CN=Tonu Samuel/Email=tonu@example.com' AND CIPHER 'EDH-RSA-DES-CBC3-SHA' 13/04/06 Christophe@Borelly.net 103 13/04/06 Christophe@Borelly.net 104 ""1? " "1? bin ' @L"U < + data docs include lib scripts mysqld ) < A *+ @ share/mysql < sql-bench ' bash# groupadd mysql bash# useradd -g mysql mysql bash# cd /usr/local bash# tar xvzf /path/to/mysql-version-os.tar.gz bash# ln -s full-path-to-mysql-version-os mysql bash# cd mysql bash# scripts/mysql_install_db bash# chown -R root. bash# chown -R mysql data bash# chgrp -R mysql. bash# bin/mysqld_safe --user=mysql & 13/04/06 Christophe@Borelly.net 105 13/04/06 Christophe@Borelly.net 106 K "D1@D + & $ & $L -?J?" C0?CS0'1S?J?S?0C IC0??CS0'1S?J?S?S?0C bin ' / " < &3+"+ data Docs mysqld ) examples? <L include lib scripts share < A *+ @ < 13/04/06 Christophe@Borelly.net 107 13/04/06 Christophe@Borelly.net 108
+ "D1@D +$ " -/".$ & " & < " +D )) -/".$0&) 5:"D ) C 5:" -/".$0 / B;9:::I? -/".$0-1" + D )) -/".$0-10 +,L" 13/04/06 Christophe@Borelly.net 109 )&B;/ B;"9::: I?" && 0'1 < / / A0'1 +* <L <A C:\> C:\mysql\bin\mysqld --install C:\> C:\mysql\bin\mysqld --remove CA C:\> C:\mysql\bin\mysqladmin -u root shutdown CA0'1 C:\> NET STOP MySQL 13/04/06 Christophe@Borelly.net 110 & " 7 8 0'1 N"+ *& 0'1A, 04D'C0D'C0"0-0>4J-C?"0->(-")"DBB) + U" U+# 0'1-B(DB-;4?- >-C;-;C-. CREATE TABLE t (i INT) ENGINE=MYISAM; 04D'C0 D'C0& 0'1 898 +04D'C0 N & & " L +&& &2- N& <L N&<L 23 N& <L 23 13/04/06 Christophe@Borelly.net 111 13/04/06 Christophe@Borelly.net 112 0@7 00 0-0>4 J-C?L " N +0-0>4 #&+ & " L & + & - *"0'1" U <L& N"&& 0-0>4 *+ A 0->(- $ 0'1 89896 0>([0D'C0 @0->(- 0D'C0 ++ + U0->(-"0'1L &+ &2- N& &24 + A 13/04/06 Christophe@Borelly.net 113 13/04/06 Christophe@Borelly.net 114
06 00 CREATE TABLE t1 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,message CHAR(20)); CREATE TABLE t2 (a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,message CHAR(20)); INSERT INTO t1 (message) VALUES ('table'),('t1'); INSERT INTO t2 (message) VALUES ('table'),('t2'); CREATE TABLE total (a INT NOT NULL AUTO_INCREMENT,message CHAR(20), INDEX(a)) ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST; SELECT * FROM total; +---+---------+ a message +---+---------+ 1 table 3 t1 1 table 3 t2 +---+---------+ )) N N) -))" L" U*#00D;>CG 13/04/06 Christophe@Borelly.net 115 13/04/06 Christophe@Borelly.net 116 $ 06 $ ' U <, + &" & ) "A ' U " & + U 00D; C" U >CG & K U ';C>; ;>CB'C;DB <, " '-;C@;00D;Q: L SET AUTOCOMMIT=0; C#" U00D; & + >CG & -L START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summmary=@a WHERE type=1; COMMIT; 13/04/06 Christophe@Borelly.net 117 13/04/06 Christophe@Borelly.net 118 "6 F$;# 0L) < 0L) <* "'C?) 0L) NC0'1" N 6: 0L) L '1" + 0'16T 0L) & + 0'1<& h" "< # < 0'1 & &"+ + K U & * &" Ai+ + bash# cd mysql-data-directory bash# mv mysql.log mysql.old bash# mysqladmin flush-logs bash# cp mysql.old to-backup-directory bash# rm mysql.old 13/04/06 Christophe@Borelly.net 119 13/04/06 Christophe@Borelly.net 120
F$;#H F$;## &< & + ++A"+ ++ + & )0'15:T:" U& e+ N&<< --log-error[=file_name] '&[< "+ ("-2& ' U +# <+" U --log[=fichier] &< L +A& &L ("-$ +--log 13/04/06 Christophe@Borelly.net 121 13/04/06 Christophe@Borelly.net 122 F$;#& F$;#,- < & "+ # 0'1 6: & & '1 + & "& &" --log-bin[=file_name] +<< --log-slowqueries[=file_name]"+& +A'1+ long_query_time #<L ' &< "& & "&L-slow.log' & "+<+" & +A *<* <L +AA&< + L 13/04/06 Christophe@Borelly.net 123 13/04/06 Christophe@Borelly.net 124 * $ B CB'D,D',7:X6,L,T777 ) 0'1 L 8 + 13/04/06 Christophe@Borelly.net 125