-- 測試字串函式
--char_length()
:得到字串的字元數
select char_length
('abc');
--length()
:返回字串的長度
select length
('abc');
--concat
(s1,s2,s3)
:將字串合併成乙個字串
select concat
('a'
,'b'
,'c');
-- 如果字串中包含null,返回拼接結果就是null
select concat
('a'
,'b'
,'c'
,null);
--concat_ws
(x,s1,s2,s3...
):以指定分隔符拼接字串
select concat_ws
('-'
,'a'
,'b'
,'c');
-- 如果null在拼接內容中,則轉化成空字串
select concat_ws
('-'
,'a'
,'b'
,'c'
,null);
-- 如果分隔符為null,拼接結果為null
select concat_ws
(null
,'a'
,'b'
,'c');
-- 將字串轉換成大寫或者小寫upper()
|ucase()
lower()
|lcase()
select upper
('hello,king'),
ucase
('hello imooc'),
lower
('hello admin'),
lcase
('hello everybody');
-- 字串的反轉reverse()
select reverse
('abc');
--left()
|right()
:返回字串的前幾個字元或者後幾個字元
select left
('hello',2
),right
('hello',2
);--lpad()
|rpad()
:用字串填充到指定長度
select lpad
('abc',10
,'?');
select rpad
('abc',10
,'!');
-- 去掉字串兩端的空格 trim()
|ltrim()
|rtrim()
;select concat
('*'
,trim
(' abc '),
'*')
,concat
('*'
,ltrim
(' abc '),
'*')
,concat
('*'
,rtrim
(' abc '),
'*');--
repeat
(s):重複指定的次數
select repeat
('hello',3
);--replace()
:字串替換
select replace
('hello king'
,'king'
,'queen');
-- 擷取字串substring
('s1'
,x,y)
;把字串從x位置開始擷取y位
select substring
('abcdef',1
,3);
-- 比較字串,按照字元的阿斯科碼進行比較
select strcmp
('a'
,'b');
select strcmp
('a'
,'a');
select strcmp
('b'
,'a');
-- 日期時間函式
-- 返回當前日期
select curdate()
,current_date()
;-- 返回當前時間
select curtime()
,current_time()
;-- 返回當前的日期時間
select now()
,current_timestamp()
,sysdate()
;-- 返回日期中的月份和月份名稱
select month
('2017-02-19');
select month
(curdate()
),monthname
(curdate()
);-- 返回星期幾
select dayname
(now()
);-- 返回一周內的第幾天
select dayofweek
(now()
);select week
(now()
);select year
(now()
),month
(now()
),hour
(now()
),minute
(now()
),second
(now()
);--datediff
()計算兩個日期相差的天數
select datediff
('2017-03-06'
,'2017-03-02');
-- 測試其他常用函式
select version()
,connection_id()
;select database()
,schema()
;select user()
,current_user()
,system_user()
,session_user()
;-- 得到上一步插入操作產生auto_increment的值
use king;
select * from user1;
select last_insert_id()
;-- 加密函式
select md5
('king');
select length
(md5
('king'))
;--password()
:密碼加密演算法
select password
('root');
select * from mysql.user where user=
'root'\g
select length
(password
('root'))
;
4 MySQL儲存引擎
檢視當前mysql提供的儲存引擎 檢視當前mysql預設的儲存引擎 1 innodb儲存引擎 innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期 short lived 事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。2 myisam儲存引擎 m...
4 MySql高階之觸發器
1.介紹觸發器是與表有關的資料庫物件,指在insert update delete 之前或之後,觸發並執行觸發器中定義的sql語句集合。觸發器的這種特性可以協助應用在資料庫端確保資料的完整性 日誌記錄 資料校驗等操作 使用別名 old 和 new 來引用觸發器中發生變化的記錄內容,這與其他的資料庫是...
mysql基礎 4 mysql支援的資料型別
1.數值型別 1 整數型別 tinyint,1個位元組,有符號 128 127,無符號 0 255 smallint,2個位元組,有符號 32768 32767,無符號 0 65535 mediumint,3個位元組,有符號 8388608 8388607,無符號 0 16777215 int in...