Professional Documents
Culture Documents
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..............................
50......................................................................................................................... group by
54.......................................................................................................................... Having
55........................................................................................................... Select
][2
itwadi.com
: SQL
Database
.
. Database Management System
!!
SQL
SQL MySQL SQL
SQL :
][3
itwadi.com
. System SQL
.
SQL
ANSI American National Institute
.
RDBMS RDBMS
MySQL
Tables Relational
MySQL
:
-1 .
-2 .
][4
itwadi.com
!!
....
MySQL
Sun
MySQL !
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-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
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
Enter Enter
mem_id id
auto_increment
MySQL mem_id
] [ 10
itwadi.com
primary key
.
primary key
mem_id MySQL
f_name l_name
. mem_id
f_name
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 .
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
;]SELECTcolumn_namesfromtable_name[WHERE...conditions
] [WHERE ...conditions
] [ 16
itwadi.com
RDBMS
:
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
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
] [ 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)
.
: ) (
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
! 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
: 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 .
: .
: :
* 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
: 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
!
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 " "
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>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)
mysql>selecttitle,count(*)
>as"NumberofWebDesigners"
>fromemployee_data
>wheretitle='WebDesigner'
>groupbytitle;
+++
|title|NumberofWebDesigners|
+++
|WebDesigner|2|
+++
1rowinset,1warning(0.00sec)
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
: 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)
MySQL Second
. ! Calculator
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 .
: 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)
] [ 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
where
.
Update
.
: salary perks
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)
:
Update
Update where
update !!!
] [ 66
itwadi.com