Vous êtes sur la page 1sur 66

MySQL

http://itwadi.com


http://linuxac.org


: 3..................................................................................................SQL
3.................................................................................................... Database
3..................................................................................................................... SQL

MySQL 4....................................................................................................
MySQL 5...........................................................................................Debian Gnu/Linux
6...............................................................................................................MySQL

9...............................................................................................................Tables
Tables 9............................................................................................

12..........................................................................................................Tables

14..................................................................................................Tables
17....................................................................................................
= " " =! " "17........................................................
> " " < " " 18.........................................................
=> " " =< " "19..............................

19.....................................................................................................Pattern Matching Operators


24............................................................................................Logical Operators
In 27............................................................................................................... Between

43.......................................................................................... Aggregate Functions


)( min )(44....................................................................................................... max
)( sum )(45...................................................................................................... avg
)(49................................................................................................................. count

50......................................................................................................................... group by
54.......................................................................................................................... Having

55........................................................................................................... Select

MySQL 59.................................................................... Mathematical Functions


60........................................................................................................ mod(x,y) Function
61........................................................................................................... ABS(x) Function
62.......................................................................................................... SIGN(x) Function
63.................................................................................................... POWER(x,y) Function
63......................................................................................................... SQRT(x) Function
64.............................................................................. ROUND(x) and ROUND(x,y) Function
65......................................................................................................... FLoor(x) Function
65.................................................................................................... CEILING(x) Function
) )66................................................................... Trignometic Function ( Tan(x) , Cos(x) , Sin(x

) (Records 67........................................................................ Update


][2

itwadi.com

: SQL

Database Management System


Database :

Database

.

. Database Management System
!!

SQL
SQL MySQL SQL
SQL :

][3

itwadi.com

SQL Structured Query Language


RDBMS Relational Database Management

. System SQL
.

SQL
ANSI American National Institute
.

SQL MySQL mSQL PostgresSQL

Oracle Microsoft SQL Server Access Sybase .

SQL ANSI SQL

RDBMS RDBMS

MySQL

MySQL AB . SUN MicroSystems

RDBMS Relational Database Management System

Tables Relational

MySQL
:
-1 .
-2 .

][4

itwadi.com

MySQL Unix Unix-Like


.

: MySQL Enterprise Edition .





!!


....
MySQL

Sun
MySQL !

MySQL Debian Gnu/Linux


MySQL Debian Gnu/Linux :
debian:~#aptgetinstallmysqlserver

mysql-client mysql-server

debian:~#aptgetinstallmysqlclient

:
.
mysql-server mysql-client

][5

itwadi.com

root :
'debian:~#mysqladminurootpassword'any_password

MySQL mysql-server
mysql-client mysql-server

SQL . SQL

MySQL mysql-server mysql

mysql-client client
MySQL SQL .

:
debian:~#mysqlurootp
Enterpassword:

Enter

WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis7
Serverversion:5.0.32Debian_7etch1logDebianetchdistribution
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
>mysql

MySQL
mysql

MySQL MySQL :

;mysql>showdatabases
++
||Database
++
||information_schema
||mysql
||ser
++

][6

itwadi.com

)3rowsinset(0.00sec

MySQL

linux_ac mysql :

;mysql>createdatabaselinux_ac
QueryOK,1rowaffected(0.00sec)

:
;mysql>showdatabases
++
||Database
++
||information_schema
||linux_ac
||mysql
||ser
++
)4rowsinset(0.00sec

linux_ac ; semi-colon

linux_ac root


root linux_ac
muhammad grant :
mysql>grantallonlinux_ac.*tomuhammad@localhostidentifiedby
;''solaris
)QueryOK,0rowsaffected(0.05sec

muhammad localhost

linux_ac solaris

][7

itwadi.com

mysql :
mysql>\q
Bye

quit :
mysql>quit
Bye

mysql muhammad

debian:~#mysqlumuhammadp
Enterpassword:

muhammad solaris
MySQL linux_ac :
WelcometotheMySQLmonitor.Commandsendwith;or\g.
YourMySQLconnectionidis14
Serverversion:5.0.32Debian_7etch1logDebianetchdistribution
Type'help;'or'\h'forhelp.Type'\c'toclearthebuffer.
>mysql

muhammad linux_ac


: mysql

;mysql>useser
ERROR1044(42000):Accessdeniedforuser'muhammad'@'localhost'to
'database'ser

use mysql ser

muhammad ser

][8

itwadi.com

linux_ac use :
;mysql>uselinux_ac
Databasechanged

linux_ac
. muhammad

Tables
create database
Tables

Tables
Table rows columns
data type

records :

++++
|f_name|l_name|age|
++++
|ahmad|hassan|28|
|amr|muhsen|32|
|sayed|muhammad|32|
|Mustafa|Karim|27|
|sherif|shahin|26|
|Youssef|ahmad|27|
|Shahida|Ali|32|
|Marriam|Mahmoud|36|

f_name
l_name age

records

SQL .

][9

itwadi.com

linux_ac

: mysql

;mysql>uselinux_ac
Databasechanged
mysql>createtablemembers_data
(>
>mem_idintunsignednotnullauto_incrementprimarykey,
>f_namevarchar(20),
>l_namevarchar(20),
>ageint,
)>emailvarchar(60
;)>
)QueryOK,0rowsaffected(0.08sec

: MySQL not

case-sensitive create CREATE Create



Debian Gnu/Linux .

: create table create table
create table members_data
.

Enter Enter
mem_id id

integer int mem_id


mem_id attribute unsigned

) (Positive Integer not null mem_id

auto_increment

MySQL mem_id

] [ 10

itwadi.com

primary key
.
primary key

mem_id primary key

mem_id MySQL

PRIMARY KEY primary key


:

f_name l_name

mem_id primary key

. mem_id

f_name

varchar variable character

20

l_name varchar
20 age
int integer email

varchar 60

; . semi-colon

: , colon ; semi-colon
MySQL Enter .
Enter ; semi-colon

mysql
Enter > - semi-colon
.

linux_ac

linux_ac :

mysql>showtables;

] [ 11

itwadi.com

++
|Tables_in_linux_ac|
++
|members_data|
++
)1rowinset(0.00sec

linux_ac

describe :

mysql>describemembers_data;
+++++++
|Field|Type|Null|Key|Default|Extra|
+++++++
|mem_id|int(10)unsigned|NO|PRI|NULL|auto_increment|
|f_name|varchar(20)|YES||NULL||
|l_name|varchar(20)|YES||NULL||
|age|int(11)|YES||NULL||
|email|varchar(60)|YES||NULL||
+++++++
)5rowsinset(0.02sec

describe members_data

Tables
MySQL :
)INSERTintotable_name(column1,column2....
;)values(value1,value2...

table_name
....
value1 ... value2
:
mysql>insertintomembers_data(f_name,l_name,age,email)values

] [ 12

itwadi.com

;)"("muhammad","ahmad",23,"wxyz@gmail.com
)QueryOK,1rowaffected(0.06sec

:
: insert into . members_data
: f_name l_name email " " double

quotes .

: age " " ).(INTEGER


: mem_id insert
MySQL id
.

insert

100

members.dat

insert
insert :
debian:~#mysqllinux_ac<members.daturootp
Enterpassword:

members.dat Enter

linux_ac

root

linux_ac :

mysql>select*frommembers_data;
++++++
|mem_id|f_name|l_name|age|email|
++++++
|1|muhammad|ahmad|23|wxyz@gmail.com|
|2|ahmad|ameen|48|ahmad@gmail.com|

] [ 13

itwadi.com

|3|ahmad|youssef|32|a_youssef@bignet.com|
|4|muhammad|ismael|32|m_ismael@bignet.com|
|5|sherif|shahin|32|s_shahin@bignet.com|
|6|sherif|faroo2|32|s_faroo2@bignet.com|
|7|muhammad|mahfouz|32|m_mahfouz@bignet.com|
|8|sarah|mahmoud|32|s_mahmoud@bignet.com|
|9|marwa|hassan|32|m_hassan@bignet.com|
|10|muhammad|wadood|32|m_wadood@bignet.com|
|11|muhammad|antary|32|m_antary@bignet.com|
|12|safwat|hegazy|32|s_hegazy@bignet.com|
|13|ahmad|antar|32|a_antar@bignet.com|
|14|kamel|ahmad|32|k_ahmad@bignet.com|
|15|muhammad|kamal|32|m_kamal@bignet.com|
|16|muhammad|taha|32|m_taha@bignet.com|
++++++
16rowsinset(0.00sec)

members.dat .

Tables
members_data

select
select :
;]SELECTcolumn_namesfromtable_name[WHERE...conditions

select

] [WHERE ...conditions

members_data
:

mysql>selectf_name,l_namefrommembers_data;
+++
|f_name|l_name|

] [ 14

itwadi.com

+++
|muhammad|ahmad|
|ahmad|ameen|
|ahmad|youssef|
|muhammad|ismael|
|sherif|shahin|
|sherif|faroo2|
|muhammad|mahfouz|
|sarah|mahmoud|
|marwa|hassan|
|muhammad|wadood|
|muhammad|antary|
|safwat|hegazy|
|ahmad|antar|
|kamel|ahmad|
|muhammad|kamal|
|muhammad|taha|
+++
16rowsinset(0.00sec)

; colon
. mysql prompt semi-colon
select

mysql>selectagefrommembers_data;
++
|age|
++
|32|
|30|
|38|
|27|
|29|
|39|
|45|
|42|
|24|
|36|
|22|
|17|
|53|
|18|
++

itwadi.com

[ 15 ]

)14rowsinset(0.00sec

!!
*
:
mysql>select*frommembers_data;
++++++
|mem_id|f_name|l_name|age|email|
++++++
|3|ahmad|youssef|32|a_youssef@bignet.com|
|4|muhammad|ismael|30|m_ismael@bignet.com|
|5|sherif|shahin|38|s_shahin@bignet.com|
|6|sherif|faroo2|27|s_faroo2@bignet.com|
|7|muhammad|mahfouz|29|m_mahfouz@bignet.com|
|8|sarah|mahmoud|39|s_mahmoud@bignet.com|
|9|marwa|hassan|45|m_hassan@bignet.com|
|10|muhammad|wadood|42|m_wadood@bignet.com|
|11|muhammad|antary|24|m_antary@bignet.com|
|12|safwat|hegazy|36|s_hegazy@bignet.com|
|13|ahmad|antar|22|a_antar@bignet.com|
|14|kamel|ahmad|17|k_ahmad@bignet.com|
|15|muhammad|kamal|53|m_kamal@bignet.com|
|16|muhammad|taha|18|m_taha@bignet.com|
++++++
)16rowsinset(0.00sec

mem_id
. insert

select select where


select

;]SELECTcolumn_namesfromtable_name[WHERE...conditions

] [WHERE ...conditions

] [ 16

itwadi.com

RDBMS
:

= " " =! " "


:
mysql>selectf_name,l_namefrommembers_data
>wheref_name='muhammad';
+++
|f_name|l_name|
+++
|muhammad|ismael|
|muhammad|mahfouz|
|muhammad|wadood|
|muhammad|antary|
|muhammad|kamal|
|muhammad|taha|
+++
6rowsinset(0.03sec)

select members_data
muhammad .

: select muhammad
single quotes double quotes single quotes
varchar quotes single . double
:
mysql>selectf_name,l_namefrommembers_data
>whereage=32;
+++
|f_name|l_name|
+++
|ahmad|youssef|
+++
)1rowinset(0.00sec

] [ 17

itwadi.com


=! " " .

> " " < " "


" " > " " <
.

members_data linux_ac
32 :
mysql>selectf_name,l_name,agefrommembers_data
>whereage>32;
++++
|f_name|l_name|age|
++++
|sherif|shahin|38|
|sarah|mahmoud|39|
|marwa|hassan|45|
|muhammad|wadood|42|
|safwat|hegazy|36|
|muhammad|kamal|53|
++++
6rowsinset(0.00sec)

" " < .

=> " " =< " "


" " = " " =!
" " > " " <

" "
32
select 32

=> " "

] [ 18

itwadi.com

=> :
mysql>selectf_name,l_name,agefrommembers_data
>whereage>=32;
++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|sherif|shahin|38|
|sarah|mahmoud|39|
|marwa|hassan|45|
|muhammad|wadood|42|
|safwat|hegazy|36|
|muhammad|kamal|53|
++++
)7rowsinset(0.01sec

ahmad 32

=< " " .

Pattern Matching Operators


Comparison Operators = =! > <
Pattern Matching

Pattern Matching

Pattern Matching where Pattern Matching

Comparison Operators Where like like

operator = .
" Operator " =
" "muhammad
""muhammad :

'wheref_name='muhammad

" Operator" =
) ( sherif

] [ 19

itwadi.com

f_name

l_name

sherif :

mysql>selectf_name,l_namefrommembers_data
>wheref_name='sherif';
+++
|f_name|l_name|
+++
|sherif|shahin|
|sherif|faroo2|
+++
)2rowsinset(0.03sec


20 .

:P " "
Operator
like Operator = .
like =
" "m
Operator =

;'mysql>selectf_name,l_namefrommembers_datawheref_name='m
)Emptyset(0.00sec


" " m
! .

] [ 20

itwadi.com

Pattern Matching :
mysql>selectf_name,l_namefrommembers_data
>wheref_namelike'm%';
+++
|f_name|l_name|
+++
|muhammad|ismael|
|muhammad|mahfouz|
|marwa|hassan|
|muhammad|wadood|
|muhammad|antary|
|muhammad|kamal|
|muhammad|taha|
+++
)7rowsinset(0.00sec

Pattern Matching

" " m Operator like percentage sign " " %


* asterisk unix . unix-like

: " " % " * "


unix unix-like * MySQL " " All Columns
" * " Gnu/linux " * " . MySQL
) (
" " s :
mysql>selectf_name,l_namefrommembers_data
>wheref_namelike's%';
+++
|f_name|l_name|
+++
|sherif|shahin|
|sherif|faroo2|
|sarah|mahmoud|
|safwat|hegazy|
+++
)4rowsinset(0.00sec

] [ 21

itwadi.com


wheref_name='sherif';

wheref_name='sarah';

like

d ) (
:

mysql>selectf_name,l_namefrommembers_data
>wheref_namelike'%d';
+++
|f_name|l_name|
+++
|ahmad|youssef|
|muhammad|ismael|
|muhammad|mahfouz|
|muhammad|wadood|
|muhammad|antary|
|ahmad|antar|
|muhammad|kamal|
|muhammad|taha|
+++
8rowsinset(0.00sec)

: %
mysql>selectf_name,l_namefrommembers_data
>wheref_namelike'%h%';
+++
|f_name|l_name|
+++
|ahmad|youssef|
|muhammad|ismael|
|sherif|shahin|
|sherif|faroo2|
|muhammad|mahfouz|
|sarah|mahmoud|
|muhammad|wadood|
|muhammad|antary|
|ahmad|antar|

itwadi.com

[ 22 ]

|muhammad|kamal|
|muhammad|taha|
+++
)11rowsinset(0.00sec

like ) (

mysql>selectf_name,l_name,agefrommembers_data
>whereagelike'%3%';
++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|muhammad|ismael|30|
|sherif|shahin|38|
|sarah|mahmoud|39|
|safwat|hegazy|36|
|muhammad|kamal|53|
++++
)6rowsinset(0.00sec

Logical Operators
Logical Operators

select :

1and
2or
3not

) (

" " m 32 .
: ......

mysql>selectf_name,l_name,agefrommembers_data
>wheref_namelike'm%'andage>20;
++++

] [ 23

itwadi.com

|f_name|l_name|age|
++++
|muhammad|ismael|30|
|muhammad|mahfouz|29|
|marwa|hassan|45|
|muhammad|wadood|42|
|muhammad|antary|24|
|muhammad|kamal|53|
++++
6rowsinset(0.00sec)

) (

: 30 20

mysql>selectf_name,l_name,agefrommembers_data
>whereage>20andage<30;
++++
|f_name|l_name|age|
++++
|sherif|faroo2|27|
|muhammad|mahfouz|29|
|muhammad|antary|24|
|ahmad|antar|22|
++++
4rowsinset(0.00sec)

and
or

) (
: 20 " a "

mysql>selectf_name,l_name,agefrommembers_data
>wherel_namelike'%a'orage>20;
++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|muhammad|ismael|30|
|sherif|shahin|38|
|sherif|faroo2|27|
|muhammad|mahfouz|29|
|sarah|mahmoud|39|
|marwa|hassan|45|

itwadi.com

[ 24 ]

|muhammad|wadood|42|
|muhammad|antary|24|
|safwat|hegazy|36|
|ahmad|antar|22|
|muhammad|kamal|53|
|muhammad|taha|18|
++++
13rowsinset(0.00sec)

.
: ) (

" " m " " a 25


select
:

: m a Operator like

percentage sign % . or

: 25 Comparison Operator
>.
:
mysql>selectf_name,l_name,agefrommembers_data
>where(l_namelike'm%'or'a%')andage>25;
++++
|f_name|l_name|age|
++++
|muhammad|mahfouz|29|
|sarah|mahmoud|39|
++++
2rowsinset,1warning(0.00sec)

or and where

where
.

] [ 25

itwadi.com

not )
( : m
mysql>selectf_name,l_name,agefrommembers_data
>wherel_namenotlike'm%';
++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|muhammad|ismael|30|
|sherif|shahin|38|
|sherif|faroo2|27|
|marwa|hassan|45|
|muhammad|wadood|42|
|muhammad|antary|24|
|safwat|hegazy|36|
|ahmad|antar|22|
|kamel|ahmad|17|
|muhammad|kamal|53|
|muhammad|taha|18|
++++
12rowsinset(0.00sec)

In Between
Logical Operators
)

