mysql數據操作
插入數據
形式1:
insert into 表名(字段名1,字段名2,....)values (值a1,值a2, .....), (值b1,值b2, .....),..... ;
形式2:
insert into 表名1(字段名1,字段名2,....)select 字段名1,字段名2,.... from 表名2;
形式3:
insert into 表名 set 字段名1=值1,字段名2=值2, ..... ;
載入外部“形式整齊”的數據:
load data infile ‘文件完整名(含路徑)’ into table 表名;
復制一個表的結構和數據:
create table 表名1 select * from 表名2;
刪除數據:
delete from 表名 [where條件] [order排序] [limit限定];
truncate [table] 表名;用於直接刪除整個表(結構)並重新創建該表。
修改數據:
update 表名 set 字段名1=值表達式1,字段名2=值表達式2,....[where條件] [order排序] [limit限定];
查詢數據:
select [all | distinct] 字段或表達式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];
all:允許出現重復(默認)
distinct:不允許出現重復(去重)
from字句:指定數據的來源
where字句:
算術運算符: + - * / %
比較運算符: > >= < <= =(等於) <>(不等於)
==(等於,mysql擴展),!=(不等於,mysql擴展)
邏輯運算符: and(與) or(或) not(非)
邏輯判斷
判斷為true: XX is true
判斷為fale: XX is false
空值的判斷
判斷為null: XX is null
判斷為非空: XX is not null
between語法:字段XX的值在值1和值2之間(含),相當於:XX >=值1 and XX<=值2;
XX between 值1 and 值2;
int語法:相當於 XX = 值1 or XX = 值2 or XX = 值2
XX in (值1,值2,.......);
like語法:模糊查找
% 其含義是:代表任意個數的任意字符
_ 其含義是:代表1個的任意字符
like ‘%ab\%cd%’ //這裏要找的是: 包含 ab%cd 字符的字符
like ‘\_ab%’ //這裏要找的是: _ab開頭的字符
like ‘%ab\’cd%’ //這裏要找的是: 包含 ab’cd 字符的字符
例子:like ‘%關鍵字%’
group by字句:組內某些字段的最大值,最小值,平均值,總和值。其他字段,通常就不能用了。
group by 字段1 排序方式1,字段2 排序方式2, .....
count(*): 統計一組中的數量,通常用“*”做參數
max(字段名):獲取該字段中在該組中的最大值。
min(字段名):獲取該字段中在該組中的最小值。
sum(字段名):獲取該字段中在該組中的總和。
avg(字段名):獲取該字段中在該組中的平均值。
Group_concat(字段名):顯示沒有展示的部分
having 字句:where是針對表的字段的值進行“條件判斷”
用在group by後面,作用和where類似
orderby字句:排序
正序: ASC(默認值),可以省略
倒序: DESC
limit字句:
limit [起始行號start], 要取出的行數num
mysql數據操作