1. 程式人生 > >MySQL語句整理(1)

MySQL語句整理(1)

一,DDL語句整理

建立表:

create table 表名(列名1 列型別1,列名2 列型別2);

刪除表:

drop table 表名;

修改公式:

alter table 表名 + 要做的事情;

修改表名:

alter table 表名 rename to 新表名;

修改列名:

alter table 表名 change 原列名 新列名 列型別;

修改列型別:

alter table 表名 modify 列名 列新的型別;

增添列:

alter table 表名 add(列名1 列型別1,列名2 列型別2
);

刪除列:

alter table 表名 drop 列名;

二,DML語句整理

插入資料

INSERT INTO 表名(列名1,列名2,列名3) VALUES(對應列名1的值1,對應列名2的值2,對應列名3的值3);

INSERT INTO 表名 VALUES(對應第一列的值1,對應第二列的值二,....,對應最後一列的值n);--表中一共有n列

修改資料

--下面寫法會將所有資料的列名1這一列的資料,都修改為值1
UPDATE 表名 SET 列名=要修改的值;--如果型別為字元型,則需要用單引號:'要修改的值'
UPDATE 表名 SET 列名1
='值1',列名2='值2';
--上述修改自然是很尷尬的,所以應該有選擇的去修改資料 --為修改語句增加條件 UPDATE 表名 SET 列名3='值3' where id=2;--將id為2的那一行的資料的'列名3'這一列的資料修改為'值3'

刪除資料

--下面寫法會將表名1中的資料都刪除
DELETE FROM 表名1;

--為上述語句增加條件
DELETE FROM 表名1 where id=2;--將id為2的那一行資料刪除

三,DQL基礎語句整理

公式:

select 查詢哪些列
FROM 從哪些表中查
where 查詢條件
GROUP BY 按照哪個列分組
having
分組後的條件 ORDER BY 根據哪一列排序

列運算相關:

--查詢兩列之間資料的加減乘除結果集
select 列名1+列名2, 列名3-列名4, 列名5*列名6, 列名7/列名8 from 表名

去重:

--關鍵字distinct可以將查詢結果中完全相同的資料去除
select distinct 列名 from 表名;

模糊查詢:

模糊查詢的關鍵字為: like

--字元短線:-  代表一個任意值的字元
--字元百分號:%  代表任意數量的任意值的字元
--字元星號:*  代表查詢所有列
select * from 表名 where
name like '張%' --查詢姓張的
or        --或
name like '___'; --查詢名字由三個字元組成的

排序

根據id升序排序
ORDER BY id ASC;
根據id降序排序
ORDER BY id DESC;

根據列x升序排序,如果x相同則根據y降序排序
ORDER BY x ASC, y DESC;

關於null與0

1,任何與null做的運算(加減乘除等等)結果都為null.
2,concat(‘hello’,列n);列n的值如果為null,則該函式的結果也是null.
3,如果將字元與數字做運算,那麼字元會被當成0看待,無法轉換成數字的都會被當成0.
4,ifnull(列n,值m);如果列n的值為null,該函式可以將null替換成m使用(並不改變表中的資料).

四,DQL聚合函式整理

聚合函式一共有五個:求資料總個數,求資料值的總和,求資料中的最大值\最小值,求資料的平均值

count(列名)

--查詢表中的資料總數(如果某一行的資料都為null,則不會計算)
select count(*) from 表;

--下面這句與上面那句的區別在於:如果第二行name列為null,而其他列有值,上一條語句會計算第二行,而這一條語句不會
select count(name) from 表;

sum(列名)

--取x列資料的總和
select sum(x) from 表;

max(列名)與min(列名)

--取x列的最大值和y列的最小值
select max(x),min(y) from 表;

avg(列名)

--取age列的平均值
select avg(age) from 表;

五,SQL分組查詢整理

一般見到每組,每班,每部門,每科室等詞彙,基本就是要使用分組查詢了.

--以列名x列分組,查詢該列資訊及分組後的每組的數量
select 列名x,count(列名x) from 表名 GROUP BY 列名x;

在分組之前的條件用where,分組之後的條件用having,看上方公式順序