关于数据库:MySQL进阶之数据的增删改查DML

35次阅读

共计 1190 个字符,预计需要花费 3 分钟才能阅读完成。

我的博客

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');

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';

删除表中所有数据

-- TRUNCATE TABLE 表名;
TRUNCATE TABLE stu;

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

更新语句咱们应用 UPDATE 关键词。

-- 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 ;

咱们合成,挨个瞧一瞧。

注:[]内示意非必要语句。

SELECT * 或 < 字段名列表 > FROM < 表名或视图 > [WHERE < 查问条件 >] [GROUP BY 须要分组的字段] [ORDER BY 须要排序的字段 [ASC 或 DESC] ] ;
  • *示意所有。
  • FROM后次要是接数据起源,能够单个也能够多个
  • WHERE用于条件筛选。
  • GROUP BY能够让查问的数据依据指定字段分组。
  • HAVING用于筛选组,就是对于 GROUP BY 分出的组进行筛选等等。
  • ORDER BY用于排序,依据某一列排序,ASC是升序,DESC是降序

正文完
 0