目录

一、增:insert

二、删:delete

三、改:update

四、查:select


一、增:insert

基础语法

注意

  • 按“行”插入
  • “字段”和“值”之间,一一对应
  • 值的形式:数字直接写,字符串和时间加单引号,但如果是函数值,则不能加引号
  • auto_increment, timestamp等字段无需插入

id

name

age

phone

1 王麻子 32 13141098899
2 九筒 32 13721096541
3 六子 18 13139192657
4 马邦德 37 15855996688

Example

insert into student (name, age, phone) values('王麻子', 32, '13141098899');
insert into student (id,name, age, phone) values(2,'九筒', 32, '13721096541'),(3,'六子', 18, '13139192657'),(4,'马邦德', 37, '15855996688');

二、删:delete

基础语法

delete from 表名 [where  条件] [order by 排序的字段 [desc 取反]] [limit  限定的行数];
drop table  表名     /*整个表将不复存在*/

注意

  • “以行为单位”删除
  • 删除语句中,where条件如果不写,则就删除了所有数据
  • order排序子句用于设定删除数据的先后顺序
  • limit限定子句用于限定在设定的顺序情况下删除指定的某些行

三、改:update

基本语法

修改

update 表名 set 字段名1=值1,字段名2=值2,....[where条件] [order排序] [limit限定];

注意

  • 以“行”为单位进行的,可以指定只更新其中的部分字段
  • 其他限定遵循insert语法

四、查:select

4.1实例表创建

班级表

