首页 > 数据库 >MySQL常用语句整理

MySQL常用语句整理

时间:2022-10-21 14:04:53浏览次数:49  
标签:语句 常用 like column 列名 MySQL 表名 table alter


MySQL常用语句整理_结果集

该文章整理于牛客刷题中遇到的语法等问题

该文章整理于牛客刷题中遇到的问题

  1. ​SQL​​​执行语句:​​**select –>where –> group by–> having–>order by**​
  2. ​UNION【ALL】​​:
  1. 使用​​UNION​​可以实现将多个查询结果集合并为一个结果集。
  2. ​ALL​​:表示在结果几种不去除重复的记录
  3. 没有指定​​ALL​​:去除合并后结果集中重复的记录
  4. 所有查询语句中列的个数和列的顺序必须相同。
  5. 所有查询语句中对应列的数据类型必须兼容。
  6. ORDER BY语句要放在最后一个查询语句的后边。
  1. 时间处理:
  1. ​YEAR/MONTH​​函数等
  2. ​date_format()​​函数:date_format(date, "%Y-%m")="202108"
  3. ​day(last_day(xxxx))​​ 当前月份中有多少天:
  4. ​last_day() ​​函数:返回月份中的最后一天。
  1. 模糊匹配:
  1. ​like _​​ 单个
  2. ​like % ​​多个
  3. 正则:​​regexp​
  4. ​instr(M,S) ​​ M 模板串,S子串; 返回结果:<= 0不存在,> 0存在
  5. like模糊匹配多个
  1. ​like %xxx%xxx%​
  2. ​like %xxx% and like %yyy%​
  1. 联结:
  1. 内联结:​​inner join​​。取两列的交集。
  2. 外联结:
  1. ​left join​​:左连接,以左边表的列为主,取两列的交集,对于不在右边列存在的名称取null。
  2. ​right join​​:右连接,以右边表的列为主,取两列的交集,对于不在左边列存在的名称取null。
  1. 统计(​​count​​函数)
  1. ​count(*)​​包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
  2. ​count(1)​​包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
  3. ​count(列名)​​只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
  1. 数据更新或插入(​​replace​​ )
  1. 通过主键 / 唯一索引,先删除源数据(若存在),再插入数据(格式与​​insert into​​相似)
  2. ​replace into​​:有就覆盖,没有就插入
  1. ​timestampdiff​​函数
  1. ​TIMESTAMPDIFF(interval, time_start, time_end)​​​可计算​​time_start-time_end​​的时间差,单位以指定的interval为准,常用可选:
  1. SECOND 秒
  2. MINUTE 分钟(返回秒数差除以60的整数部分)
  3. HOUR 小时(返回秒数差除以3600的整数部分)
  4. DAY 天数(返回秒数差除以3600*24的整数部分)
  5. MONTH 月数
  6. YEAR 年数
  1. 删除数据:
  1. 根据条件删除:​​DELETE FROM tb_name [WHERE options] [ [ ORDER BY fields ] LIMIT n ]​
  2. ​TRUNCATE tb_name​​:全部删除(表清空,包含自增计数器重置)
  1. DDL(数据定义语言)
  2. 添加列
  1. ​alter table 表名 add column 列名 类型 【first|after 字段名】​​;
  1. 修改列的类型或约束
  1. ​alter table 表名 modify column 列名 新类型 【新约束】​​;
  1. 修改列名
  1. ​alter table 表名 change column 旧列名 新列名 类型​​;
  1. 删除列
  1. ​alter table 表名 drop column 列名​​;
  1. 修改表名
  1. ​alter table 表名 rename 【to】 新表名​​;
  1. 将某一列放到第一列
  1. ​alter table 表名 modify column 列名 类型 first​​;
  1. 删除表
  1. ​drop table【if exists】 表名​​;
  1. 复制表结构
  1. ​create table 表名 like 旧表​​;
  1. 复制表的结构+数据
  1. ​create table 表名 ​
  2. ​select 查询列表 from 旧表【where 筛选】​​;
  1. 四舍五入(​​ROUND​​)
  2. ​ROUND(X)​​,返回参数 X 最近似的整数
  3. ​ROUND(X,D)​​,返回 X ,其值保留到小数点后 D 位,第 D 位的保留方式为四舍五入



标签:语句,常用,like,column,列名,MySQL,表名,table,alter
From: https://blog.51cto.com/xbhog/5782599

相关文章