1.查询三天之内过生日的人以及星期转换
select Datepart(weekday, dateadd(year,year(getdate())-year(生日日期),生日日期) + @@DateFirst - 1) 星期
from 员工信息
where dateadd(year,year(getdate())-year(生日日期),生日日期)
between getdate() and dateadd(day,2,getdate())
2.添加序号自动递增
select ROW_NUMBER() OVER (ORDER BY 序號 ASC) AS ' 序號' from
3.常用函数
<1>拆分戳去字符串内容
SUBSTRING(a.建立者,0,CHARINDEX('/',a.建立者))
<2>日期格式更改
convert(varchar,a.實際結束日期,23) ‘yyyy-MM-dd’
convert(varchar,a.實際結束日期,20) ‘yyyy-MM-dd HH:mm:dd’
<3>取余取模
/ %
<4>group查询理解
分组查询多条记录合并时,必须保证所有列字段一致(除了函数列sum等),类似的distinct用法。
<5>条件判断
(case when 条件 then 结果 else 结果 end)
<6>替换函数
REPLACE(列名稱,'origin','to')
<7>添加'内容
select '''' as 'test' 代表将'插入
<8>拼接字符串
concat('''','23',''''') 结果为 '23'
<9>数字四舍五入
ROUND(1.2323,3);
4、常用场景
<1>交换两行某个字段记录
update table1 as t1 join table2 as t2 on (t1.id=? and t2.id=?) or (t1.id=? and t2.id=?) set t1.node_num=t2.node_num,t2.node_num=t1.node_num
<2>查询出来的结果视图直接插入
insert into tabel1(a,b,c) select aa,bb,cc from table2
5、事务的隔离级别
1、MyISAM 管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。
2、MyISAM 与 InnoDB的区别
<a> InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
<b> InnoDB支持外键,MyISAM不支持
<c> InnoDB不支持FULLTEXT类型的索引
<d> 清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
9、其它
-- 查看当前数据库最多支持多少数据库连接
show variables like '%max_connections%';
-- 设置当前运行时mysql的最大连接数,服务重启连接数将还原
set GLOBAL max_connections = 200;
-- 修改 my.ini 或者my.cnf 配置文件
max_connections = 200;