( ahmad taha :

mysql>selectf_name,l_name,agefrommembers_data
>wherel_name='ahmad'or
>l_name='taha';
++++
|f_name|l_name|age|
++++
|kamel|ahmad|17|
|muhammad|taha|18|
++++
2rowsinset(0.00sec)

IN Operator :

] [ 26

itwadi.com

mysql>selectf_name,l_name,agefrommembers_data
>wherel_namein('ahmad','taha');

++++
|f_name|l_name|age|
++++
|kamel|ahmad|17|
|muhammad|taha|18|
++++
2rowsinset(0.00sec)

In or

ahmad youssef mahmoud kamal

! Ors .

not In

mysql>selectf_name,l_name,agefrommembers_data
>wherel_namenotin('ahmad','taha');

++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|muhammad|ismael|30|
|sherif|shahin|38|
|sherif|faroo2|27|
|muhammad|mahfouz|29|
|sarah|mahmoud|39|
|marwa|hassan|45|
|muhammad|wadood|42|
|muhammad|antary|24|
|safwat|hegazy|36|
|ahmad|antar|22|
|muhammad|kamal|53|
++++
12rowsinset(0.00sec)

ahmad . taha
between

) ( 20 25 :

] [ 27

itwadi.com

mysql>selectf_name,l_name,agefrommembers_data
>whereagebetween20and25;
++++
|f_name|l_name|age|
++++
|muhammad|antary|24|
|ahmad|antar|22|
++++
2rowsinset(0.00sec)

between not

: 25 20

mysql>selectf_name,l_name,agefrommembers_data
>whereagenotbetween20and25;
++++
|f_name|l_name|age|
++++
|ahmad|youssef|32|
|muhammad|ismael|30|
|sherif|shahin|38|
|sherif|faroo2|27|
|muhammad|mahfouz|29|
|sarah|mahmoud|39|
|marwa|hassan|45|
|muhammad|wadood|42|
|safwat|hegazy|36|
|kamel|ahmad|17|
|muhammad|kamal|53|
|muhammad|taha|18|
++++
12rowsinset(0.00sec)

itwadi.com

[ 28 ]

order by
MySQL

.

.
] [Where ......Conditions

age
.

where order

by .

members_data linux_ac

Select order by

:
mysql>selectf_name,l_namefrommembers_data
>orderbyf_name;
+++
|f_name|l_name|
+++
|ahmad|youssef|
|ahmad|antar|
|kamel|ahmad|

] [ 29

itwadi.com

|marwa|hassan|
|muhammad|taha|
|muhammad|kamal|
|muhammad|antary|
|muhammad|wadood|
|muhammad|mahfouz|
|muhammad|ismael|
|muhammad|nagib|
|safwat|hegazy|
|sarah|mahmoud|
|sherif|faroo2|
|sherif|shahin|
+++
15rowsinset(0.00sec)

select !
: select

order by where

b . z

order by


order by

a .....
:

order by
) (Strings ) (Integers

a b ....... c . z
: linux_ac
members_data

] [ 30

itwadi.com

mysql>selectf_name,l_namefrommembers_data
>orderbyl_name;
+++
|f_name|l_name|
+++
|kamel|ahmad|
|ahmad|antar|
|muhammad|antary|
|sherif|faroo2|
|marwa|hassan|
|safwat|hegazy|
|muhammad|ismael|
|muhammad|kamal|
|muhammad|mahfouz|
|sarah|mahmoud|
|muhammad|nagib|
|sherif|shahin|
|muhammad|taha|
|muhammad|wadood|
|ahmad|youssef|
+++
15rowsinset(0.00sec)

l_name


: select f_name l_name
mysql>selectl_name,f_namefrommembers_data
>orderbyl_name;
+++
|l_name|f_name|
+++
|ahmad|kamel|
|antar|ahmad|
|antary|muhammad|
|faroo2|sherif|
|hassan|marwa|
|hegazy|safwat|
|ismael|muhammad|
|kamal|muhammad|
|mahfouz|muhammad|
|mahmoud|sarah|
|nagib|muhammad|
|shahin|sherif|

itwadi.com

[ 31 ]

|taha|muhammad|
|wadood|muhammad|
|youssef|ahmad|
+++
15rowsinset(0.00sec)

mysql>selectf_name,l_name,age
>frommembers_dataorderbyage;
++++
|f_name|l_name|age|
++++
|muhammad|nagib|16|
|kamel|ahmad|17|
|muhammad|taha|18|
|ahmad|antar|22|
|muhammad|antary|24|
|sherif|faroo2|27|
|muhammad|mahfouz|29|
|muhammad|ismael|30|
|ahmad|youssef|32|
|safwat|hegazy|36|
|sherif|shahin|38|
|sarah|mahmoud|39|
|muhammad|wadood|42|
|marwa|hassan|45|
|muhammad|kamal|53|
++++
15rowsinset(0.00sec)

) (

descending order by

] [ 32

itwadi.com


: mysql
mysql>selectf_name,l_name,age
>frommembers_dataorderbyageDESC;
++++
|f_name|l_name|age|
++++
|muhammad|kamal|53|
|marwa|hassan|45|
|muhammad|wadood|42|
|sarah|mahmoud|39|
|sherif|shahin|38|
|safwat|hegazy|36|
|ahmad|youssef|32|
|muhammad|ismael|30|
|muhammad|mahfouz|29|
|sherif|faroo2|27|
|muhammad|antary|24|
|ahmad|antar|22|
|muhammad|taha|18|
|kamel|ahmad|17|
|muhammad|nagib|16|
++++
15rowsinset(0.00sec)

DESC

DESC

: a z

mysql>selectf_name,l_namefrommembers_data
>orderbyf_nameDESC;

+++
|f_name|l_name|
+++
|sherif|shahin|
|sherif|faroo2|
|sarah|mahmoud|
|safwat|hegazy|
|muhammad|nagib|
|muhammad|taha|
|muhammad|kamal|

itwadi.com

[ 33 ]

|muhammad|antary|
|muhammad|wadood|
|muhammad|mahfouz|
|muhammad|ismael|
|marwa|hassan|
|kamel|ahmad|
|ahmad|antar|
|ahmad|youssef|
+++
15rowsinset(0.00sec)

: order by
asc :
orderbyf_nameASC;

order by
select

order by
limit .

:
) ( :members_data
mysql>selectf_name,l_name
>frommembers_datalimit5;
+++
|f_name|l_name|
+++
|ahmad|youssef|
|muhammad|ismael|
|sherif|shahin|
|sherif|faroo2|
|muhammad|mahfouz|
+++
5rowsinset(0.00sec)

] [ 34

itwadi.com

order by limit limit


: select
mysql>selectf_name,l_name,age
>frommembers_dataorderbyagelimit4;
++++
|f_name|l_name|age|
++++
|muhammad|nagib|16|
|kamel|ahmad|17|
|muhammad|taha|18|
|ahmad|antar|22|
++++
4rowsinset(0.00sec)

order by limit

limit

: limit

mysql>select*frommembers_data;
++++++
|mem_id|f_name|l_name|age|email|
++++++
|1|ahmad|youssef|32|a_youssef@bignet.com|
|2|muhammad|ismael|30|m_ismael@bignet.com|
|3|sherif|shahin|38|s_shahin@bignet.com|
|4|sherif|faroo2|27|s_faroo2@bignet.com|
|5|muhammad|mahfouz|29|m_mahfouz@bignet.com|
|6|sarah|mahmoud|39|s_mahmoud@bignet.com|
|7|marwa|hassan|45|m_hassan@bignet.com|
|8|muhammad|wadood|42|m_wadood@bignet.com|
|9|muhammad|antary|24|m_antary@bignet.com|
|10|safwat|hegazy|36|s_hegazy@bignet.com|
|11|ahmad|antar|22|a_antar@bignet.com|
|12|kamel|ahmad|17|k_ahmad@bignet.com|
|13|muhammad|kamal|53|m_kamal@bignet.com|
|14|muhammad|taha|18|m_taha@bignet.com|
|15|muhammad|nagib|16|m_nagib|
++++++

itwadi.com

[ 35 ]

15rowsinset(0.00sec)

limit

mysql>selectmem_id,f_name,l_name
>frommembers_datalimit6,4;
++++
|mem_id|f_name|l_name|
++++
|7|marwa|hassan|
|8|muhammad|wadood|
|9|muhammad|antary|
|10|safwat|hegazy|
++++
4rowsinset(0.00sec)

6 4

: 6
7

4
. 5

select
f_name

distinct

distinct :

f_name :

mysql>selectf_namefrommembers_data;
++

] [ 36

itwadi.com

|f_name|
++
|ahmad|
|muhammad|
|sherif|
|sherif|
|muhammad|
|sarah|
|marwa|
|muhammad|
|muhammad|
|safwat|
|ahmad|
|kamel|
|muhammad|
|muhammad|
|muhammad|
++
15rowsinset(0.00sec)

mysql>selectdistinctf_namefrommembers_data;
++
|f_name|
++
|ahmad|
|muhammad|
|sherif|
|sarah|
|marwa|
|safwat|
|kamel|
++
7rowsinset(0.00sec)


: select

mysql>selectdistinctagefrom
>members_dataorderbyage;
++

itwadi.com

[ 37 ]

|age|
++
|16|
|17|
|18|
|24|
|29|
|30|
|32|
|36|
|38|
|39|
|42|
|45|
|53|
++
15rowsinset(0.00sec)

order by .

MySQL
MySQL


MySQL :
* Aggregate Functions
* HAVING

* Select
* MySQL Mathematical Functions
* ) (Records Update

) (linuxsoft
/

] [ 38

itwadi.com


:
:
employees .

: employees employee_data employee_detail


.

: .
: :

* emp_id employee
. identifier
* f_name . first name
* l_name . last name
* . title

* . age

* yos years of
. service
* . salary
* . perks

. email
employee_data
:
1emp_id(datatype=integer)
2f_name(datatype=varchar(25))
3l_name(datatype=varchar(25))
4title(datatype=varchar(50))
5age(datatype=integer)
6yos(datatype=integer)
7salary(datatype=integer)

] [ 39

itwadi.com

8perks(datatype=integer)
9email(datatype=varchar(60))

employee_data

) (strings

) (integers

employees :

mysql>createdatabaseemployees;
QueryOK,1rowaffected(0.02sec)

show databases :
mysql>showdatabases;
++
|Database|
++
|information_schema|
|employees|
|linux_ac|
|mysql|
|ser|
++
5rowsinset(0.00sec)

create table
employee_data
:

mysql>CREATETABLEemployee_data
>(
>emp_idintunsignednotnullauto_incrementprimarykey,
>f_namevarchar(20),
>l_namevarchar(20),
>titlevarchar(30),
>ageint,
>yosint,
>salaryint,
>perksint,

] [ 40

itwadi.com

>emailvarchar(60)
>);
QueryOK,0rowsaffected(0.13sec)

create table
: describe

mysql>describeemployee_data;
+++++++
|Field|Type|Null|Key|Default|Extra|
+++++++
|emp_id|int(10)unsigned|NO|PRI|NULL|auto_increment|
|f_name|varchar(20)|YES||NULL||
|l_name|varchar(20)|YES||NULL||
|title|varchar(30)|YES||NULL||
|age|int(11)|YES||NULL||
|yos|int(11)|YES||NULL||
|salary|int(11)|YES||NULL||
|perks|int(11)|YES||NULL||
|email|varchar(60)|YES||NULL||
+++++++
9rowsinset(0.00sec)

empolyee_data
insert into

insert into :

http://muhammad.akl.googlepages.com/employee.dat

employee.dat
:
debian:~#mysqlemployees<employee.daturootp
Enterpassword:

root MySQL
.

] [ 41

itwadi.com

Aggregate Functions
MySQL

.
:

MySQLprovides5aggregatefunctions.Theyare:
1).MIN($column_name):Minimumvalue
2).MAX($column_name):Maximumvalue
3).SUM($column_name):Thesumofvalues
4).AVG($column_name):Theaveragevalues
5).COUNT():Countsthenumberofentries.

)( min )( max )( sum


)( avg )( count

.

)( min )(max
: select

: )( min
salary :
mysql>selectmin(salary)
>fromemployee_data;
++
|min(salary)|
++
|70000|
++

] [ 42

itwadi.com

1rowinset(0.00sec)

)( min )(

max :

mysql>selectmax(salary)
>fromemployee_data;
++
|max(salary)|
++
|120000|
++
1rowinset(0.01sec)

:
)( min )( max
.

: age
. perks

)( sum )(avg
)( sum )( avg )( sum

)( avg .
:

:
mysql>selectsum(salary)
>fromemployee_data;
++
|sum(salary)|
++
|1797000|

] [ 43

itwadi.com

++
1rowinset(0.00sec)

)( sum

mysql>selectsum(salary)+sum(perks)
>fromemployee_data;
++
|sum(salary)+sum(perks)|
++
|2137000|
++
1rowinset(0.03sec)

!
:
/ . - * .

- - .

:
perks salary

:
mysql>select(sum(perks)/sum(salary)*100)
>fromemployee_data;
++
|(sum(perks)/sum(salary)*100)|
++
|18.9204|
++
1rowinset(0.00sec)

] [ 44

itwadi.com

:
mysql>selectavg(salary)
>fromemployee_data;
++
|avg(salary)|
++
|89850.0000|
++
1rowinset(0.00sec)

)( avg .
)( count
!

f_name first name

mysql>selectf_name
>fromemployee_data;
++
|f_name|
++
|Sherif|
|Muhammad|
|Ahmad|
.
.
.
.
.
|Shahida|
|Abdullah|
++

] [ 45

itwadi.com

20rowsinset(0.03sec)

f_name

first name
f_name .

as " "

f_name " : " first name

mysql>selectf_nameas'firstname'
>fromemployee_data;
++
|firstname|
++
|Sherif|
|Muhammad|
|Ahmad|
|Muhammad|
.
.
.
.
.
|Youssef|
|Shahida|
|Abdullah|
++
20rowsinset(0.05sec)

f_name
as .

as aggregate functions
as
perks salary

] [ 46

itwadi.com

:
mysql>select(sum(perks)/sum(salary)*100)
>as"perks'spercentage"fromemployee_data;
++
|perks'spercentage|
++
|18.9204|
++
1rowinset,1warning(0.00sec)

:
Average Salary
mysql>selectavg(salary)
>as'AverageSalary'
>fromemployee_data;
++
|AverageSalary|
++
|89850.0000|
++
1rowinset(0.00sec)

count()
count()

employee_data

mysql>selectcount(*)
>fromemployee_data;
++
|count(*)|
++
|20|
++
1rowinset(0.02sec)

itwadi.com

[ 47 ]

: * MySQL " . " All Data


)( count where
" "programmer

mysql>selectcount(*)
>as"numberofprogrammer"
>fromemployee_data
>wheretitle='programmer';
++
|numberofprogrammer|
++
|4|
++
1rowinset(0.00sec)

as )( count where .

group by
)( count

where

group by group

mysql>selecttitle
>fromemployee_data
>groupbytitle;
++
|title|
++
|CustomerServiceManager|
|FinanceManager|
|MarketingExecutive|
|MultimediaProgrammer|
|Programmer|

] [ 48

itwadi.com

|SeniorMarketingExecutive|
|SeniorProgrammer|
|SeniorWebDesigner|
|SystemAdministrator|
|WebDesigner|
++
10rowsinset(0.00sec)

group
Web Designer

group by
group by )( count

! group by !! distinct
group by
distinct distinct )(count

group by

: :
mysql>selecttitle,count(*)
>fromemployee_data
>groupbytitle;
+++
|title|count(*)|
+++
|CustomerServiceManager|1|
|FinanceManager|1|
|MarketingExecutive|3|
|MultimediaProgrammer|3|
|Programmer|4|
|SeniorMarketingExecutive|1|
|SeniorProgrammer|2|
|SeniorWebDesigner|1|
|SystemAdministrator|2|
|WebDesigner|2|
+++
10rowsinset(0.00sec)

] [ 49

itwadi.com


.
" "programmer
mysql>selecttitle,count(*)
>fromemployee_data
>wheretitle='programmer'
>groupbytitle;
+++
|title|count(*)|
+++
|Programmer|4|
+++
1rowinset(0.00sec)

Web Designer Number of Web


Designers

mysql>selecttitle,count(*)
>as"NumberofWebDesigners"
>fromemployee_data
>wheretitle='WebDesigner'
>groupbytitle;
+++
|title|NumberofWebDesigners|
+++
|WebDesigner|2|
+++
1rowinset,1warning(0.00sec)

where group by order by

mysql>selecttitle,count(*)asNumber

] [ 50

itwadi.com

>fromemployee_data
>groupbytitle
>orderbyNumber;
+++
|title|Number|
+++
|SeniorMarketingExecutive|1|
|CustomerServiceManager|1|
|FinanceManager|1|
|SeniorWebDesigner|1|
|SeniorProgrammer|2|
|WebDesigner|2|
|SystemAdministrator|2|
|MarketingExecutive|3|
|MultimediaProgrammer|3|
|Programmer|4|
+++
10rowsinset(0.00sec)

:
: Number
mysql>selecttitle,count(*)
>fromemployee_data
>groupbytitle
>orderbycount(*);
+++
|title|count(*)|
+++
|SeniorMarketingExecutive|1|
|CustomerServiceManager|1|
|SeniorWebDesigner|1|
|FinanceManager|1|
|SeniorProgrammer|2|
|SystemAdministrator|2|
|WebDesigner|2|
|MarketingExecutive|3|
|MultimediaProgrammer|3|
|Programmer|4|
+++
10rowsinset(0.00sec)

itwadi.com

[ 51 ]

Having
Having
group by avg()

mysql>selecttitle,avg(salary)
>fromemployee_data
>groupbytitle;
+++
|title|avg(salary)|
+++
|CustomerServiceManager|70000.0000|
|FinanceManager|120000.0000|
|MarketingExecutive|77333.3333|
|MultimediaProgrammer|83333.3333|
|Programmer|75000.0000|
|SeniorMarketingExecutive|120000.0000|
|SeniorProgrammer|115000.0000|
|SeniorWebDesigner|110000.0000|
|SystemAdministrator|95000.0000|
|WebDesigner|87500.0000|
+++
10rowsinset(0.00sec)

mysql>selecttitle,avg(salary)asAverage
>fromemployee_data
>groupbytitle
>orderbyAverage;
+++
|title|Average|
+++
|CustomerServiceManager|70000.0000|
|Programmer|75000.0000|
|MarketingExecutive|77333.3333|
|MultimediaProgrammer|83333.3333|
|WebDesigner|87500.0000|
|SystemAdministrator|95000.0000|
|SeniorWebDesigner|110000.0000|

itwadi.com

[ 52 ]

|SeniorProgrammer|115000.0000|
|FinanceManager|120000.0000|
|SeniorMarketingExecutive|120000.0000|
+++
10rowsinset(0.00sec)

Having

100,000 $ :

mysql>selecttitle,avg(salary)
>fromemployee_data
>groupbytitle
>havingavg(salary)>100000;
+++
|title|avg(salary)|
+++
|FinanceManager|120000.0000|
|SeniorMarketingExecutive|120000.0000|
|SeniorProgrammer|115000.0000|
|SeniorWebDesigner|110000.0000|
+++
4rowsinset(0.00sec)

Comparison Operators

Select
select

Select select
SQL select .
Select

] [ 53

itwadi.com

print echo select


.
select

Select :

: 1 MySQL :
mysql>selectversion();
++
|version()|
++
|5.0.32Debian_7etch1log|
++
1rowinset(0.00sec)

: 2 :
mysql>selectnow();
++
|now()|
++
|2008021618:43:45|
++
1rowinset(0.00sec)

: 3 :
mysql>selectdayofmonth(current_date);
++
|dayofmonth(current_date)|
++
|16|
++
1rowinset(0.00sec)

] [ 54

itwadi.com

: : 4

mysql>selectmonth(current_date);
++
|month(current_date)|
++
|2|
++
1rowinset(0.00sec)

: : 5
mysql>selectyear(current_date);
++
|year(current_date)|
++
|2008|
++
1rowinset(0.01sec)

: : 6

mysql>select'iloveMySQLtoomuch!';
++
|iloveMySQLtoomuch!|
++
|iloveMySQLtoomuch!|
++
1rowinset(0.00sec)
mysql>select'ilovemysqltoomuch!'
>as"MySQL'sLover";
++
|MySQL'sLover|

itwadi.com

[ 55 ]

++
|ilovemysqltoomuch!|
++
1rowinset(0.00sec)

select .
:D ! :P
select !!
:P
:
: 1 5.2 7.8
mysql>select5.2*7.8;
++
|5.2*7.8|
++
|40.56|
++
1rowinset(0.00sec)

as :
mysql>select5.2*7.8
>as"ResultofMultiplication";
++
|ResultofMultiplication|
++
|40.56|
++
1rowinset(0.00sec)

: 2 120000000 1860
mysql>select120000000/1860
>as'ResultofDividing';

] [ 56

itwadi.com

++
|ResultofDividing|
++
|64516.1290|
++
1rowinset(0.24sec)

: 3 140 169 4589


mysql>select((140*169)+4589)
>as'Result';
++
|Result|
++
|28249|
++
1rowinset(0.00sec)

MySQL Second
. ! Calculator

MySQL Mathematical Functions


MySQL

Select Select

mod(x,y) Function
MySQL )( mod mod(x,y) Function
select

)( mod

] [ 57

itwadi.com

.
: 17 4 :
mysql>select17/4;
++
|17/4|
++
|4.2500|
++
1rowinset(0.00sec)

)( mod

mysql>selectmod(17,4);
++
|mod(17,4)|
++
|1|
++
1rowinset(0.00sec)

4 1

)( mod .

: )( mod x y

, . colon

ABS(x) Function
)( ABS ABS(x) Function x

] [ 58

itwadi.com

:
mysql>selectabs(4);
++
|abs(4)|
++
|4|
++
1rowinset(0.00sec)

)( ABS -4
4 .
)( ABS :
mysql>selectabs(4);
++
|abs(4)|
++
|4|
++
1rowinset(0.00sec)

SIGN(x) Function
)( Sign x :
Sign(x)display1whenxisnegative
sign(x)display1whenxispositive
sign(x)display0whenxiszerovalue

)( sign 1 x -1 x
0 x .

] [ 59

itwadi.com

mysql>selectsign(12);

++
|sign(12)|
++
|1|
++
1rowinset(0.03sec)
mysql>selectsign(100);
++
|sign(100)|
++
|1|
++
1rowinset(0.00sec)

mysql>selectsign(0);
++
|sign(0)|
++
|0|
++
1rowinset(0.00sec)

POWER(x,y) Function
)( power x y

x y :

: 2 3 : 8
mysql>selectpower(2,3);
++
|power(2,3)|
++
|8|
++

] [ 60

itwadi.com

1rowinset(0.00sec)

8
4 5 5 4

2 3 . colon

SQRT(x) Function
)( SQRT SQRT(x) Function x : 9
mysql>selectsqrt(9);
++
|sqrt(9)|
++
|3|
++
1rowinset(0.00sec)

9 3 9 .

ROUND(x) and ROUND(x,y) Function


)( Round Round(x) Function x

: 20.6 :
mysql>selectround(20.6);
++
|round(20.6)|
++
|21|
++
1rowinset(0.00sec)

)( round x

. y

] [ 61

itwadi.com

: 96.874698563 :
mysql>selectround(96.874698563,3);
++
|round(96.874698563,3)|
++
|96.875|
++
1rowinset(0.00sec)

mysql>selectround(12.7);
++
|round(12.7)|
++
|13|
++
1rowinset(0.11sec)

FLoor(x) Function
)( Floor Floor(x) Function x

x 20.2 x

20 :

mysql>selectfloor(20.2);
++
|floor(20.2)|
++
|20|
++
1rowinset(0.00sec)
mysql>selectfloor(3.2);
++
|floor(3.2)|
++
|4|
++

] [ 62

itwadi.com

1rowinset(0.00sec)

: -3
-4 -99 -100 .

CEILING(x) Function
)( ceiling Ceiling (x) Function x
x 30.1 x

31 :

mysql>selectceiling(30.1);
++
|ceiling(30.1)|
++
|31|
++
1rowinset(0.00sec)
mysql>selectceiling(99.5);
++
|ceiling(99.5)|
++
|99|
++
1rowinset(0.00sec)

) )Trignometic Function ( Tan(x) , Cos(x) , Sin(x


tan() :
30 )(: tan
mysql>selecttan(30);
++
|tan(30)|
++

] [ 63

itwadi.com

|6.4053311966463|
++
1rowinset(0.00sec)
mysql>selectcos(30);
++
|cos(30)|
++
|0.15425144988758|
++
1rowinset(0.00sec)
mysql>selectsin(30);
++
|sin(30)|
++
|0.98803162409286|
++
1rowinset(0.00sec)

radian . degrees

) (Records Update
MySQL :
:

Update

Update :

UPDATEtable_nameSET
column_name1=value1,
column_name2=value2,
column_name3=value3...
[WHEREconditions];

] [ 64

itwadi.com

column_name1 column_name2 column_name3


value1 value2 value3

where
.
Update
.
: salary perks

Sherif Shahin 150000 $ 50000 $

Sherif Shahin :
mysql>selectf_name,l_name,salary,perks
>fromemployee_data
>wheref_name='Sherif'andl_name='Shahin';
+++++
|f_name|l_name|salary|perks|
+++++
|Sherif|shahin|120000|25000|
+++++
1rowinset(0.00sec)

salary perks

150000 $ 50000 $ :

mysql>updateemployee_dataset
>salary=15000,
>perks=50000
>wheref_name='sherif'andl_name='shahin';
QueryOK,1rowaffected(0.00sec)
Rowsmatched:1Changed:1Warnings:0

Sherif Shahin

] [ 65

itwadi.com

mysql>selectf_name,l_name,salary,perks
>fromemployee_data
>wheref_name='sherif'andl_name='Shahin';
+++++
|f_name|l_name|salary|perks|
+++++
|Sherif|shahin|15000|50000|
+++++
1rowinset(0.02sec)

salary perks Sherif


Shahin Update
.

:
Update

Update where
update !!!

] [ 66

itwadi.com

Vous aimerez peut-être aussi