這篇文章主要講解了“MySQL數(shù)據(jù)庫的常用技巧”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL數(shù)據(jù)庫的常用技巧”吧!
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)任城,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
正則表達(dá)式
-- 是否以a開頭
select 'abcdefg' REGEXP '^a'
-- 是否以fg結(jié)尾 www.2cto.com
select 'abcdefg' REGEXP 'fg$'
-- 哇,漢字也管用
select STAFF_Name,STAFF_NAME REGEXP '^測試' from g_staff
select STAFF_Name from g_staff where STAFF_NAME REGEXP '^劉'=1
-- "."匹配任意單個字符
select 'abcdefg' REGEXP '.h','abcdefg' REGEXP '.g'
-- "[...]" 匹配出中括號的內(nèi)的任意字符
select 'abcdefg' regexp '[weh]'
select 'abcdefg' REGEXP '^[ead]'
-- "[^...]" 匹配不出括號內(nèi)的任意字符
select 'efg' REGEXP '[^XYZ]','X' REGEXP '[^XYZ]'
www.2cto.com
select * from user where email REGEXP '@163.com$'
巧用rand()提取隨機(jī)行
-- 隨機(jī)抽取5個用戶
select * from tf_f_user order by rand() limit 5
with rollup bit_or bit_and
和group by 一起用,起到求和的作用
數(shù)據(jù)庫和表名的大小寫問題
總是以小寫或者大寫創(chuàng)建并引用數(shù)據(jù)庫名和表名
MySQL在下名、表名、列名、別名大小寫規(guī)則是這樣的:
1、數(shù)據(jù)庫名與表名是嚴(yán)格區(qū)分大小寫的;
2、表的別名是嚴(yán)格區(qū)分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴(yán)格區(qū)分大小寫的; www.2cto.com
MySQL在Windows下都不區(qū)分大小寫。
----------------------------------------------------------------------------------------------------
1、以Ubuntu為例:Ubuntu下安裝完后是默認(rèn):區(qū)分表名的大小寫,不區(qū)分列名的大小寫;
2、用root帳號登錄后,在/etc/mysql/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務(wù),這時已設(shè)置成功:不區(qū)分表名的大小寫;
lower_case_table_names參數(shù)詳解:
lower_case_table_names = 0
其中 0:區(qū)分大小寫,1:不區(qū)分大小寫
----------------------------------------------------------------------------------------------------
3、如果想在查詢時區(qū)分字段值的大小寫,則:字段值需要設(shè)置BINARY屬性,設(shè)置的方法有多種:
A、創(chuàng)建時設(shè)置:
CREATE TABLE T(
A VARCHAR(10) BINARY
); www.2cto.com
B、使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
C、mysql table editor中直接勾選BINARY項(xiàng)。
外鍵注意事項(xiàng)
在mysql中,InnoDB存儲引擎支持對外部關(guān)鍵字約束條件的檢查。而對于其他類型的存儲引擎的表,當(dāng)使用 reference table_name(colomn_name)子句定義列時,可以使用reference,但是該子句沒有實(shí)際效果,只作為備忘錄或者注視來提醒用戶目前正定義的列執(zhí)行另一個表中的一個列。
感謝各位的閱讀,以上就是“MySQL數(shù)據(jù)庫的常用技巧”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對MySQL數(shù)據(jù)庫的常用技巧這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!