java数据查询_数据的查询
-- 创建数据
CREATE DATABASE day2;
-- 使用数据库
USE day2;
-- 创建一个表格
CREATE TABLE stu(
id INT,
NAME VARCHAR(20),
sex VARCHAR(2),
age INT ,
address VARCHAR(30)
);
-- 查看表格的结构
DESC stu;
-- 添加列
ALTER TABLE stu ADD java INT;
ALTER TABLE stu ADD jsp INT
INSERT INTO stu (id,NAME,sex,age,address,java,jsp) VALUES(1,'小明','男',25,'山东2',78,99);
INSERT INTO stu (id,NAME,sex,age,address,java,jsp) VALUES(2,'小黄','男',23,'河南',65,55);
INSERT INTO stu (id,NAME,sex,age,address,java,jsp) VALUES(2,'小黄','女',23,'太远',65,55);
INSERT INTO stu (id,NAME,sex,age,address,java,jsp) VALUES(4,'小黄','女',23,'太远',45,85);
INSERT INTO stu (id,NAME,sex,age,address,java,jsp) VALUES(NULL,NULL,'',23,'太远',45,85);
DELETE FROM stu;
-- 1 查询所有的类
SELECT * FROM stu;
-- 2. 查询指定的列
SELECT id,NAME,sex FROM stu;
-- 3.查询的时候增常量列
SELECT id,NAME,sex,address, 'java2版' FROM stu;
-- 4.查询的时候起一个别名
SELECT id AS '编号' ,NAME AS'姓名',sex AS '姓别','java1版' AS '班级' FROM stu;
-- 5.查询的时候进行合并指定的列
-- 需求 : 在查询每个学生的java和jsp总成绩
SELECT id,NAME,sex,age,address, (java+jsp) AS '总成绩' FROM stu;
-- 在合并的时候 合并的只能进行数字类型
SELECT id ,NAME,sex ,(address+sex) AS '总' FROM stu;
-- 6 查询时去除重复的记录
-- 查询学生的性别 男 女
SELECT DISTINCT sex FROM stu;
-- 7 条件查询 where
-- 逻辑条件 and(与 和) or(或者)
-- 需求 查询 id为1 或者性别为女
SELECT id,NAME,sex,age,address,java,jsp FROM stu WHERE id=1 OR sex='女';
-- 需求 查询 id 为 1 并且性别为男 信息
SELECT id,NAME,sex,address,java,age FROM stu WHERE id=1 AND sex='男';
-- 比较条件 > < >= <= =(等于) <>(不等于) between ...and... 等价于 》= and <=)
-- 查询所有的java成绩大于65的是、学生信息
SELECT * FROM stu WHERE java>=65;
-- 查询java成绩大于等于65 并且小于等于75
SELECT * FROM stu WHERE java>=65 AND java<=75;
-- 另外一种写法
SELECT * FROM stu WHERE java BETWEEN 65 AND 75
-- 查询java不等于65
SELECT *FROM stu WHERE java<>65;
-- 判空查询 is null not null =”“ 《》”“
-- 需求: 查询姓名为空信息 (空 包括null ="")
SELECT * FROM stu WHERE NAME IS NULL OR NAME='';
-- 求出性别不为空字符的
SELECT * FROM stu WHERE sex <>'' OR NOT NULL;
-- 模糊查询
-- like
-- % 匹配任意字符
-- _匹配一个字符
-- 查询姓名为 ‘小’学生信息
SELECT * FROM stu WHERE NAME LIKE '小%';
-- 查询姓名为'小 '且小的后面只有一个字符
SELECT * FROM stu WHERE NAME LIKE '小_';
-- 8 聚合查询 (使用聚合函数的查询)
-- 常用的函数 sum() avg() max() min() count()
-- 求出java的成绩
SELECT SUM(java) AS 'java总成绩' FROM stu;
-- 求出java的平均分
SELECT AVG(java) AS'平均分' FROM stu;
-- 求出最高分
SELECT MAX(java) AS '最高分' FROM stu;
-- 统计出一共有多少条记录 cont(字段) 不包括null元素
SELECT COUNT(*) FROM stu;
-- 9 分页查询 limit
-- 起始行 从0开始进行数
-- 每页显示多少条记录 (当前页-1)*每页显示的记录数
-- 查询1.2 条记录 一页显示两条记录
-- 查询的是第一页数据
SELECT * FROM stu LIMIT 0,2
-- 查询第二页
SELECT * FROM stu LIMIT 2,2
-- 查询第三页
SELECT * FROM stu LIMIT 4,2;
-- 查询第四页
SELECT * FROM stu LIMIT 6,2
-- 10 排序查询
-- order by
-- asc 正序 升序
-- desc 倒序
-- 默认的情况下时按照数据插入的顺序来进行查询的
-- 需求 java成绩按照从低到高进行查询
SELECT * FROM stu ORDER BY java ASC;
-- 需求 jsp的成绩重高到低进行排序
SELECT * FROM stu ORDER BY jsp DESC;
-- 多种排序方式进行查询
-- jaba 按照正序进行 jsp按照反序
SELECT * FROM stu ORDER BY java ASC ,jsp DESC;
-- 11 分组查询
-- group by
-- 查询男女”“ 的人数
-- 男 2
-- 女 2
-- ”“ 2
SELECT sex,COUNT(*) FROM stu GROUP BY sex;
-- 12 分组之后 进行刷选
-- 查询总人数大于3个的性别 分组之后 不能使where 使用having
SELECT sex ,COUNT(*) FROM stu GROUP BY sex HAVING COUNT(*)>=3;
SELECT * FROM stu;
-- 数据的约束
-- 默认值 当用户使用默认值的字段不插入数据的时候 就是用默认值
-- 对默认值字段插入数据的时候 null是可以插入
CREATE TABLE emp(
id INT,
NAME VARCHAR(20),
address VARCHAR(10) DEFAULT '河南省周口市'
)
INSERT INTO emp VALUES(1,'小明','');
SELECT * FROM emp;
DROP TABLE emp;
-- 非空 空 ‘’
-- 限制字段必须要有值 字段必须要有数据 不能查入null值
CREATE TABLE student(
id INT NOT NULL,
NAME VARCHAR(20)
);
INSERT INTO student VALUES ('','小黄');
SELECT * FROM student;
DROP TABLE student;
-- 唯一
-- 唯一可以插入null元素 可以插入null元素
CREATE TABLE stu1(
id INT UNIQUE,-- 唯一
NAME VARCHAR(20));
INSERT INTO stu1 VALUES(1,'zhangsan');
INSERT INTO stu1 VALUES(NULL ,'lis');
SELECT * FROM stu1;
DROP TABLE stu1;
-- 主键
-- 非空+唯一性
-- 通常情况下 每一张表都会设置一个字段 为主键 用来表示表的每条记录都唯一的
CREATE TABLE stu2(
id INT PRIMARY KEY,-- 主键
NAME VARCHAR(20));
INSERT INTO stu2 VALUES (1,'wangwu');-- 违反了字段的唯一性Duplicate entry '1' for key 'PRIMARY'
SELECT * FROM stu2;
INSERT INTO stu2 VALUES(NULL,'lisi');-- 违反了字段的非空约束 Column 'id' cannot be null
-- 自增长
-- 字段不用进行赋值 可以自动的增加 每次增加1
CREATE TABLE stu3(
id INT PRIMARY KEY AUTO_INCREMENT, -- 自增长 从0开始
NAME VARCHAR(10)
)
DROP TABLE stu3;
INSERT INTO stu3 (NAME)VALUES('小黄');
SELECT * FROM stu3
DELETE FROM stu3;
--
TRUNCATE TABLE stu3;
-- 外键
-- 当用有两种表的使用进行约束数据
-- 创建一个部门表
-- 数据冗余比较高的时候 使用外键 表与有关系
-- (主表)
CREATE TABLE dept(
id INT PRIMARY KEY AUTO_INCREMENT,
deptname VARCHAR(30)
)
DROP TABLE dept;
INSERT INTO dept(deptname) VALUES('技术部');
INSERT INTO dept(deptname) VALUES('财务部');
INSERT INTO dept(deptname) VALUES('秘书部');
INSERT INTO dept(deptname)VALUES('人事部')
SELECT * FROM id=7 WHERE id=3;
SELECT * FROM dept;
-- 员工表
-- (副表)
CREATE TABLE employee (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
deptid INT,
-- 声明一个外键
-- 外键名称 -- 外键 --参考主表(字段)
CONSTRAINT employee_dept_fk FOREIGN KEY (deptid) REFERENCES dept(id)
);
DROP TABLE employee
INSERT INTO employee (NAME,deptid) VALUES('张三','1');
INSERT INTO employee (NAME,deptid) VALUES('李四','3');
INSERT INTO employee (NAME,deptid) VALUES('王五','2');
INSERT INTO employee(NAME,deptid)VALUES('赵六',5);
UPDATE employee SET deptid=3 WHERE id=1;
SELECT * FROM employee;
-- 在副表当中创建外键
-- 被约束的表成为副表 约束别人的表被成为主表
-- 主表的参考字段一般情况下都是主键
-- 添加数据 : 先添加主表 ,在添加副表
-- 修改数据 ” 先修改副表 在修改主表
-- 删除数据 先删除副表 在删除主表
-- 级联操作 级联查询 jdbc html
java数据查询_数据的查询相关推荐
- B站黑马测试第二篇P206视频数据库SQL语句‘关联查询_数据准备‘代码
drop table if exists category; create table category( id int unsigned primary key auto_increment, ty ...
- oracle 查询天,Oracle查询_ 单表查询
前面我们详解了关于Oracle的增删改,今天让我们接着来学习Oracle的查询吧, Oracle中查询可是重头戏噢!!!跟着煌sir的步伐,走位,走位~~~ 小知识锦囊 在此前,先讲解一个小知识点 O ...
- python个人数据脱敏_数据脱敏的处理方法及查询
[摘要] 关键词:集算器.SPL.数据脱敏.报表 1).数据脱敏是"指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护.在涉及客户安全数据或者一些商业性敏感数据的情况下, ...
- 虚幻蓝图数据传递_数据产品的战略蓝图
虚幻蓝图数据传递 In today's business climate, strategic moats are built with data. Long gone are the days wh ...
- netflix 数据科学家_数据科学和机器学习在Netflix中的应用
netflix 数据科学家 数据科学 , 机器学习 , 技术 (Data Science, Machine Learning, Technology) Using data science, Netf ...
- 数据探查_数据科学家,开始使用探查器
数据探查 Data scientists often need to write a lot of complex, slow, CPU- and I/O-heavy code - whether y ...
- 数据产品_数据中台02_数仓模型和架构
名词解释 一些必须掌握的专有名词 基础层-ODS(Operational Data Store-操作型数据存储) 未经过加工处理的原始数据:记录事实的唯一版本,业务系统产生的原始数据,原封不动的同步到 ...
- api可以主动采集用户数据吗_数据埋点采集的那些事儿
数据采集是数据分析的基础,而埋点是最主要的采集方式.那么数据埋点采集到底都是哪些事呢?我们主要从三个方面来看:什么是埋点,埋点怎么设计,埋点的应用. 一.数据采集以及常见数据问题 1.1数据采集 数据 ...
- 数据科学家 数据工程师_数据科学家实际上赚了多少钱?
数据科学家 数据工程师 目录 (Table of Contents) Introduction介绍 Junior Data Scientist初级数据科学家 Mid-Level Data Scient ...
最新文章
- 小工具-销售订单概览屏幕的特性显示
- Self-Orthogonality Module:一个即插即用的核正交化模块
- poj3685 二分套二分
- wp7开发第一课:软件生命周期(其一)
- linux平均负载什么意思_在Linux中什么是平均负载?
- JAVA JDK API查看方法
- 11.29--mappedBy
- html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)
- (1)电源管理-S3C2440芯片电源管理模块解析
- vmware linux top si高以及网卡队列、软负载相关优化
- 土地利用转移矩阵的几种实现方法
- 城堡争霸显示服务器忙,城堡争霸 - 阵营守护神显示应用未安装怎么办
- makefile suppress echoing the actual command @
- 内网穿透,让自己的电脑当服务器
- 计算机三号字在哪个页面,Word用楷体三号一页大约多少字?
- Elastic Job 入门教程(三)— 作业监听
- mmpose关键点(四):优化关键点模型(原理与代码讲解,持续更新)
- 后端开发常见面试题目
- H3C 不同版本登录认证配置
- QRect QRectF 的 adjust()及adjusted()