Mysql常用的增删改查语法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Mysql常用的增删改查语法

1. 表的增删改

1. 创建表
create table 表名(列名 数据类型 [约束类型] [comment '备注'],

constraint 约束名 约束类型(列名)  )engine=innodb defalut charset=utf8;

从其他表查询几列数据生成新的表

create table 表名1 as select 列1,列2 from 表名2

2. 向表中添加数据

按列名添加一行数据

insert into 表名[(列名1,列名2...)] values(列1数据,列2数据...);

从其他表中复制数据

insert into 表名1 select 列名 from 表名2
3. 修改表中的数据

按条件修改数据

update 表名 set 列名=列值,列2名=列2值...where 选择条件

子查询结果赋值给表中数据

update 表名 set 列名=(子查询)
4. 删除表中的数据

按条件删除指定数据

delete from 表名 where 选择条件

销毁整张表或约束

drop table 表名;

drop index 约束名;
5. 修改表的结构

1.添加列

alter table 表名 add 列名 数据类型;

2.添加约束

alter table 表名 add [constraint 约束名] 约束类型(列名);

3.约束名 添加语法 撤销语法
4.外键约束 alter table 表名 add [constraint 约束名] foreign key(外键列) references 主键表名(主键列); alter table 表名 drop foreign key 约束名

5.默认约束 alter table 表名 alter 列名 set default ‘默认值’ alter table 表名 alter 列名 drop default

6.检查约束 alter table 表名 add [CONSTRAINT 约束名] check (列名10) alter table 表名 drop check 约束名

7.唯一约束 alter table 表名 add [CONSTRAINT 约束名] unique (列名) alter table 表名 drop index 约束名

8.主键约束 alter table 表名 add [CONSTRAINT 约束名] primary key (列名) alter table 表名 drop primary key

6.子查询

使用子查询的目的 :数据库连接耗时长,避免多次连接数据库,尽可能减少次数,提升数据库性能

能用连接解决时,不使用子查询
1.无关子查询

常用于where/having后用于约束父查询的条件,先执行子查询语句一次,父子查询间字段无关

select * from emp where sal > (select avg(sal) from emp)

3.相关子查询

常用于where后,子查询返回字段与父查询字段相关联,父查询每次要执行子查询中的条件一次

select * from emp f where sal > (select avg(sal) from emp where deptno=f.deptno)

表示比与自己所在部门的平均工资相比更高的记录被选择

4.嵌套子查询

常用于from后,把子查询返回结果看作一个表与父查询的表做连接

select * from emp a join (select deptno from emp) b on a.deptno = b.deptno

5.多列查询

表示列1,列2分别与子查询返回的第一列,第二列值相同的记录被选择

select * from emp where (列1名,列2名) in (子查询)

6.多行查询

字段 in(子查询) 与任意返回值相同

字段 <或或= any(子查询) 比最小返回值大或比最大返回值小或同in

字段 <或或= all(子查询) 比最小返回值小或比最大返回值大或完全相同

select * from emp where 列名 in/<=any/<=all (子查询)

7.当子查询出现null时

子查询返回null会造成比对时结果全部为null,任意字段与null比对后均返回null

(select comm from emp where comm is not null)

去除子查询返回结果集中的null值


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
mysql 简单的sql语句,入门级增删改查
介绍MySQL中的基本SQL语句,包括数据的增删改查操作,使用示例和简单的数据表进行演示。
mysql 简单的sql语句,入门级增删改查
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
67 1
|
2月前
|
关系型数据库 MySQL
MySQL表的增删改查(基础篇详细详解)
MySQL表的增删改查(基础篇详细详解)
37 5
|
2月前
|
关系型数据库 MySQL 数据库
mysql的增删改查
本文介绍了MySQL数据库中进行增删改查操作的基本语法和注意事项,包括如何添加、修改和删除数据。
45 2
|
2月前
|
关系型数据库 MySQL 数据库
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
60 5
|
2月前
|
关系型数据库 MySQL 数据库
MySQL的语法知识
MySQL的语法知识
18 4
|
2月前
|
SQL 关系型数据库 MySQL
MySQL语法
MySQL语法
69 3
|
2月前
|
SQL 存储 关系型数据库
mysql SQL必知语法
本文详细介绍了MySQLSQL的基本语法,包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等关键字的使用,以及数据库操作如创建、删除表,数据类型,插入、查询、过滤、排序、连接和汇总数据的方法。通过学习这些内容,读者将能更好地管理和操
21 0
|
2月前
|
SQL 关系型数据库 MySQL
Mysql(2)—SQL语法详解
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。
30 0
|
2月前
|
自然语言处理 关系型数据库 MySQL
MySQL数据库使用Match语法需要安装什么插件吗?
【10月更文挑战第1天】MySQL数据库使用Match语法需要安装什么插件吗?
66 0
下一篇
无影云桌面