• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL惯用技巧

mysql 搞代码 7年前 (2018-06-05) 125次浏览 已收录 0个评论

mysql常用技巧

正则表达式

— 是否以a开头
select ‘abcdefg’ REGEXP ‘^a’
— 是否以fg结尾  
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]’

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、变量名也是严格区分大小写的;

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

);

B、使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

C、mysql table editor中直接勾选BINARY项。

外键注意事项
在mysql中,InnoDB存储引擎支持对外部关键字约束条件的检查。而对于其他类型的存储引擎的表,当使用 reference table_name(colomn_name)子句定义列时,可以使用reference,但是该子句没有实际效果,只作为备忘录或者注视来提醒用户目前正定义的列执行另一个表中的一个列。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL惯用技巧

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址