查詢:
在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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
