標籤:條件 比較 預設 left join 替換 now() min() 刪除前後空格 查詢語句
基礎命令
desc 表名 ; 查詢表結構
show columns from 表名; 查詢表結果
having 的使用,要不出現在尋找欄位內(select) 或者是在彙總函式內 ( sum();count() ; 。
limet 2,2 :尋找的結果返回。 //從第二條開始返回,返回2條。
group by 欄位 ;分組
order by 排序 欄位 ; ASC升序,DESC降序。
round(avg(欄位),2);四捨五入 ,保留小數點後兩位。
\G;用表單格式顯示
比較查詢返回多個結果是 可以使用any(子查詢結果集) ,some(),all ();
insert 表 (欄位)select 查詢語句;insert select插入語句。
insert 表(欄位)value/values (欄位值)
update 表名 set where 欄位 =欄位值; 修改欄位值。
多表更新:是指參照另外一個表更新本表。
步驟方法:
1、先連結 後更新 update 表名 inner join 表名 on 連結條件 set 欄位=另外一個欄位
2、建立表的時候,便插入另外一張表查詢的結果
create table 表名(欄位結構)select 欄位 from 表。
alter table 表名 change 欄位(需要修改的欄位) 欄位(修改成的欄位名) 欄位類型,change ......;修改欄位名和類型。可以一次修改多個欄位和類型。
多錶鏈接:
1、內串連 :僅顯示左表和右表符合連結條件的記錄。
select * from 表名 inner join 被連結的表 on 連結條件;
2、外連結
(1)左外連結:顯示左表的全部記錄以及右表中滿足連結條件的記錄。 如果右邊中沒有合格,則顯示未null;
select * from 表名 left join 被連結的表 on 連結條件;
(2)右外連結:
select * from 表名 right join 被連結的表 on 連結條件;
多表的刪除:
delete from 表名 join 另外一張表 on連結條件.....
字元函數
concat();字元串連函數 ,例如(selectable concat(‘hello‘,‘world‘) 運行結果是helloworld。select concat(欄位一,欄位二) as 別名 from 表名。將兩個欄位合并為一個欄位輸出;
concat_ws();使用指定分隔字元串連,最少需要三個參數,第一個參數為指定的分隔字元。
format();數字格式化
例如:selectable format(123.23,2);運行結果為 123.23 ; 四捨五入 ,2代表保留小數點後2位
lower();轉換成小寫字元 ;
例如:select lower(’MySql‘); 運行結果是 mysql;
upper();轉換成大寫字元;
例如:select lower(’MySql‘); 運行結果是 MYSQL;
left();擷取左側字元,需要告訴擷取幾位。
例如:select left(‘MySql‘,2);運行結果是My
函數嵌套 :select lower(left( ‘MySql‘,2)); 運行結果是my;
right();擷取右側字元需要告訴擷取幾位。
例如:select right(‘MySql‘,3);運行結果是Sql
函數嵌套 :select upper (right( ‘MySql‘,3)); 運行結果是SQL;
length();擷取字元長度,包含空格。
lirim();刪除前置空格;
ririm();刪除後續 空格;
irim();刪除前後空格;
replace();字串替換 。
例如:select replace(‘????MySql??’,‘?’'!’);把字串中得?替換成!
substring();字串截取 。select substring(‘mysql‘,1,2)從第一位開始,截取兩位 運行結果是my;
MYSQL數值運算和函數
ceil();向上取整,進一取證。例如select ceil(3.01) 運行結果為3
floor();舍一取整
div();整數除法 ;例如 select 3 div 4 ,運行結果為0 ;
mod();取餘數 select 5 mod 3 運行結果是2 。整數小數都可以 例如select 5.3 mod 3 ,運行結果為2.3
power();冪運算 ;例如select power(3,3) 運行結果為27
round();四捨五入
truncate();數字截取
比較子與函數
[not] between ...and ... ;【不】在什麼範圍之間
[not] in ;【不】在列出值的範圍內
is [not] null ;【不】為空白
日期時間函數
now() ;當前日期和時間
curdate() ;當前日期
curtime () ;目前時間
date_add();日期的變化 ,例如select date_add(‘2013-3-12‘ ,interval ,365 day);運行結果是2014-3-12 。在之前的基礎上增加365天。如果是減-365天 就是2012-3-12.。單位有day ,year ,week
datediff();日期差值。 例如select datediff(‘第一個日期‘, ‘第二個日期‘)
date_format();日期格式化
資訊函數
counection_id() ;連結id 。也就是線程的數
datebase();當前資料庫
last_insert_id();最後插入記錄的id號。同時寫入多條記錄的時候,預設返回第一條的id。
user() ;目前使用者
version(); 版本資訊
彙總函式
彙總函式是只有一個傳回值的。括弧內使用欄位名即可。
avg();平均值
count();計數
max();最大值
min();最小值
sum();求和
加密函數
md5() ;資訊摘要演算法 。加密後是32位
possword(); 密碼演算法
MySql 資料庫基礎命令