mysql表操作

來源:互聯網
上載者:User

標籤:方式   改變   order by   and   new   操作   int   插入   group   

mysql表操作:
插入:
insert into 表明()....
建立:
create table user(host char(60),user char(16))
select host,user from mysql.user
建立表的時候用查詢到的表的結構,欄位和記錄
create table user_new1(ip char(60),username char(16))
select host as ip,user as username from mysql.user;
依然是建立表的時候拿到查詢的表的結構,欄位和記錄,但是如果後面不加as命名的話嗎,
就會有四個欄位,自己建立的那兩個欄位也會出現,不過記錄不會再裡面。所以想要改變名字
必須要用as
select host as 主機名稱,user as 使用者名稱 from mysql.user;
可以在查詢的時候將查詢的顯示的欄位改名字,利用as
更新:
update db1.t1 set 欄位=值 where id>10 or(and) id < 30;
後面跟條件,當滿足什麼條件或者什麼條件 還有滿足什麼條件和什麼條件的時候
刪除:
delete from 表名 條件;
刪除表中滿足什麼條件的記錄
清空表:
truncate 表名;
單表查詢文法:
select * from 表名;
*可以是表中所有欄位,也可以是某些欄位或者某個欄位下的記錄
select distinct 欄位 from 表名;
去重用法,查詢到的虛擬表去重
select 欄位,int欄位*整型數字 from 表名;
同樣也可以用as將數字運算的結果記錄來改名,也可以不加as做到改名字的目的
select concat(‘查看資訊:‘,欄位)from 表名;
利用concat()函數看可以拼接字串,這樣可以令顯示的記錄更加清晰
select concat_ws(‘:‘,欄位,欄位)from 表名;
顯示效果【欄位:欄位】
concat_ws()可以拼在資料中間
在單表查詢的順序中,最先的是約束條件,然後是分組,然後是過濾,然後到去重複,然後再排序,
最後是限制條件
where 約束條件,可以是比較子 主要是用來確定條件是什麼或者大小範圍
例如:
要尋找class表中ID大於5的
select * from class where id >5
要尋找class表中ID等於5的
select * from class where id =5
其他運算子同上,沒什麼區別
可以用between來規定範圍
select * from class where id between 1 and 5
可以用in來確定具體範圍
select * from class where id in(1,5)
可以用like來約束具有部分條件的記錄
select * from class where name like ‘e%‘
看可以使用and or not
約束條件可以用等號來確定是某些具體的字串
或者用運算子還有範圍來確定數字範圍
select post,count(id) from class group by post
group by分組,分組的話將表中的記錄以一塊一塊那種方式來進行操作,也就是說具有
相同欄位值的記錄,將會彙總到一塊來進行使用。
所以在分組之後,再使用where約束,就無法像未分組前那樣單條約束了,所以where約束
要放在分組之前
group可以使用彙總函式來進行操作,count欄位個數,max最大值,min最小值,avg平均值
sum和。
分組的目的是為類以組為單位來處理記錄,而不是處理單獨的記錄
用group_concat()函數也可以查詢各個分組的相應欄位的記錄
過濾條件having
having 用在分組之後,也就是說having所利用的過濾條件,只能是分組的彙總函式
因為分組之後記錄變成一塊一塊的處理,無法用於單挑記錄的過濾,所以只能用彙總函式
having也可以做到where那種約束,不過一般用於分組後
where不能用在分組後利用彙總函式為條件
order by 預設為升序,也可以用desc設定成降序
可以設定先按照欄位資料升降序,如果資料相同的再按照id升降序
select * from employee order by age asc,id desc;
limit限制條件放在最後
select * from class order by id desc limit 1;
這樣顯示降序按照id排序,id最大的就再最上面,再限制只取一個的話,取出來的就是id最大的那個人
elect * from employee where name regexp ‘^e.*n$‘;
regexp後面寫正則

mysql表操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.