CREATE TABLE class (id int  NOT NULL AUTO_INCREMENT,name varchar(10) ,PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

老师表

CREATE TABLE teacher (id int  NOT NULL AUTO_INCREMENT,name varchar(10) ,age int ,phone char(11) ,PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

student学生表

create table  student(
id int auto_increment primary key,
name varchar(10),
age  int,
class_id int,
foreign key(class_id) references class(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

多对多关系表

create table class2teacher(
id int auto_increment primary key,
class_id int,
teacher_id int,
foreign key(class_id) REFERENCES class(id),
foreign key(teacher_id) references teacher(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

4.2实例表数据添加

class(班级表)

insert into class(name) values
("云计算1810"),
("云计算1901"),
("云计算1902");

teacher(老师表)

insert into teacher(name, age, phone) values
("奇哥", 18, "13733878989"),
("强哥", 28, "15633878989"),
("磊哥", 30, "13933878989"),
("闫老师", 18, "13633878989");

student(学生表)

insert into student(name, age, class_id) values
("黛玉", 18, 3), ("钦文", 19, 3),("马邦德", 30, 1),
("九筒", 48, 1),("六子", 36, 2),("汤师爷", 18, 2),
("麻匪", 18,2),
("黛玉", 18,2);

class2teacher(班级到老师多对多关系表)

insert  into class2teacher(class_id,teacher_id) values
(1,1),(1,2),(2,1),(2,2),(2,3),(3,1),(3,3);

4.3单表查询

4.3.1基础查询

select * 或者[字段名] from 表名;select * from 表;
select * from 表 where id > 2;
select id,name,age as gg from 表 where id > 2;

4.3.2高级查询

a、条件SELECT * 或 [字段名] FROM 表名 WHERE 条件;select * from 表 where id > 1 and name != '王麻子' and age = 18;select * from 表 where id between 5 and 16;select * from 表 where id in (11,22,33);select * from 表 where id not in (11,22,33);select * from 表 where id in (select id from 表);b、去重SELECT DISTINCT [字段名] FROM 表名;select distinct name from 表;c、通配符SELECT * 或 [字段名] FROM 表名 WHERE 字段名 LIKE 'xx%'或 'xx_';  --%匹配多个字符;_匹配单个字符select * from 表 where name like 'sha%';  -- sha开头的所有(多个字符串)select * from 表 where name like 'shar_';  -- sha开头的所有(一个字符)d、限制SELECT * 或 [字段名] FROM 表名 LIMIT [N];select * from 表 limit 5;            - 获取前 5 行select * from 表 limit 0,2;          - 从第 1 行开始, 取出 2 行, 包含第 1 行select * from 表 limit 2 offset 0;   - 从第 1 行开始, 取出 2 行, 包含第 1 行e、排序SELECT * 或 [字段名] FROM 表名 ORDER BY 字段名 [ASC | DESC];select * from 表 order by 列 asc;              - 根据 “列” 从小到大排列select * from 表 order by 列 desc;             - 根据 “列” 从大到小排列select * from 表 order by 列1 desc,列2 asc;    - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序f、分组SELECT 字段名 [聚合函数] FROM 表名 GROUP BY 字段名 [ASC | DESC]select age from 表 group by age;select age,id from 表 group by age,id;select age,id from 表  where id > 10 group by age,id order by id desc;select age,id,count(*),sum(age),max(age),min(age) from 表 group by age,id;特别的:group by 必须在where之后,order by之前g、having设置条件SELECT 字段名 [聚合函数] FROM 表名 GROUP BY 字段名 HAVING 条件;select age from 表 group by age having max(id) > 10;h、嵌套查询select * from  (select name from t1 where age>18 and age < 25 order by id desc limit 2 ) as tt  order by id;

4.3.3多表查询

4.3.3.1子查询--企业通用方法

-- 查询到 每个班级的所有学员的姓名
select class.name, student.name
from class, student
where student.class_id=class.id;-- 查询到 云计算1901班级的所有学员的姓名
select class.name, student.name
from class, student
where class.name="云计算1901"
and student.class_id=class.id;-- 查询到 马邦德 是哪个班级的
select student.name as 学员姓名,class.name as 班级姓名
from student,class
where student.name='马邦德'
and student.class_id=class.id;-- 查询老师 奇哥 都负责哪些班级
select t.name,c.name
from teacher as t, class as c ,class2teacher c2t
where t.name='奇哥'
and c2t.teacher_id=t.id
and c2t.class_id=c.id;

4.3.3.2连表查询:join

/*无对应关系则不显示*/
select  A.class_name, B.name
from class as A, teacher as B
Where A.id = B.class_id/* 内连接   无对应关系则不显示*/
SELECT 字段集 FROM 表1 INNER JOIN 表2 ON 连接条件;
select A.class_name, B.name
from class as A inner join teacher as B
on A.id = B.class_id/* 左连接   左边的表(A)所有显示,如果右边的表(B)中无对应关系,则值为null*/
SELECT 字段集 FROM 表1 LEFT JOIN 表2 ON 连接条件;
select A.class_name, B.name
from class as A left join teacher as B
on A.id = B.class_id/* 右连接 右边的(B)表所有显示,如果左边的表(A)中无对应关系,则值为 NULL*/
SELECT 字段集 FROM 表1 RIGHT JOIN 表2 ON 连接条件;
select A.name, B.name
from class as A right join teacher as B
on A.id = B.class_id

Example

select class.name, student.name
from class join student
on student.class_id=class.id;select class.name,student.name
from class inner join student
on student.class_id=class.id
where class.name="云计算1901";select teacher.name, class.name
from class, teacher, class2teacher
where teacher.name = "奇哥"
and class2teacher.teacher_id=teacher.id
and class2teacher.class_id = class.id;select teacher.name, class.name
from class join teacher join class2teacher
on class2teacher.teacher_id=teacher.id and class2teacher.class_id = class.id
where teacher.name = "奇哥";

参考链接:

http://baijiahao.baidu.com/s?id=1649513276188155038&wfr=spider&for=pc

https://www.jianshu.com/p/0427b1f97899

mysql常用增删改查命令总结相关推荐

  1. MongoDB简介及常用增删改查命令

    MongoDB 简介 NoSQL 的概念:指的是非关系型数据库. NOT only sql 的缩写.特别适用于大规模 的数据存储.例如:谷歌或者facebook 每天为用户收集亿万级别的数据,这些数据 ...

  2. MySQL常用增删改查操作(CRUD)

    ⚡️前言⚡️ 本篇文章主要介绍在MySQL数据库中常见的增删改查(CRUD)SQL语句操作.

  3. MySQL常用增删改查语法命令

    一. 添加数据:INSERT Insert 语句用于向数据库中插入数据 1. 插入单条数据(常用) 语法:INSERT INTO 表名(列名1,列名2,...) values(值1,值2,...) 案 ...

  4. yii mysql语法_yii2 + mysql 常用增删改查操作语法以及事务

    关于数据库mysql的使用: 1.查询: Salesorderitem::find()-asArray()-where([order_id=$order_id])-all():Salesorderit ...

  5. yii2 mysql update_yii2 + mysql 常用增删改查操作语法以及事务

    关于数据库mysql的使用: 1.查询: Salesorderitem::find()-asArray()-where([order_id=$order_id])-all():Salesorderit ...

  6. MySQL数据库增删改查常用语句详解

    MySQL数据库增删改查常用语句详解 一 MySQL数据库表结构 1.1 常见数据类型 1.2 常用约束类型 1.3 MySQL存储引擎 二 DDL语句:数据定义语句 2.1 修改数据库密码 2.1. ...

  7. JDBC+MySQL入门增删改查案例

    目录 前言 案例分析 核心思路拆解 案例涉及知识点 第一关 创建数据库和项目 创建数据库 创建项目 第二关 JDBC插入和查询 预备工作 单个插入 批量插入 查询数据 JDBC修改和删除 修改数据 删 ...

  8. MYSQL数据库 增删改查基础语句

    MYSQL数据库 增删改查基础语句 **********************DDL 语句 *********************   ( DDL 是数据定义语言的缩写,简单的说,就是对数据库内 ...

  9. Go操作mysql实现增删改查及连接池

    [-] 下载驱动 创建测试表 数据库连接 插入操作 查询操作 修改操作 删除操作 完整代码 小结 开启web服务 db对象初始化 请求方法 小结 golang本身没有提供连接mysql的驱动,但是定义 ...

最新文章

  1. java中定义类头的修饰符,JAVA中定义类头时能使用的修饰符是什么
  2. Linux之nfs服务
  3. 2017计算机信息技术,2017年一级计算机信息技术及应用考试试题级答案[权威资料]...
  4. MySQL Cluster 4个数据节点压力测试--mysqlslap工具压400W写
  5. CCF201609-2 火车购票
  6. $.extend(true,{},a,b)解析
  7. SDL2.0超简单入门 100行代码实现播放wav声音文件
  8. 致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失
  9. 如何批量将 Xls 格式的 Excel 文档转为 Xlsx 格式
  10. 怎么将excel转换pdf在线转换
  11. 创建FTP站点访问超链接
  12. 网易的java微专业_网易微专业Java开发工程师(Web方向)
  13. 学以致用——微博文章内容统计分析之一(Excel+GraphLab)
  14. 如何理解BRD、MRD、PRD这些名词
  15. 哪款安卓手机适合跑AI?移动端芯片性能评测论文出炉
  16. 【会议记录】2022北京网络安全大会-杨珉-软件供应链安全治理之漏洞补丁:现状及应对方案
  17. 1734-AENTR/1734-AENT IP设置及在5000软件中组态方法
  18. 需求工程各个步骤详解
  19. js求平方根/立方根
  20. 第13章 人口规模

热门文章

  1. 第9章第24节:制作商业计划书的盈利模式幻灯片 [PowerPoint精美幻灯片实战教程]
  2. 绝对管用的eclipse连接夜神模拟器方法
  3. EDSAC计算机之父——Maurice Wilkes
  4. 基于Hadoop豆瓣电影数据分析(综合实验)
  5. CentOS7 下MariaDB安装与简单配置(最新)
  6. 【源码好又多】springboot后台框架
  7. 专题·置换【including 置换,置换快速幂,洛谷·[HNOI2001]洗牌机
  8. 创业公司如何搭建服务器配置方案?
  9. EOS测试链加入流程(代码版本与主网同步)
  10. 乐事薯片:价格涨了,质量降了,年轻人的快乐没有了