程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL常用技巧

MySQL常用技巧

編輯: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在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的: 1、數據庫名與表名是嚴格區分大小寫的; 2、表的別名是嚴格區分大小寫的; 3、列名與列的別名在所有的情況下均是忽略大小寫的; 4、變量名也是嚴格區分大小寫的;  www.2cto.com   MySQL在Windows下都不區分大小寫。 ---------------------------------------------------------------------------------------------------- 1、以Ubuntu為例:Ubuntu下mysql安裝完後是默認:區分表名的大小寫,不區分列名的大小寫; 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,但是該子句沒有實際效果,只作為備忘錄或者注視來提醒用戶目前正定義的列執行另一個表中的一個列。     作者 bengda

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved