查詢:
在MySQL中,select的基本語法形式:
select
屬性列表
from
表名和視圖
[
where 條件表達式
]
[
group by 屬性名 [having 條件表達式
]
]
[
order by 屬性名 [asc|desc
]
]
看看具體的用例:
首先看看表的結構:
mysql
>
desc
user
;
+
--
--------+-----------------+------+-----+---------+----------------+
|
Field
|
Type
|
Null
|
Key
|
Default
|
Extra
|
+
--
--------+-----------------+------+-----+---------+----------------+
|
id
|
int
(
4
) unsigned
|
NO
|
PRI
|
NULL
|
auto_increment
|
|
account
|
varchar
(
10
)
|
NO
|
|
NULL
|
|
|
password
|
varchar
(
10
)
|
NO
|
|
NULL
|
|
+
--
--------+-----------------+------+-----+---------+----------------+
最簡單的查找,查找出全部,*匹配所有數據,user就是表名:
mysql
>
select
*
from
user
;
+
--
--+------------+----------+
|
id
|
account
|
password
|
+
--
--+------------+----------+
|
1
|
xujianguo
|
xjg
|
|
2
|
wenjian
|
cwj
|
|
3
|
xiongsheng
|
hxs
|
+
--
--+------------+----------+
加入條件后的查詢:
mysql
>
select
*
from
user
->
where
id
>
1
->
order
by
id
desc
;
+
--
--+------------+----------+
|
id
|
account
|
password
|
+
--
--+------------+----------+
|
3
|
xiongsheng
|
hxs
|
|
2
|
wenjian
|
cwj
|
+
--
--+------------+----------+
帶in關鍵字的查詢:
用in關鍵字可以判斷某個字段的值是否在指定的集合中。
mysql
>
select
*
from
user
->
where
id
in
(
1
,
3
);
+
--
--+------------+----------+
|
id
|
account
|
password
|
+
--
--+------------+----------+
|
1
|
xujianguo
|
xjg
|
|
3
|
xiongsheng
|
hxs
|
+
--
--+------------+----------+
2
rows
in
set
(
0.02
sec)
帶between and的范圍查詢:
between and關鍵字可以判斷某個字段的值是否在指定的范圍內。
mysql
>
select
*
from
user
->
where
id
between
2
and
3
;
+
--
--+------------+----------+
|
id
|
account
|
password
|
+
--
--+------------+----------+
|
2
|
wenjian
|
cwj
|
|
3
|
xiongsheng
|
hxs
|
+
--
--+------------+----------+
帶like的字符匹配查詢:
like關鍵字可以匹配字符串。
mysql
>
select
*
from
user
->
where
account
like
'
wen%
'
;
+
--
--+---------+----------+
|
id
|
account
|
password
|
+
--
--+---------+----------+
|
2
|
wenjian
|
cwj
|
+
--
--+---------+----------+
分組查詢:
group by關鍵字與group_concat函數一起使用,進行分組顯示。
mysql
>
select
*
from
user
;
+
--
--+------------+----------+
|
id
|
account
|
password
|
+
--
--+------------+----------+
|
1
|
xujianguo
|
xjg
|
|
2
|
wenjian
|
cwj
|
|
3
|
xiongsheng
|
hxs
|
|
4
|
zheng
|
cwj
|
+
--
--+------------+----------+
mysql
>
select
password, group_concat(account)
from
user
->
group
by
password;
+
--
--------+-----------------------+
|
password
|
group_concat(account)
|
+
--
--------+-----------------------+
|
cwj
|
wenjian,zheng
|
|
hxs
|
xiongsheng
|
|
xjg
|
xujianguo
|
+
--
--------+-----------------------+
使用count()函數查詢:
mysql
>
select
count
(
*
)
from
user
;
+
--
--------+
|
count
(
*
)
|
+
--
--------+
|
4
|
+
--
--------+
使用max()函數查詢:
mysql
>
select
max
(id)
from
user
;
+
--
-------+
|
max
(id)
|
+
--
-------+
|
4
|
+
--
-------+
? 連接查詢:
將兩個或者兩個以上的表按照某個條件連接起來。
mysql
>
select
user
.id, account, usermessage.message
->
from
user
, usermessage
->
where
user
.id
=
usermessage.id;
+
--
--+------------+----------+
|
id
|
account
|
message
|
+
--
--+------------+----------+
|
1
|
xujianguo
|
hello
|
|
2
|
wenjian
|
love you
|
|
3
|
xiongsheng
|
yes
|
|
4
|
zheng
|
no no no
|
+
--
--+------------+----------+
? 子查詢:
也就是說查詢語句里面嵌套著另外一個查詢語句。
mysql
>
select
*
from
user
->
where
id
in
(
select
id
from
usermessage
where
id
in
(
1
,
2
))
->
;
+
--
--+-----------+----------+
|
id
|
account
|
password
|
+
--
--+-----------+----------+
|
1
|
xujianguo
|
xjg
|
|
2
|
wenjian
|
cwj
|
+
--
--+-----------+----------+
? 插入:
在MySQL中,可以通過不指定具體字段名為表插入記錄,其基本語句形式:
insert
into
表名
values
(值1, 值2......)
mysql
>
insert
into
usermessage
values
(
5
,
'
no problem
'
);
Query OK,
1
row affected (
0.09
sec)
這里就隱含了對應的值對應插入的規則。
當然也可以指定插入,其基本的語句格式:
insert
into
表名(屬性1, 屬性2......)
values
(值1, 值2......)
mysql
>
insert
into
usermessage(message, id)
values
("enen",
6
);
Query OK,
1
row affected (
0.09
sec)
更新:
在MySQL中,update語句的基本語法形式:
update
表名
set
屬性名1
=
值1, 屬性名2
=
值2......
where
條件表達式;
mysql
>
update
usermessage
->
set
message
=
'
nimei
'
->
where
id
=
2
;
Query OK,
1
row affected (
0.11
sec)
刪除:
在MySQL中,delete語句的基本語法形式為:
delete
from
表名
[
where 條件表達式
]
;?
mysql
>
delete
from
usermessage
where
id
=
5
;
Query OK,
1
row affected (
0.10
sec)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

