MySQL的基础增删改查的使用

本章节主要介绍从增删改查数据

1.ID (列名)

ID 为一数据类型是整型 int

2.uname (列名)

uname 数据类型,可变长字符串,最大长度为25

3.gander(列名)

gander 定长字符串,长度为2

即如下

create table first_table(
id int, -- 列名:id,数据类型是整型int
uname varchar(25), -- 列名:uname,数据类型,可变长字符串,最大长度25
gander char(2) -- 列名:gender(性别),定长字符串,长度为2
);

增删改查

1.插入数据(增)insert

insert into first_table(id ,uname,gender)values(1,'张三','m');
insert into first_table(id,uname,gender)values(2,'李四','f'),
-- male(男)
--famale(女)

用其首字母代替

2.更新数据(改)update

update first_table set uname='老六',gender='f' where id = 1;

3.删除数据(改)delete

delete from first_table where id = 1 ;

4.查询数据(查)select

其中查询数据有多种

即 查询  限量查询(行)列查询 (列)别名查询 模糊查询 升降序排列 分组查询 聚合查询 去重查询 分页查询 内查询 外查询 左外查询 右外查询 嵌套查询 视图操作

1.查询

select * from first_table;

--登录,显示库、表,创建库、表,删(结构)库、表,数据增删改查
 

2.限量查询

SELECT * from product LIMIT 5;

3.列查询

SELECT username,Address,Phone from user;
4.别名查询

SELECT username as 用户名,Address as 地址,Phone as 手机号 from user;
5.模糊查询

SELECT *from user where username like '%i%';--'%(多字) _(单字)'任意位置有个字母'i'

SELECT *from user where username like '_o%;--第二个位置有个字符'o';'_'代表一个字符
SELECT *from user where username like '__i%';--第三个位置有个字符'i';

6.升降序排列

SELECT ProductName,Stock from product ORDER BY stock ASC;--Stock(库存)升序排列

SELECT ProductName,Stock from product ORDER BY stock DESC;--降序排列
 

7.分组查询 聚合查询

一般查找产品大类的种类和总库存

SELECT ProductName,ProductID,Description FROM PRODUCT GROUP BY ProductName,Description,ProductID;

SELECT ProductName,COUNT(*) as '大类',SUM(Stock)as '总库存' FROM product GROUP BY ProductName;
8.去重查询

SELECT DISTINCT ProductName FROM product;
9.分页查询

SELECT *from product LIMIT 5 OFFSET 7;
查找用户ID为1的订单信息

select o.OrderID,u.UserName,o.OrderDate,o.State,o.UserID,u.UserName,u.Email,u.Address,u.Phone
 from orders o,user u where o.UserID = u.UserID AND u.UserID=1;

10.内查询

(查找用户ID为1的订单信息为类似内查询)
 内查询,和关联查询功能一致,但效率比普通的关联查询高
 (可改变排列顺序)
 select o.OrderID,u.UserName,o.OrderDate,o.State,o.UserID,u.UserName,u.Email,u.Address,u.Phone
 FROM orders o inner join user u on o.userID = u.userid AND u.UserID =1

11.外查询

左外查询,左边的表所有满足的数据都找出来,右表没有的数据留空
查找所有订单的用户信息,用户不存在留空
 左外查询,左边是主表。主表是orders,次表是user.查找所有主表信息,此表信息不存在留空
select o.OrderID,u.UserName,o.OrderDate,o.State,o.UserID,u.UserName,u.Email,u.Address,u.Phone
FROM orders o left join user u on o.userID = u.userid

12.右外查询

右外查询,右表所有满足的数据都找出来,左表没有的数据留空    
查找所有用户的订单信息

右外查询,右边是主表。主表是user,次表是orders。查找所有主表信息,次表信息不存在留空
select o.OrderID,u.UserName,o.OrderDate,o.State,o.UserID,u.UserName,u.Email,u.Address,u.Phone
FROM orders o right join user u on o.userID = u.userid
ORDER BY u.UserID,o.OrderID

13.嵌套查询

把一次查询的结果(可以是多表,可以是单表)的结果当作一个临时表,并再次查询
select *from
(select u.UserID,u.UserName,u.Email,u.Address,u.Phone,o.OrderDate,o.State,o.OrderID 
FROM orders o right join user u on o.userID = u.userid
ORDER BY u.UserID,o.OrderID) c where c.UserName ='Alice';

14.视图操作

将常用的查询结果作为一个临时表(执行查询时才会生成数据;不存在硬盘上)
不建议直接对临时表(视图)做增删改的操作:数据来源于真实的表,内容随之改变;
CREATE VIEW view_order_user AS
(select u.UserID,u.UserName,u.Email,u.Address,u.Phone,o.OrderDate,o.State,o.OrderID 
FROM orders o right join user u on o.userID = u.userid
ORDER BY u.UserID,o.OrderID LIMIT 5);

简单增删改查

如下

mysql -u root -p
show databases
use mytest;
show tables;
create table first_table(
id int,
uname varchar(25),
gender char(2)
);
show tables;
insert into first_table(id,uname,gender) values(1,'张三','m');
select * from first_table;
update first_table set uname = '老六' , gender='f' where id = 1;
select *from first_table;
delete from first_table where id =1;
select * from first_table;
drop table first_table;
exit;(退出)

如下图

总结

如下图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值