mysql手写_MYSQL随手写-持续更新

注:本随笔只是mysql知识的积累,如果您看到此随笔,有错误请指正,谢谢!

# 标准建表语句

DROP TABLE IF EXISTS temp_whc_ceshi2 ;

CREATE TABLE IF NOT EXISTS temp_whc_ceshi2

(

s_no int(20) NOT NULL auto_increment COMMENT "自增主键|学号"

,s_name varchar(25) default "未获取" COMMENT "学生姓名"

,s_cno int(30) default 10 COMMENT "班级号"

,create_time datetime not null default current_timestamp comment'创建时间'

,updatetime datetime not null default current_timestamp on update current_timestamp comment '更新时间'

,PRIMARY KEY (s_no)

)

ENGINE InnoDB DEFAULT CHARSET = UTF8 COMMENT "测试表"

;

# 查看表结构

desc temp_whc_ceshi2;

# 查看建表语句

show create table temp_whc_ceshi2;

# 修改表名

alter table temp_whc_ceshi2 rename to temp_whc_ceshi;

# 修改字段类型

alter table temp_whc_ceshi modify s_cno varchar(30);

# 修改列名字

alter table temp_whc_ceshi change s_no s_id int(30);

# 增加字段

alter table temp_whc_ceshi add column s_sex varchar(5) default "男" comment "性别" after s_name;

alter table temp_whc_ceshi add column (one int(10) default 0 comment "一个字段",two int(10) default 0 comment "二个字段");

# 删除字段

alter table temp_whc_ceshi drop sex;

# 字符类型

decimal(8,2) # 主要金额类定义

# 插入系统当前日期

current_time 时分秒 / now() 年月日时分秒 /current_timestamp 时分秒

# 函数

abs() # 绝对值

mod(a,b) # 求余数

round() # 四舍五入

char_length() # 字符串字符个数

length() # 字符串字节长度

concat() # 字符串连接函数

concat_ws("连接符",字符串1,字符串2) # 字符串连接函数 含连接符 忽略空值

insert(字符串1,起始位,替换长度,目标字符串)

upper()/lower() # 大写小写函数

left(字符串,位数)/right(字符串,位数) # 输出字符串左/右侧指定个字符

locate(搜索字符,指定字符)/position(搜索字符,指定字符)/instr(搜索字符,指定字符) # 输出字符串开始位置

replace(指定字符,目标,期望) # 替换函数

# 系统日期

current_date/curdate() # 2018-12-03

current_time/curtime() # 15:06:00

current_timestamp()/localtime()/now()/sysdate() # 2018-12-03 15:29:00

unix_timestamp() # 10位时间戳

from_unixtime() # 解析出unix时间

utc_date() # 当前时区日期

month() # 12 月份

monthname() # December 月份名字

dayname() # Thursday 星期几

dayofweek() # 日的索引:1代表周日 2代表周一

weekday() # 日的索引:0代表周一 1代表周二

week(时间,参数0/1) # 返回时间是本年的第几周,如果参数为0或不写,则为以周日为一周第一天,如果是1 则以周一为第一天

dayofyear() # 返回时间是本年第几天

dayofmonth() # 返回时间是本月第几天

extract() # year from '2018-12-10 00:00:00' 返回 2018,month from 时间,返回12,day from 时间返回10,year_month from 时间返回201812

adddate()/date_add(时间,interval 增加值 模式) # 模式=day,加日,month 加月,year 加年

date_sub()/subdate(时间,interval 减少值 模式) # 同上

addtime(时间,增加值)/subtime(时间,减少值) # 值='1:1:1'增加1小时1分钟1秒钟

datediff(时间1,时间2) # 返回两个时间的差值(天为单位)

date_format(时间,输出格式) # %Y%m%d=20181210 %Y-%m-%d=2018-12-10 %W %M %Y Monday December 2018 %H:%i:%s 16:21:37

# 逻辑判断

if(条件,值1,值2) # 成立选1,不成立选2

coalesce(目标,替换) # 判断为空则替换为替换值

ifnull(值1,值2) # 返回非空值

case 目标 when 条件 then 值 end # 逻辑判断

# 加密函数

md5()

# 转换字符类型函数

cast(目标 as 字符)/convert()

rand() # 随机值

# 查询

in/not in

between and # 包含起始和结尾值

like # 匹配函数

and/or # 并列/或

distinct # 去重

order by # 排序 desc降序/asc升序 默认升序

group by having # 分组

count() # 计算行数

sum()/min()/max()/avg()

# 表关联

inner join # 内连接 返回共同的值

left outer join # 返回左表全部 N:1

exists/not exists # 表关联查询速度快

# 合并结果

union/union all # 合并查询列数/字符类型应一致,前者去重后者不去重

# 正则查询

regexp # 正则匹配关键字,在这里不进行介绍,以后单独学习正则

# mysql中的存储过程、函数、触发器、视图等不再进行学习,正常用到的时候在进行学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值