1. 程式人生 > 其它 >MySQL(3)

MySQL(3)

百萬級別以上的資料刪除:

效率非常高

truncate table 表名;

外部資料匯入MySQL:

開發給一個sql指令碼,匯入到資料庫裡的方法:(sql腳本里有建立命令)

cmd →

進入這個檔案的地址(sql指令碼的地址)→

連線mysql的命令<sql指令碼

建立三個表,想要通過code連線起來,所以每個表中都新增code欄位:

在表中插入資料,每個表的code都輸入一樣的資料,後面就可以通過相同的code把三個表連線起來:

通過code三表連線,查詢code=1001的人的名字、年齡、公司、學校:

擴:inner join 內關聯(有交集的部分)

查詢規定的多少行資料:

limit

select * from 表名 limit 數字;

指定查詢某個欄位的前多少資料:

select 欄位1,欄位2  from 表名 limit 數字;

查詢表的資料行數:

select count(*) from 表名;
select count(1) from 表名;

條件過濾

並且:

and

select * from 表名 where 條件1 and 條件2;

(同時滿足條件1和條件2 的所有資料資訊)

或者:

or

select * from 表名 where 條件1 or 條件2;

(滿足條件1或條件2 的所有資料資訊)

包含:

in

select * from 表名 where 欄位 in(條件1,條件2);

只要符合其中一個,就顯示出來

範圍檢查

between ...and...

select * from 表名 where 欄位 between “條件1” and “條件2” ;

(條件1和條件2 之間的所有資料,包含開始和結束,一般用在一個範圍)

否定

not

如:not in(不包含)

not between...and... (不在...範圍內)

%

select * from 表名 where 欄位 like “  % ” ;

匹配一個或多個任意字元,%的位置可以在前、後、中間。

下劃線

幾個下劃線,表示有幾個字元,可以和%結合使用。

以什麼開頭:

“^ "

(不能和%結合使用,注意前面是rlike)

以什麼結束:

” $“

(注意前面是rlike)

使用別名:

原欄位 as 新起名

根據欄位進行排序:

select * from 表名 order by 欄位 升序/降序;

(desc 降序 asc 升序, 不加順序時 預設是升序)

聚合函式

聚合函式作用:把多個數據做整合輸出一個數據。

查詢總共資料:

count(1)

(group by 欄位:

以欄位做為聚合,就是把這個欄位的所有值 中相同的值的行合併成一行。

格式:select xxxxx from xxx group by xxx;)

例:

以性別做為聚合分組,查詢這些不同性別的總人數資訊:(男一共多少人,女一共多少人)

以薪資做為聚合分組,查詢這些不同薪資的總人數資訊:

查詢最大/最小/平均/總數

最大 max(  ),最小 min(   ), 平均 avg(  ),  總數sum(   )

例:

以dateyear為聚合分組,查詢這些不同dateyear平均薪資,用平均薪資avg來降序排序。(欄位後面as起別名)

去重

distinct

查詢出表的某個欄位中不重複的資料

過濾

having

內連線:

inner join,⼜叫內連線的部分,主要是獲取兩個表中欄位匹配關係的表。查詢關聯欄位共同擁有的資料。

select 表1/2資料... from  表1  inner join 表2  on  連線條件 where 表示式;

例:表e和表s通過emp_no內連線起來,查詢e表中的first name、last name、gender和s表中的salary ,顯示出salary大於40000的十行資料:

(在不同表中查詢欄位時,要標清欄位所在的表,如上圖,在前面直接使用別名,在後面給表起別名)