mysql之单表数据操作(增删改查)

1、“增”——添加数据

第一种

INSERT INTO student(id,name,grade)

     VALUES(1,'zhangshan',98);

第二种

INSERT INTO student

    SET id=4,name='zhaoliu',grade=72;

 同时添加多条数据

INSERT INTO student VALUES

    (5,‘lilei’,99),

    (6,'hanmeimei',87),

    (8,'poly',76);

2、“删”——删除数据

2.1 删除部分数据

DELETE  FROM student 

   WHERE id=7;

2.2 删除全部数据

DELETE FROM student;

2.2 删除全部数据的另一种方法——TRUNCATE

TRUNCATE TABLE student;

2.3delete和TRUNCATE的区别

(1)DELETE 后面可以跟WHERE子句指定删除部分记录,TRUNCATE只能删除整个表的所有记录

(2)使用TRUNCATE语句删除记录后,新添加的记录时,自动增长字段会默认从1开始,而使用DELETE删除记录后,新添加记录时,自动增长字段会从删除时该字段的的最大值加1开始计算。

3、“改”——更新数据

3.1  UPDATE 更新部分数据

UPDATE student 

    SET name=‘caocao’,grade=50

    WHERE id=1;

3.2  UPDATE 更新全部数据(不使用where字句就是修改全部)

UPDATE student

    SET grade=80;

4、“查”——之单表查询

4.1  简单查询

4.1.1  查询所有字段

//查询字段顺序可变
SELECT id,name,grade ,gender
      FROM student2;

//或者
SELECT *
      FROM student2;

4.1.3  查询指定的部分字段

SELECT name,gender FROM student2;

4.2   按条件查询

4.2.1  带关系运算符的查询

SELECT id,name FROM student2  WHERE id=4;

4.2.2  带 IN 关键字的查询:IN关键字用于判断某个字段的值是否在指定集合中

SELECT * FROM student2 WHERE  id IN (1,2,3);

4.2.3  带 BETWEEN AND  关键字的查询:BETWEEN AND 用于判断某个字段的值是否在指定范围之内

SELECT id,name FROM students WHERE id BETWEEN 2 AND 5;

4.2.4  空值查询

//查询gender不为空的数据
SELECT * FROM student2 WHERE gender IS NULL;

4.2.5  带 DISTINCT 关键字的查询:使用DISTINCT关键字来过滤重复的值,只保留一个值。

SELECT DISTINCT gender FROM student2;

4.2.6  带 LIKE 关键字的查询

(1)百分号(%)通配符:匹配任意长度的字符串,包括空字符串。

(2)下划线(_)通配符: 下划线通配符只匹配单个字符,

SELECT id,name FROM student2 WHERE name NOT LIKE '%y%';
SELECT * FROM student2 WHERE name LIKE 'wu_ong';

4.2.7  带 AND 关键字的多条件查询

SELECT id,name FROM student2 WHERE id<5 AND gender='女';

结果:

4.2.8  带 OR 关键字的多条件查询

SELECT id,name ,gender FROM student2 WHERE id<3 OR gender='女';

4.2.9   OR 和 AND 一起使用的情况

OR 和 AND 一起使用的时候,AND 的优先级高于 OR,因此二者一起使用时,会先运算 AND 两边的表达式,再运算 OR 两边的表达式。

查询student2表中gender值为“女”或者gender值为“男”并且grade字段值为100的人的记录
SELECT * FROM student2 WHERE gender='女' OR gender='男' AND grade=100;

 4.3  高级查询

4.3.1  聚合函数

(1)COUNT()函数:统计记录的条数

SELECT COUNT(*) FROM student2;

(2)SUM()函数:求出表中某个字段所有值的总和

SELECT COUNT(*) FROM student2;

(3)AVG()函数:求出表中某个字段所有值的平均值

SELECT AVG(grade) FROM student2;

(4)MAX()函数:求出表中某个字段所有值的最大值

SELECT MAX(grade) FROM student2;

(5)MIN()函数:求出表中某个字段所有值的最小值

SELECT MIN(grade) FROM student2;

4.3.2  对查询结果进行排序

ASC表示升序排列,DESC 表示降序排列,默认情况是升序排列。

SELECT * FROM student2

   ORDER BY grade;

4.3.3  分组查询

SELECT * FROM student2 GROUP BY gender;

HAVING关键字和WHERE关键字的作用相同,区别在于HAVING 关键字可以跟聚合函数,而WHERE 关键字不能。通常HAVING 关键字都和GROUP BY一起使用,用于对分组后的结果进行过滤。

SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值