1. 程式人生 > 資料庫 >資料庫基礎知識2

資料庫基礎知識2

use table_name ==切換表

插入資料
insert into table_name (field1,field2..)values(value1,value2...);
insert into table_name set field1=value1,field2=value2...;(鍵值對賦值)

插入多條資料

insert into table_name values
(value1,value2...),
(value11,value22...),
(value111,value211...);

修改表記錄
update table_name set field1=value1,field2=value2... where 語句;

刪除表記錄
delete from table_name where 語句;--如不加where 則刪除整張表;
delete 是一行一行的刪除記錄
truncate table table_name;--是刪除整張表再建立新表

查詢表記錄

select distinct(去重) field1 as 別名,field2 別名 ,field3.... from table_name where 語句 > < <= >= <> != 不等於;
between .. and ..
in ()
field like "value%"--like "tom%" 模糊匹配

field like "value_"--模糊匹配一個字元

 


order by 指定排序的列 --可以是表中的列名,也可以是select 語句後指定的別名
先過慮再排序

select * field1,field2... from table_name where 語句 order by field desc/ asc


group by分組查詢 與having 子句
--注意,按分組條件分組後每一組只會顯示第一條記錄
group by 2 按欄位位置來分
es: select name,sum(js) from table_name group by name having sum(js)>150;

having 與 where 兩者都是對查詢結果進行進一步的過濾,差別有:
1、where 語句只能用在分組之前 的篩選,having可以用在分組之後篩選
2、使用where語句的都可以用having 進行替換
3、having中可以使用聚合函式(如:sum,max,count,min,AVG),where中就不行

ifnull(js ,0)--ifnull 將null置為0

limit 1,4 ---只檢視1-4行

select [distinct] *|field ,field1... from table_name
where 條件
group by field
having 篩選
order by field
limit 限制條數

REGXP---使用正則查詢
select * from table_name where emp_name REGXP '^yu'; --以yu開頭
'yun$';--以yun結尾
'm(2)';--有兩個m

select from where group by having order by

執行順序:
from where select group by having order by