MySQL进阶之数据的增删改查(DML)

我的博客

INSERT INTO stu(studentNo, loginPwd, studentName, sex, gradeId, phone, address, bornDate, mail, identityCard) VALUE ('123456','00000','小简','秘密','1','1888888888','长沙','2000-1-1','747945307@qq.com','43032000000000');

MySQL进阶之数据的增删改查(DML)
文章图片

INSERT INTO 表名(字段1,字段2) VALUE (值1,值2); -- 如非数值,请加上单引号,如:('值1','值2')

插入多行
INSERT INTO 表名(字段1,字段2) VALUE (值1,值2),(值1,值2); -- 这样就可以一次插入多行

将查询的结果插入新表 格式1
INSERT INTO 表名(字段1,字段2) SELECT 字段1,字段2 FROM 原表名; -- 使用方法和会出现的问题就不需要多说了,自行尝试

格式2
SELECT 字段1,字段2 INTO 新表名 FROM 原表名;


-- DELETE FROM 表名 WHERE [条件]; -- WHERE [条件]可以不写,不写就是无条件删除所有,有条件就是删除符合条件的!!! DELETE FROM stu WHERE studentNo = '888888';

MySQL进阶之数据的增删改查(DML)
文章图片

删除表中所有数据
-- TRUNCATE TABLE 表名; TRUNCATE TABLE stu;

注意:使用此语句删除表中数据,将会重置自增列,并且执行效率优于DELETE

更新语句我们使用UPDATE关键词。
MySQL进阶之数据的增删改查(DML)
文章图片

-- UPDATE 表名 SET 字段名 = '字段值',字段名 = '字段值' WHERE [条件] -- WHERE [条件]可以不写,不写就是无条件修改所有,有条件就是修改符合条件的!!! UPDATE stu SET studentNo = '888888' WHERE studentNo = '123456';


SELECT * FROM stu WHERE studentNo = '888888';

这是一段简单的查询语句。同上,WHERE可以省略,如果不要WHERE条件,就是无条件查询所有。
我们还可以写复杂一点。
SELECT * FROM stu WHERE studentNo = '888888' GROUP BY studentNo ORDER BY studentNo ASC ;

我们分解,挨个瞧一瞧。
【MySQL进阶之数据的增删改查(DML)】注:[ ]内表示非必要语句。
SELECT *或<字段名列表> FROM <表名或视图> [WHERE <查询条件>] [GROUP BY 需要分组的字段] [ORDER BY 需要排序的字段 [ASC或DESC] ] ;

  • *表示所有。
  • FROM后主要是接数据来源,可以单个也可以多个。
  • WHERE用于条件筛选。
  • GROUP BY可以让查询的数据根据指定字段分组。
  • HAVING用于筛选组,就是对于GROUP BY分出的组进行筛选等等。
  • ORDER BY用于排序,根据某一列排序,ASC是升序,DESC是降序

    推荐阅读