zoukankan      html  css  js  c++  java
  • 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中的存储过程、函数、触发器、视图等不再进行学习,正常用到的时候在进行学习

     
  • 相关阅读:
    两类斯特林数的整理
    SXOI2019游记
    3.13校内测试
    Python Flask 实现移动端应用接口(API)
    CentOS下实现Flask + Virtualenv + uWSGI + Nginx部署
    iOS组件化开发入门 —— 提交自己的私有库
    Runtime ----- 带你上道
    iOS核心动画以及UIView动画的介绍
    GCD中各种队列和任务执行方式的组合
    iOS消息转发机制和使用
  • 原文地址:https://www.cnblogs.com/niushichong/p/10038251.html
Copyright © 2011-2022 走看看