MySQL数据的增删查改(CRUD)

目录

一、增(Create)

插入数据:

1、全列插入

2、指定列插入

3、插入多行数据

二、查询(retrieve)

1、全列查询(一般不建议使用)

2、指定列+表达式查询

3、别名

4、DISTINCT去重

5、ORDER BY排序 

6、WHERE条件查询

7、分页查询(MySQL特有)

三、修改(Update)

四、删除(Delete)


一、增(Create)

drop table if exists student;
create table student(
	id int,
	sn int comment '学号',
	sname varchar(20) comment '姓名',
	e_mail varchar(20) comment '邮箱'
);

插入数据:

1、全列插入

INSERT INTO table_name VALUES(字段1要插入的值,字段2要插入的值);

顺序为建表时的默认顺序

insert into student values(10,1,'张三',NULL);
insert into student values(11,2,'李四','1234567@.com');

2、指定列插入

INSERT INTO table_name(属性名1,属性名2...) VALUES(字段1要插入的值,字段2要插入的值...);

insert into student(sn,sname) values(3,'王五');

3、插入多行数据

INSERT INTO table_name(属性名1,属性名2...) VALUES(字段1要插入的值,字段2要插入的值...)(字段1要插入的值,字段2要插入的值...);

insert into student(sn,sname) values(3,'王五')(4,'赵六');

二、查询(retrieve)

1、全列查询(一般不建议使用)

效率较低,涉及到了索引优化问题

select * from student;

2、指定列+表达式查询

select id+10,concat(sname,'学生'),100 from student;

结果id属性列会加10,sname后面统一加学生二字(使用concat函数连接字符串),后面还会多一列名称和值皆为100的属性

3、别名

select id '卡号' from student;

空格隔开写别名

4、DISTINCT去重

select distinct id from student;

这里id相同的元组会被去掉。如果这里写两个属性,则只有这两个属性全部相同才会被去掉。

5、ORDER BY排序 

select id,amount from student order by id,amount;-- 升序
select id,amount from student order by id,amount DESC;-- 降序

 默认为ASC(升序),DESC为降序。

查找结果优先按照id(主关键字)进行排序,如果id相等再按照amount进行排序(次关键字),按书写顺序来。

注:如果有NULL数据视为比任何值都小;如果使用别名也可以进行排序

6、WHERE条件查询

 like使用样例:

select Sname from student where Sname like '李%';-- 匹配到所有姓李的学生
select Sname from student where Sname like '李_';-- 匹配到所有姓李的两个字的学生

注:WHERE条件可以使用表达式,但不能使用别名

7、分页查询(MySQL特有)

select * from student limit 2,3;

表示从下标2行开始(第三行),向下显示三行数据。

注:分页操作是基于上面的过滤结果进行分页的,而且如果顺序不一样(升序降序),分页结果也是不一样的。

三、修改(Update)

UPDATE table_name SET 要修改的属性 = 修改量 [WHERE ...] [ORDER BY ...] [LIMIT ...]

update student set Sname = '冰墩墩' where Sno = '1';

大部分情况,update都会结合where操作,当然还有limit和order by。

建议:修改前先写一下select语句,以确保修改无误

四、删除(Delete)

DELETE FROM table_name where 条件 order by

delete form student where Sno = '1';-- 删除学号为一的学生数据
delete from table_name-- 删除整表数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值