$%% ",-.,/ B CB'D'179"CB'D'177 @ + &! '() E F % 6: !!!"#$ " '*( ) > & *!!! "& +,!,, mysql [-h host] [-u user] [-p[pass]] % ' ?!!!



Similar documents
2/3/04 Doc 7 SQL Part 1 slide # 1

Databases: MySQL Introduction

MS ACCESS DATABASE DATA TYPES

Database Administration with MySQL

!"# $ %& '( ! %& $ ' &)* + ! * $, $ (, ( '! -,) (# *&23. mysql> select * from from clienti;

sqlite driver manual

Database Migration from MySQL to RDM Server

Part 3. MySQL DBA I Exam

DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems Santa Clara, April 12, 2010

A table is a collection of related data entries and it consists of columns and rows.

Apache Cassandra Query Language (CQL)

Information and Computer Science Department ICS 324 Database Systems Lab#11 SQL-Basic Query

How To Create A Table In Sql (Ahem)

Linas Virbalas Continuent, Inc.

Using SQL Server Management Studio

MySQL 5.1 INTRODUCTION 5.2 TUTORIAL

MySQL Security for Security Audits

New Features in MySQL 5.0, 5.1, and Beyond

New SQL Features in Firebird 3

MYSQL DATABASE ACCESS WITH PHP

MySQL Command Syntax

Testing and Verifying your MySQL Backup Strategy

Guide to the Superbase. ODBC Driver. By Superbase Developers plc

CSC 443 Data Base Management Systems. Basic SQL

Databases and SQL. The Bioinformatics Lab SS Wiki topic 10. Tikira Temu. 04. June 2013

SQL: joins. Practices. Recap: the SQL Select Command. Recap: Tables for Plug-in Cars

Full Text Search in MySQL 5.1 New Features and HowTo

A Brief Introduction to MySQL

DDL is short name of Data Definition Language, which deals with database schemas and descriptions, of how the data should reside in the database.

Information Systems SQL. Nikolaj Popov

Oracle Database 10g Express

MapInfo SpatialWare Version 4.6 for Microsoft SQL Server

A basic create statement for a simple student table would look like the following.

B.1 Database Design and Definition

MySQL Backups: From strategy to Implementation

FileMaker 13. SQL Reference

Database Security. Principle of Least Privilege. DBMS Security. IT420: Database Management and Organization. Database Security.

SQL Server An Overview

Extracting META information from Interbase/Firebird SQL (INFORMATION_SCHEMA)

Mini User's Guide for SQL*Plus T. J. Teorey

A Framework For Rapid Development Of OLTP Information Systems: Transformation Of SQL Statements To Three-Tier Web Applications

How, What, and Where of Data Warehouses for MySQL

SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

LAMP Quickstart for Red Hat Enterprise Linux 4

The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala , as well as the version history.

Firebird. Embedded SQL Guide for RM/Cobol

2. Oracle SQL*PLUS Winter Some SQL Commands. To connect to a CS server, do:

Best Practices in SQL Programming. Madhivanan

IT360: Applied Database Systems. Database Security. Kroenke: Ch 9, pg PHP and MySQL: Ch 9, pg

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

4 Logical Design : RDM Schema Definition with SQL / DDL

MySQL Storage Engines

MySQL. Pocket Reference

Oracle Database 10g: Introduction to SQL

Siemens Teamcenter Oracle -to-sql Server 2008 Migration Guide

CROSS REFERENCE. Cross Reference Index Cast ID Number Connector ID Number 111 Engine ID Number Ford Motor Company 109

ULTEO OPEN VIRTUAL DESKTOP V4.0

Introduction to SQL and database objects

Database access for illiterate programmers. K.B.Swiatlowski

SQL - STRING FUNCTIONS

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Erste Schritte mit mysql. Der Umgang mit einer relationalen Datenbank

Percona Server features for OpenStack and Trove Ops

TimesTen Auditing Using ttaudit.java

SQL. Short introduction

3.GETTING STARTED WITH ORACLE8i

SVN Authentication and Authorization

Retrieving Data Using the SQL SELECT Statement. Copyright 2006, Oracle. All rights reserved.

Language Reference Guide

Partitioning under the hood in MySQL 5.5

Bidirectional replication for InterBase and Firebird

Microsoft SQL Server to Infobright Database Migration Guide

Database Query 1: SQL Basics

Backup/Restore MySQL Server

Migrating from Sybase to SQL Server

Physical File. Collection or Schema

PostgreSQL Audit Extension User Guide Version 1.0beta. Open Source PostgreSQL Audit Logging

Boats bid bname color 101 Interlake blue 102 Interlake red 103 Clipper green 104 Marine red. Figure 1: Instances of Sailors, Boats and Reserves

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

Structured Query Language (SQL)

Netezza SQL Class Outline

Using the SQL Procedure

PassMark Software BurnInTest Management Console. Quick start guide

ODBC Client Driver Help Kepware, Inc.

CSI 2132 Lab 3. Outline 09/02/2012. More on SQL. Destroying and Altering Relations. Exercise: DROP TABLE ALTER TABLE SELECT

6 CHAPTER. Relational Database Management Systems and SQL Chapter Objectives In this chapter you will learn the following:

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

ERserver. DB2 Universal Database for iseries SQL Programming with Host Languages. iseries. Version 5

Visa Smart Debit/Credit Certificate Authority Public Keys

Create a Database Driven Application

Acceptance Page 2. Revision History 3. Introduction 14. Control Categories 15. Scope 15. General Requirements 15

Refresh Web Query Synonym

Victims Compensation Claim Status of All Pending Claims and Claims Decided Within the Last Three Years

CSCI110 Exercise 4: Database - MySQL

Introduction to the Oracle DBMS

Distributed Database Guide Version: 00.01

Structured Query Language. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics

Transcription:

"#$ " & '() '*( ) 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 "&LT"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