
Mysql数据查询语句的英文缩写是SQL。是一种用来专门与数据库沟通的语言,而mysql则是一个关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
Mysql数据查询语句的英文缩写的特点
该语句为SELECT列名FROM表名即从xx表中提取xx列,若仅是该语句则会返回所有行,另外该语句不区分大小写,同时若同时存在多条sql语句,则以分号分隔若要去重则只需要在select后面添加distinct即selectdistinct列名from表名,此时返回的便是该表的该列中不重复的行。
一般的在数据量很大且我们只需要较少数据时,我们可以使用where子句来将我们需要的数据查找出来,具体而言简单的where子句只需要将某列的值过滤即可,只是前者只能单个字符进行匹配,方括号则是指定字符集进行匹配。
什么数据库,如果是oracle的提供给你,不用客气,就是分少了些。
CREATE OR REPLACE FUNCTION PUB_GET_PY(p_汉字 CHAR DEFAULT '%')
RETURN CHAR
IS
/
过程名称:PUB_GET_PY
功能:生成汉字拼音的首字符
/
v_汉字内码 NUMBER(8);
v_拼音 CHAR(1);
BEGIN
v_汉字内码 := ASCII(p_汉字);
IF v_汉字内码 BETWEEN 45217 AND 45252 THEN
v_拼音 := 'A';
ELSIF v_汉字内码 BETWEEN 45253 AND 45760 THEN
v_拼音 := 'B';
ELSIF v_汉字内码 BETWEEN 45761 AND 46317 THEN
v_拼音 := 'C';
ELSIF v_汉字内码 BETWEEN 46318 AND 46825 THEN
v_拼音 := 'D';
ELSIF v_汉字内码 BETWEEN 46826 AND 47009 THEN
v_拼音 := 'E';
ELSIF v_汉字内码 BETWEEN 47010 AND 47296 THEN
v_拼音 := 'F';
ELSIF v_汉字内码 BETWEEN 47297 AND 47613 THEN
v_拼音 := 'G';
ELSIF v_汉字内码 BETWEEN 47614 AND 48116 THEN
v_拼音 := 'H';
ELSIF v_汉字内码 BETWEEN 48117 AND 49061 THEN
v_拼音 := 'J';
ELSIF v_汉字内码 BETWEEN 49062 AND 49323 THEN
v_拼音 := 'K';
ELSIF v_汉字内码 BETWEEN 49324 AND 49895 THEN
v_拼音 := 'L';
ELSIF v_汉字内码 BETWEEN 49896 AND 50370 THEN
v_拼音 := 'M';
ELSIF v_汉字内码 BETWEEN 50371 AND 50613 THEN
v_拼音 := 'N';
ELSIF v_汉字内码 BETWEEN 50614 AND 50621 THEN
v_拼音 := 'O';
ELSIF v_汉字内码 BETWEEN 50622 AND 50925 THEN
v_拼音 := 'P';
ELSIF v_汉字内码 BETWEEN 50926 AND 51386 THEN
v_拼音 := 'Q';
ELSIF v_汉字内码 BETWEEN 51387 AND 51445 THEN
v_拼音 := 'R';
ELSIF v_汉字内码 BETWEEN 51446 AND 52217 THEN
v_拼音 := 'S';
ELSIF v_汉字内码 BETWEEN 52218 AND 52697 THEN
v_拼音 := 'T';
ELSIF v_汉字内码 BETWEEN 52698 AND 52979 THEN
v_拼音 := 'W';
ELSIF v_汉字内码 BETWEEN 52980 AND 53640 THEN
v_拼音 := 'X';
ELSIF v_汉字内码 BETWEEN 53641 AND 54480 THEN
v_拼音 := 'Y';
ELSIF v_汉字内码 BETWEEN 54481 AND 55289 THEN
v_拼音 := 'Z';
ELSE
v_拼音 := NULL;
END IF;
RETURN v_拼音;
END PUB_GET_PY;
CREATE OR REPLACE FUNCTION PUB_GET_STRING_PY(strs varchar2)
return varchar2
is
/
过程名称:PUB_GET_STRING_PY
功能:生成汉字字符串的拼音首字符
/
v_length number;
v_char varchar2(2);
v_charlength number;
v_charPY varchar2(2);
i int:=1;
myresult varchar2(500):='';
begin
--获取字符串长度
v_length:=length(strs);
while i<=v_length
loop
--按顺序取得字符
v_char:=substr(strs,i,1);
v_charlength:=lengthb(rtrim(v_char));
v_charPY:=rtrim(v_char);
--判断是否是汉字
if v_charlength=2 then
v_charPY:=pub_get_py(rtrim(v_char));
end if;
--将拼音进行连接
myresult:=myresult || v_charPY;
i:=i+1;
end loop;
return myresult;
end PUB_GET_STRING_PY;
/
1、用select 您要的字段 from 表 where 条件
2、比如从stu 表取到当前日期到15天以后学生的名字、年龄、数学分数,到期字段 exptime
select name, age ,mate from stu where convert(nvarchar(10),exptime,120)>=convert(nvarchar(10),dateadd(day, -15, getdate()),120)
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
定义和用法
DATEADD() 函数在日期中添加或减去指定的时间间隔。
语法
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart
缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
1如何找出第二名?
#偏移法 limit offset(快)
#排除法 先找到最大值,再找小于最大值的数据中的最大值(慢)
2日常固定搭配
#group by + having聚合函数做筛选只能用 having(快)
#group by + Where 做嵌套模式(慢)
3#删除表 用delete
4#求气温比昨天高的日期
5#mod 余数为1是基数,为0是偶数
6#求年龄
7#求本周过生日的学生
日期的运算
1、现有日期进行偏移(推荐)
date_sub(日期 ,要减少偏移的间隔)
date_sub(date,INTERVAL expr type)
date_add(日期 ,要增加偏移的间隔)
date_add(date,INTERVAL expr type)
expr 是要偏移的数值
type 是要偏移的方式
时间格式的转换
1、字符串转换为日期格式
str_to_date (时间字符串,字符串日期格式) :能够把字符串转换为标准日期格式
日期的格式
格式描述
%Y 年,4 位
%y年,2 位
%M英文名称的月名(一月为January,二月为February)
%m 数值月份 (00-12)
%D带有英文后缀的天(不太直观)
%d 数值天 (00-31)
%H 小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i 分钟,数值(00-59)
%S秒(00-59)
%s 秒(00-59)
%a英文缩写星期名
%b英文缩写月名
%c月,数值
%f微秒
%p显示是 AM 还是 PM
%r显示时分秒时间,12小时制(hh:mm:ss AM 或 PM)
%T显示时分秒时间, 24小时制 (hh:mm:ss)
%j显示当前日期是今年的第几天 (001-366)
eg:
select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09
select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09
select str_to_date('08092008', '%m%d%Y'); -- 2008-08-09
select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30
select str_to_date('08092008 08:09:30', '%m%d%Y %h:%i:%s'); --2008-08-09 08:09:30
2、日期转换为特殊字符串形式
date_format (日期,字符串格式):能够把一个日期转换为各种样式的字符串
eg:
select date_format(now(),'%Y-%M-%d %H') ; -- 2020-May-23 17
select date_format('2020-02-03 13:45:06676','%Y-%M-%D %I:%i:%S-%T') ; --2020-February-3rd 01:45:06-13:45:06
获取当前时间
1、获取年月日时分秒
now 函数:获取当前时间信息
eg:select now();
sysdate 函数:
eg:select sysdate();
区别:
now() 在执行开始时值就得到了;
sysdate() 在函数执行时动态得到值。
eg:
select now(), sleep(3),now();
select sysdate(), sleep(3) , sysdate();
2、获取年月日
current_date 函数
eg:
select current_date();
select curdate();
3、获取时分秒
current_time 函数
eg:
select current_time();
select curtime();
日常工作需要用到Mysql数据分析的案例:
涉及表:
orderinfo 订单详情表
| orderid 订单id
| userid 用户id
| isPaid 是否支付
| price 付款价格
| paidTime 付款时间
userinfo 用户信息表
| userid 用户id
| sex 用户性别
| birth 用户出生日期
1、统计不同月份的下单人数
2、统计用户三月份的回购率和复购率
复购率:当月购买了多次的用户占当月用户的比例
回购率:上月购买用户中有多少用户本月又再次购买
a、先筛选出3月份的消费情况
b、统计一下每个用户在3月份消费了多少次
c、对购买次数做一个判断,统计出来那些消费了多次(大于1次)的用户数
本月回购率:本月购买用户中有多少用户下个月又再次购买
3月份的回购率= 3月用户中4月又再次购买的人数 / 3月的用户总数
a、统计每年每月的一个用户消费情况
b、相邻月份进行关联,能关联上的用户说明就是回购
c、统计每个月份的消费人数情况及格得到回购率
3、统计男女用户消费频次是否有差异
1、统计每个用户的消费次数,注意要带性别
2、对性别做一个消费次数平均计算
4、统计多次消费的用户,第一次和最后一次消费间隔是多少天
1、取出多次消费的用户
2、取出第一次和最后一次的时间
5、统计不同年龄段,用户的消费金额是否有差异
a、计算每个用户的年龄,并对年龄进行分层:0-10:1,11-20:2,21-30:3
b、关联订单信息,获取不同年龄段的一个消费频次和消费金额
c、再对年龄分层进行聚合,得到不同年龄层的消费情况
6、统计消费的二八法则,消费的top20%用户,贡献了多少消费额
1、统计每个用户的消费金额,并进行一个降序排序
2、统计一下一共有多少用户,以及总消费金额是多少
3、取出前20%的用户进行金额统计
以上就是关于My sql数据查询语句的英文缩写是什么全部的内容,包括:My sql数据查询语句的英文缩写是什么、SQL 语句获取多汉字拼音缩写如何写成SQL update 更新语句、sql server 怎么取到当前日期到15天以后的数据(有到期时间字段)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)