当前位置: 首页 > news >正文

MySQL的基础语法-2

基础语句

like: 用于where子语句,

%XX,以XX结尾;
XX%,以XX开头
%XX%,包含XX

select * from table where name like %a%;
SQL UNION 默认不重复,允许重复使用 UNION ALL
select name from table1 union select name from table2
排序 order by

asc 升序, 默认项
desc 倒序,降序

select name from table1 where id = 1 order by id desc
group by
SELECT `name` ,COUNT(1) FROM employee_tbl GROUP BY `name`;
WITH ROLLUP 跟列排序有关,(a,b,c)产生(a,b,c)、(a,b)、(a)三种层次聚合
SELECT COALESCE( `name`, '总数') as singin_name, SUM(singin) as singin_count FROM table1 GROUP BY `name` WITH ROLLUP;

//coalesce(a,b,c) anull则选择b,bnull则选择c
此处还有cube,多维度聚合,(a,b,c)产生(a,b,c)、(a,b)、(a,c)、(a)、(b,c)、(b)、©

连接
  1. INNER JOIN 可省略为JOIN 交集
  2. LEFT JOIN 读取左表所有,右侧没有则显示NULL
  3. RIGHT JOIN 读取右表所有,左侧没有则显示NULL
SELECT * FROM table1 a JOIN table2b ON a.id = b.id
NULL判断必须使用IS NULL 或者IS NOT NULL或 <=> 两者都为null返回true;还可以利用ISNULL(exp)
select * from table1 where NOT ISNULL(name)

等同于

select * from table1 where name is not null
正则表达式:跟mysql无关,多用于输入验证,或爬虫匹配
  1. ^a 匹配以a开头的字符串
  2. b$ 匹配以b结尾的字符串
  3. . 匹配出\r以外的任意字符
  4. [abcd] 匹配abcd中的任意字符
  5. [^abcd] 匹配除此之外的任意字符
  6. a|b|c 匹配aOR b OR c
  7. 匹配0次或以上 等价{0,}
  8. 匹配至少一次 等价{1,}
  9. {n} 匹配n次,n >=0
  10. {n,m} 匹配至少n次,最多m次
事务:
  1. BEGIN 开始一个事务
  2. ROLLBACK 事务回滚
  3. COMMIT 事务确认
    • 默认自动提交,设置SET AUTOCOMMIT=0禁止自动提交
alter
  • 删除字段
 alter table table1 drop id;
  • 新增字段
 alter table table1 add id INT;
  • 修改字段
alter table table1 modify id char(10);
alter table table1 change id id char(10);
alter table table1 change id ids INT;
  • 修改字段默认值
alter table table1 modify name varchar(100) not null default 'a';
alter table table1 alter name drop default;
  • 修改表名
alter table table1 rename to table2;
索引
  • 创建索引
 create index indexName on table1(name(10));
  • 添加索引
 alter table table1 add index indexName(name);
  • 删除索引
 drop index indexName on table1;
  • 创建唯一索引
 create unique index indexName on table1(name(10));
临时表

只存在于当前会话中 CREATE TEMPORARY TABLE tableTemp;

复制表

只复制表结构create table newTable like oldTable;
复制表结构及数据create table newTable select * from oldTable;

批量更新uuid
UPDATE mt_note SET uuid =UUID();

如果想去掉-需要先设置为36位,再批量更新替换掉-;直接使用REPLACE,会使所有uuid一样。

UPDATE mt_note SET uuid =UUID();
UPDATE mt_note SET uuid = REPLACE(uuid,'-','');

条件运算符

在这里插入图片描述

Sql语句分类

在这里插入图片描述

数据类型

数值型

在这里插入图片描述

字符串

在这里插入图片描述

日期类型在这里插入图片描述
聚合函数

在这里插入图片描述

权限控制

在这里插入图片描述


http://www.mrgr.cn/news/48493.html

相关文章:

  • 电商新动力:SpringBoot购物推荐网站开发详解
  • 国内首个专业领域知识增强服务框架 KAG 技术报告,助力大模型落地垂直领域
  • Apple提出MM1.5:多模态大型语言模型微调的方法、分析和见解
  • Ubuntu卸载Mysql【ubuntu 24.04/mysql 8.0.39】
  • 利用Spring Boot构建医疗病历B2B平台的优势
  • yolo5快速上手训练数据集
  • 125页满分PPT | 数据架构革新顶层规划方案
  • 弧光保护装置的应用
  • 大模型完美攻略手册(从入门到专家)精选资源集,新手入门教程!
  • 在python中如何判断回文串(二)?
  • 漏洞挖掘和渗透测试的区别是什么?(非常详细),零基础入门到精通,看这一篇就够了
  • 【华为】RIP与 BFD联动
  • 给参加AI大模型秋招和实习的同学一点建议,看完这一篇就够了
  • 后端——eclipse实现前端后端的交互(1)
  • 网络舆情如何防控与管理?小马识途分享10招
  • 构建基于 阻塞队列 / 环形队列 的高效生产消费者模型系统
  • 安卓-广播
  • 高精度定位技术综合应用与注意事项
  • 长时间蓝屏的问题解决:使用ST7567控制器的LCD液晶显示模组的软件优化
  • Qt-系统处理键盘按键相关事件(58)