--net start/stop MySQL57 开启或关闭mysql数据库服务
--登陆mysql:
mysql自带工具MySQL 5.7 Command Line Client,仅限于root用户
window的cmd命令,mysql -h localhost -P3306 -u root -pwhb556600
--show databases 显示有哪些库
--use db_name 切换使用的库
--show tables (from db_name) 显示库中的表
--mysql --version 或 mysql -V 或 select version()
--单行注释
-- (+空格)或#
--多行注释
/*
--f9 执行 f12 格式化
--select "name" from employees 着重号可有可无
--select 100; 没有用到伪表
--+号,只做加法运算,用concat(str1,str2...)链接字符串
select '123'+77;#200
select 'abc'+56;#相当于0+56
select null +56#null
--oracle:nvl <------> ifnull
--模糊查询 %a%:查询出包含A和a的情况,如果''作为转义字符可以省略escape oracle都要加
--between and 包含区间值
--<=> 安全等于可以判断null的情况,也可以判断普通的= ,但是没有is (not) null可读性高
--order by:单个字段,多个字段,表达式,函数,别名 ,通常放在最后(同oracle) ,limit子句除外
--select now() 查询系统时间
--substr(first_name,1,3) 开始下标从1开始 oracle从0和1都是从第一个开始 最后一个参数指的是字符的长度
--length('我是魏焕波') mysql:一个中文字符3个字节 oracle:一个中文1个字节
--instr('我是大串烧','大串烧') 返回子串第一次出现的索引 找不到返回0 同oracle
--trim() 去掉前后空格 也可select trim('波' from '是魏焕波') from dual t 去掉指定前后指定字符 同oracle
--round(6.32,2) 小数四舍五入 ceil(6.23) 向上取整 floor(6.23) 向下取整 mod(-0.67,2) 取余(符号决定于被除数)
--select truncate(6.76,1) 截断 oracle:select truncate(6.76,1) from dual
--select year('1990-01-05')
select month('1990/01/05')
select monthname('1990/01/05')
select day('1990/01/05') --还有 hour MINUTE second
--str_to_date 将日期字符串转日期:%Y 四位年份 %y 两位年份 %m月份(01,02....) %c月份(1,2...) %H 24小时制 %h12小时制
%i 分钟(00,01,02....) %s 秒(00,01,02...)
--date_format 将日期转化成日期字符串:select date_format('2018/1/06','%Y年-----%c月@@@%d日')
--database() 查看当前数据库
--user() 查看当前用户
--if(10<5,'大','小') if函数
--case when then :同oracle
--分组函数 如avg(distinct salary) 支持去重后运算 sum 和 avg 和count 都是去null的
--SELECT DATEDIFF(NOW(),STR_TO_DATE('2017/01/01','%Y/%m/%d')) 查询两个日期间隔天数
--group by和having 可以使用别名 oracle中不可以
--order by 支持别名 同oracle
--limit offset,size 放在sql最后
--mysql不支持全外链接
--插入数据区别于oracle的:insert into t_table set a='',b=5,c=...
--instr(a,'x') 获取指定字符串在a中的索引位置 ,索引从1开始
--any 任意一个,满足一个就可以了 all 全部的 每一个都要满足
网友评论