mysql CRUD--MySQL笔记

这篇博客详细介绍了MySQL的CRUD操作,包括insert语句的使用、update语句更新数据、delete语句删除数据以及select语句进行数据查找的各种技巧,如DISTINCT、as、where、%、order by、group by、limit等。还涵盖了多表查询的方法,如自连接、子查询、union以及外连接等。
摘要由CSDN通过智能技术生成

目录

C(create)R(read)U(update)D(delete)

一.C:insert语句(添加)

二.U:update语句(更新)

三.D:delete(删除)

四.R:select语句(查找)

1.DISTINCT

2.as

3.where

4.%

5.order by

6.group by

7.limit

8.如果 select 语句同时含有 group by、having、limit、order by、他们的顺序为 group by --> having --> order by --> limit

五.多表查询

1.自连接

2.子查询

3.all

4.any

5.蠕虫复制

6.union(去重) 和 union all(不去重)(合并两个语句查询的结果)

7.外连接 


C(create)R(read)U(update)D(delete)

表定义 id 和 name 两个字段

一.C:insert语句(添加)

INSERT INTO aa VALUES (1,'张三')

输出:

注:

①.插入的数据应与字段的数据类型相同,并且长度必须在规定的范围内

②.在values 中列出 的数据位置必须与 列的排列位置相对应

③.字符和日期类型数据应包含在单引号中

④.列可以插入空值(创建字段时设置允许为空)

⑤.可以一次性添加 多条数据

⑥.给表中所有字段添加数据时可以不写字段名称

⑦.不给某个字段赋值时,有默认值会添加默认值,没有则会报错

二.U:update语句(更新)

UPDATE aa SET `name` = '李四' WHERE id = 1

查看:

①.如果没有 where 语句则更新所有的行

②.可以修改多个字段

三.D:delete(删除)

DELETE FROM aa WHERE id =1

查看: 

①.没有where语句,则会删除表中所有的数据

②.仅能删除表中数据,不能删除表本身

 

四.R:select语句(查找)

SELECT * FROM aa

查看: 

1.DISTINCT

//DISTINCT 去除重复的数据
SELECT DISTINCT * FROM aa

查看:

2.as

//as 给列起别名
SELECT id AS num FROM aa

查看: 

3.where

4.%

SELECT * FROM aa 
	WHERE `name` LIKE '张%'

查看:

5.order by

指定排序的列,asc(升序)、desc(降序),默认为升序

SELECT * FROM aa 
	ORDER BY id DESC

查看:

6.group by

原:

SELECT MAX(id) , place 
	FROM aa 
	GROUP BY place //按place 分组
	HAVING place = 'A' OR place = 'B' // place 等于 A 或者 B的

输出:

7.limit

SELECT * FROM aa 
	LIMIT 0,2

查看:

8.如果 select 语句同时含有 group by、having、limit、order by、他们的顺序为 group by --> having --> order by --> limit

五.多表查询

1.自连接

指在同一张表的连接查询

原表:

SELECT a1.nname ,a2.nname 
    FROM aa a1 , aa a2
	WHERE a1.id = a2.`next`

查看: 

2.子查询

指在其他 sql 语句中的 select 语句


①.单行子查询:只返回一行数据的子查询语句(=)

②.多行子查询:返回多行数据的子查询(in)

SELECT id,nname FROM aa WHERE place IN (
	SELECT place 
	FROM aa 
	WHERE place = 'A')

输出:

3.all

最少

SELECT id,nname FROM aa WHERE id > ALL(
	SELECT id
	FROM aa 
	WHERE place = 'A')

输出:

4.any

最多

SELECT id,nname FROM aa WHERE id > ANY(
    SELECT id
    FROM aa 
    WHERE place = 'A')

输出: 

5.蠕虫复制

需要海量数据时

INSERT INTO aa 
	SELECT * FROM aa

查看: 

6.union(去重) 和 union all(不去重)(合并两个语句查询的结果)

SELECT id,nname,place FROM aa WHERE id =3 UNION 
SELECT id,nname,place FROM aa WHERE place = 'A'

查看:

SELECT id,nname,place FROM aa WHERE id =3 UNION ALL
SELECT id,nname,place FROM aa WHERE place = 'A'

查看:

7.外连接 

aa上面复制了一下

aa:

bb:

①.左外连接(左侧的表完全显示)

SELECT aa.id,nname,t1
	FROM aa LEFT JOIN bb 
	ON aa.id = bb.id

查看:

②.右外连接(有侧的表完全显示)

SELECT bb.id,nname,t1
	FROM aa RIGHT JOIN bb 
	ON aa.id = bb.id

查看:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值