DQL 查询表中的数据

1.DML语句:数据库操作语句

 插入数据的语法1:insert into 表名 values(值1,值2,值3,值4...值n); 插入全部数据

插入表的数据支持 :一次插入多条数据

        insert into 表名 values(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n),(值1,值2,值3,值4...值n);


语法2:插入部分字段,没有插入的字段,默认值就是null, 也支持一次性插入多条数据

insert into 表名(字段名称1,字段名称2....) values(值1,值2...) ;

注意事项:

        1)插入的这些值必须要和表中的字段对应上; 先后顺序保证一致!
            2)目前没有加入"数据库约束",可以插入非法数据,举例:id重复 ,
            后期需要使用数据库约束来限定用户的操作表的行为!

2.DML语句之修改表记录

 一般实际开发中修改:都是带条件修改  (推荐)
update 表名 set 字段名称 = 值 where 条件 ;


-- 语法2:一次性修改多个字段
-- update 表名 set 字段名称1 = 值 ,字段名称2 =值2.... where 条件;


-- 语法3:不带条件 属于批量修改 (部分场景可以用的)
-- update 表名 set 字段名称= 值,字段名称2 =值2....


3. DML语句之删除表的记录

-- delete  from 表名 where 条件 ; 带条件删除记录 (使用的非业务字段id删除)
-- 需求:删除id为7的学生信息



   面试题:
      delete from 表名 和 truncate table 表名 :两个区别?
      共同点:都是可以删除全表的记录的;
      不同点:
        delete from 表名 ; 仅仅只是将表的全部记录删除了,表还在!
它针对id(非业务字段:设置主键并且自增长),它不影响自增长主键的这个值; (数据库约束后面讲)
        truncat table 表名; 将表所有数据删除,而且还会把删除之后,
        自动创建一个张一模一样的表,影响自增主键的值!

4.DQL语句最通用的语法:查询表的全部数据

--  * 代表所有字段,仅仅是自己玩的时候可以用,实际开发中不能用*,需要写上全部的字段名称


DQL语句 :数据库的查询语句 里面语法是最多的

-- 1)最基本的查询语句 select 
-- 查询全表数据:select * from 表名;

        -- 查询全部字段的时候,给字段起一个别名  as '别名名称' ,as省略


-- 发现:字段冗余(重复度大) 字段去重      DISTINCT 后面跟上字段名称  


-- 2)DQL语句之条件查询  where 关键字 

-- 2.1)使用 赋值运算符=,比较运算符 <,<=,>=,>,!=,   mysql中的不等于 <>
 -- 2.2)Java中逻辑运算符:&&,||  mysql推荐使用 and , or
 -- 2.2)针对两个范围查询: 可以使用&&,可以使用and, 也可以 "字段名称 between 值1 and 值2"


 in(值1,值2,值3..值n) ;in集合语句   --表示或(并集)


关于空值

- Java语言中:去判断某个条件的内容为null ,mysql语言不支持这个格式 ==null

-- mysql中判断某个字段为null,使用的语法是 is null 
-- 判断某个字段不为null,使用的语法是 is not null

        注意:-- 关于int类型字段求和的时候,注意: int类型的值 + null 值 = null;


-- 3)DQL语句之 where条件后面加入模糊查询 ---关键字 like

-- select 字段列表 from 表名 where 字段名称 like '%xxx%' ;
-- %:代表任何多个字符或者某个字符   (使用居多):网站门户系统---"搜索商品" ,模糊搜索
-- _:代表某个单个字符


 

5.聚合函数查询

-- 聚合函数查询 :针对int类型    :单行单列数据
-- select  聚合函数 from 表名 where 还可以指定条件;
 


-- count(字段名称):查询表中记录 ,字段名称使用都是id,非业务字段
-- avg(字段名称): 查询这个字段中平均值 
-- sum(字段列表):求和函数
-- max(字段名称):最大值
-- min(字段名称):最小值


-- select语句嵌套select语句 --- 子查询
-- 需求:查询出学生数学成绩大于 数学平均分的学生所有信息;
-- 使用where 条件 后面带上 比较运算符...
 

-- 一步走
SELECT 
    NAME '姓名',
    age '年龄',
    address '地址',
    math '数学成绩'
FROM 
    student3 
 WHERE 
	math = 
	(SELECT  MAX(math) FROM student3) ;

6.DQL之排序查询 order by  

-- select 字段列表 from 表名 order by 字段名称 排序规则(asc(默认值就是升序)或者desc 降序)

注意:-- 默认不写排序规则,就是asc 升序

        -- 多个字段要同时排序,首先第一个字段排序规则,然后才是第二个字段

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值