-- 创建数据

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数据查询_数据的查询相关推荐

  1. B站黑马测试第二篇P206视频数据库SQL语句‘关联查询_数据准备‘代码

    drop table if exists category; create table category( id int unsigned primary key auto_increment, ty ...

  2. oracle 查询天,Oracle查询_ 单表查询

    前面我们详解了关于Oracle的增删改,今天让我们接着来学习Oracle的查询吧, Oracle中查询可是重头戏噢!!!跟着煌sir的步伐,走位,走位~~~ 小知识锦囊 在此前,先讲解一个小知识点 O ...

  3. python个人数据脱敏_数据脱敏的处理方法及查询

    [摘要] 关键词:集算器.SPL.数据脱敏.报表 1).数据脱敏是"指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护.在涉及客户安全数据或者一些商业性敏感数据的情况下, ...

  4. 虚幻蓝图数据传递_数据产品的战略蓝图

    虚幻蓝图数据传递 In today's business climate, strategic moats are built with data. Long gone are the days wh ...

  5. netflix 数据科学家_数据科学和机器学习在Netflix中的应用

    netflix 数据科学家 数据科学 , 机器学习 , 技术 (Data Science, Machine Learning, Technology) Using data science, Netf ...

  6. 数据探查_数据科学家,开始使用探查器

    数据探查 Data scientists often need to write a lot of complex, slow, CPU- and I/O-heavy code - whether y ...

  7. 数据产品_数据中台02_数仓模型和架构

    名词解释 一些必须掌握的专有名词 基础层-ODS(Operational Data Store-操作型数据存储) 未经过加工处理的原始数据:记录事实的唯一版本,业务系统产生的原始数据,原封不动的同步到 ...

  8. api可以主动采集用户数据吗_数据埋点采集的那些事儿

    数据采集是数据分析的基础,而埋点是最主要的采集方式.那么数据埋点采集到底都是哪些事呢?我们主要从三个方面来看:什么是埋点,埋点怎么设计,埋点的应用. 一.数据采集以及常见数据问题 1.1数据采集 数据 ...

  9. 数据科学家 数据工程师_数据科学家实际上赚了多少钱?

    数据科学家 数据工程师 目录 (Table of Contents) Introduction介绍 Junior Data Scientist初级数据科学家 Mid-Level Data Scient ...

最新文章

  1. 小工具-销售订单概览屏幕的特性显示
  2. Self-Orthogonality Module:一个即插即用的核正交化模块
  3. poj3685 二分套二分
  4. wp7开发第一课:软件生命周期(其一)
  5. linux平均负载什么意思_在Linux中什么是平均负载?
  6. JAVA JDK API查看方法
  7. 11.29--mappedBy
  8. html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)
  9. (1)电源管理-S3C2440芯片电源管理模块解析
  10. vmware linux top si高以及网卡队列、软负载相关优化
  11. 土地利用转移矩阵的几种实现方法
  12. 城堡争霸显示服务器忙,城堡争霸 - 阵营守护神显示应用未安装怎么办
  13. makefile suppress echoing the actual command @
  14. 内网穿透,让自己的电脑当服务器
  15. 计算机三号字在哪个页面,Word用楷体三号一页大约多少字?
  16. Elastic Job 入门教程(三)— 作业监听
  17. mmpose关键点(四):优化关键点模型(原理与代码讲解,持续更新)
  18. 后端开发常见面试题目
  19. H3C 不同版本登录认证配置
  20. QRect QRectF 的 adjust()及adjusted()

热门文章

  1. 2017亚太CDN峰会盛大开幕 SinoBBD打造一体化开放式云平台
  2. 阿甘正传台本_阿甘正传与愚蠢与简单的区别
  3. 941 · 滑动拼图
  4. steam邀请好友游戏正在连接服务器,解决Steam上的部分游戏连不上服务器
  5. 自定义字符串拼接函数my_strcat()
  6. 关于单片机中的u8,u16等问题
  7. zotero配合百度云同步的方法
  8. onbeforeunload 和 onunload 的区别
  9. 中国电信5G NB-IoT用户规模破1亿 5G窄带物联网规模全球第一
  10. Python学习之路-基础知识2-文件操作