您好,登錄后才能下訂單哦!
這篇文章主要講解了“MySQL數據庫的常用技巧”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“MySQL數據庫的常用技巧”吧!
正則表達式
-- 是否以a開頭
select 'abcdefg' REGEXP '^a'
-- 是否以fg結尾 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'
-- "[...]" 匹配出中括號的內的任意字符
select 'abcdefg' regexp '[weh]'
select 'abcdefg' REGEXP '^[ead]'
-- "[^...]" 匹配不出括號內的任意字符
select 'efg' REGEXP '[^XYZ]','X' REGEXP '[^XYZ]'
www.2cto.com
select * from user where email REGEXP '@163.com$'
巧用rand()提取隨機行
-- 隨機抽取5個用戶
select * from tf_f_user order by rand() limit 5
with rollup bit_or bit_and
和group by 一起用,起到求和的作用
數據庫和表名的大小寫問題
總是以小寫或者大寫創建并引用數據庫名和表名
MySQL在下名、表名、列名、別名大小寫規則是這樣的:
1、數據庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴格區分大小寫的; www.2cto.com
MySQL在Windows下都不區分大小寫。
----------------------------------------------------------------------------------------------------
1、以Ubuntu為例:Ubuntu下安裝完后是默認:區分表名的大小寫,不區分列名的大小寫;
2、用root帳號登錄后,在/etc/mysql/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務,這時已設置成功:不區分表名的大小寫;
lower_case_table_names參數詳解:
lower_case_table_names = 0
其中 0:區分大小寫,1:不區分大小寫
----------------------------------------------------------------------------------------------------
3、如果想在查詢時區分字段值的大小寫,則:字段值需要設置BINARY屬性,設置的方法有多種:
A、創建時設置:
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項。
外鍵注意事項
在mysql中,InnoDB存儲引擎支持對外部關鍵字約束條件的檢查。而對于其他類型的存儲引擎的表,當使用 reference table_name(colomn_name)子句定義列時,可以使用reference,但是該子句沒有實際效果,只作為備忘錄或者注視來提醒用戶目前正定義的列執行另一個表中的一個列。
感謝各位的閱讀,以上就是“MySQL數據庫的常用技巧”的內容了,經過本文的學習后,相信大家對MySQL數據庫的常用技巧這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。