• node系列--【 DML语句对数据库的增删改查】


    DML语句

    ​ DML 实现对数据记录的增删改查

    1 新增数据(插入记录)

    ​ 语法:INSERT INTO 表名(字段名1,字段名2, ... ) VALUES(字段值1, 字段值2,, ....)

    -- 新增记录
    INSERT INTO student (学号,姓名,性别,生日,手机) VALUES('a002','张三',1,'1999-09-09','13612345678')
    

    注意:

    1)数值的数量和顺序必须和字段名的数量和顺序一致

    2)插入数值的数据类型必须和字段的数据类型匹配

    3)插入数值如果是字符串类型、日期类型需要加单引号包起来。数值类型不用加。

    4)汉字字段或特殊符号,如果提示有错误,使用反引号包起来。

    2 修改数据(更新记录)

    语法: UPDATE 表名 SET 字段名1=值1,字段名2=值2, ... WHERE 条件

    注意: where 后面的条件必须要设置准确,符合条件记录才修改。

    -- 修改记录
    UPDATE student SET 学号='a003',手机='0000000000' WHERE id=3
    

    3 删除数据(删除记录)

    语法: DELETE FROM 表名 WHERE 条件

    -- 删除记录
    DELETE FROM student WHERE id=3
    

    4 查询记录

    语法: SELECT 字段名1 AS 别名1,字段名2 AS 别名2,... FROM 表名

    ​ WHERE 条件1(= > < >= <=)

    ​ AND 条件2

    ​ OR 条件3

    ​ LIKE 模糊查询,匹配like指定的字符串

    ​ '李%' 查询所有姓李的

    ​ '%李' 查询以李结尾的

    ​ '%李%' 查询包含李的

    ​ NOT LIKE '李%' 查询所有不是李开头的

    ​ ORDER BY 字段名 DESC(ASC) DESC降序(从大到小) ASC升序(从小到大)一般放在最后

    例:查询所有姓李的记者

    SELECT * FROM caijing2016 WHERE title LIKE '%记者%' AND name LIKE '李%'
    

    5 多表联合查询

    ​ 因为数据库的范式标准,数据可能被拆分放在多个表中,给查询带来一些问题,必须要联合两个表甚至多个表实现查询想要的数据。

    ​ a) 两表联合查询

    ​ 内连接语法:

    ​ SELECT 表1.字段名1,表1.字段2, 表2.字段1, .... FROM 表1 INNER JOIN 表2 ON 表1.联结字段 = 表2.联结字段

    -- 两表内连接查询
    SELECT
    	`学生`.`学号`,
    	`学生`.`姓名`,
    	`班级`.`班主任`,
    	`班级`.`教室`,
    	`班级`.`班长`
    FROM
    	`学生`
    INNER JOIN `班级` ON `学生`.`班号` = `班级`.`班号`
    

    ​ 左连接语法:(左边为主表,右边为从表)

    ​ SELECT 表1.字段名1,表1.字段2, 表2.字段1, .... FROM 表1 LEFT JOIN 表2 ON 表1.联结字段 = 表2.联结字段

    -- 两表左连接查询
    SELECT
    	`学生`.`学号`,
    	`学生`.`姓名`,
    	`班级`.`班主任`,
    	`班级`.`教室`,
    	`班级`.`班长`
    FROM
    	`学生`
    LEFT JOIN `班级` ON `学生`.`班号` = `班级`.`班号`
    

    ​ 查询结果:主表中的数据全部显示,从表中如果没有对应数据以null 填充。

    左连接

    6 多表联合

    语法:

    SELECT 表1.字段名1,表1.字段2, 表2.字段1, .... FROM 表1

    INNER JOIN 表2 ON 表1.联结字段 = 表2.联结字段

    INNER JOIN 表3 ON 表1.联结字段 = 表3.联结字段

    SELECT
    	`学生`.`姓名`,`课程`.`课程名`,`选修`.`成绩`
    FROM
    	`选修`
    LEFT JOIN `学生` ON `选修`.`学号` = `学生`.`学号`
    LEFT JOIN `课程` ON `选修`.`课程编号` = `课程`.id
    WHERE `学生`.`姓名` LIKE '%斛晓强%'
    
  • 相关阅读:
    做了点数论的题
    2016日报总结
    2016在H3C
    2017春节小目标
    2016项目小总结
    明明的随机数
    计算字符个数
    字符串最后一个单词的长度
    字符串分隔
    考研回忆
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14706160.html
Copyright © 2020-2023  润新知