JAVA学习笔记 MySQL4 - sql单表基本操作
*.sql 批处理文件
- 格式: source 路径;
- 如果出现乱码执行 set names utf8;
数据类型
整数
- int(m)和bigint(m) , bigint相当于Java中的long, m代表显示长度,m=5 存18 得到00018, 需要结合zerofill关键字使用。
浮点数
- double(m,d) m代表总长度,d代表小数长度 m=5,d=3 54.321。
字符串
- char(m): 固定长度, m=5 存"abc" 占5个字符长度, 执行效率略高,当存储内容长度固定时使用,比如:性别 m最大值255。
- varchar(m):可变长度, m=5 存"abc" 占3个字符长度,更节省存储空间,m最大值65535, 长度在255以内的建议使用。
- text(m):可变长度, m最大值65535 , 建议长度大于255时使用。
日期
- date:保存年月日
- time:保存时分秒
- datetime:保存年月日时分秒,默认值null
- timestamp(时间戳举例1970年1月1日的毫秒数):保存年月日时分秒,默认值为当前系统时间。
主键约束&自增
- 主键: 表示数据唯一性的字段称为主键。
- 约束: 创建表时,给表字段添加的限制条件。
- 主键约束:限制主键的值 唯一且非空。
- 自增规则:从历史最大值+1 举例:create table t(id int primary key auto_increment,name varchar(20));
- truncate table t5; //把表删除 并重新创建 此时计数器才会清零。
去重distinct
- select distinct a from b;
is null 和 is not null
- select a from b where c is null;
- select a from b where c is not null;
and和or
- 多个条件同时满足时使用and
- 多个条件满足一个就可以时 使用or
比较运算符 > < >= <= = !=和<>
两者之间between x and y 包含x和y
in关键字
- 当查询某个字段的值为多个值的时候使用in
- select *from a where b=1 or b=2 or b=3;
- select *from a where b in(1,2,3);
模糊查询like
- %: 代表0或多个未知字符
- _:代表1个未知字符
- 举例:
以x开头 x%
以x结尾 %x
包含x %x%
第二个字符是x x%
以x开头以y结尾 x%y
第二个是x倒数第三个是y x%y
排序 order by
- 格式: order by 字段名 asc(默认升序)/desc降序;
分页查询 limit
- 格式: limit 跳过的条数,请求的条数(每页的条数)
别名
select name from emp;
select name as “名字” from emp;
select name “名字” from emp;
select name 名字 from emp;
数值计算
select name,sal,3*sal 年终奖 from emp;
update emp set sal=sal+5 where dept_id=3;
聚合函数
可以对查询的多条数据进行统计查询, 统计方式包括: 求平均值,最大值,最小值,求和,计数
- 平均值avg(字段名)
- 最大值max(字段名)
- 最小值min(字段名)
- 求和sum(字段名)
- 计数count(*)
分组查询group by
- 将某个字段相同值的数据划分为一组, 然后以组为单位进行统计查询
having关键字
- where后面只能写普通字段的条件,不能写聚合函数函数.
- having关键字 作用和where类似都是用来添加条件的, 但是having后面专门写聚合函数条件,而且having要和group by分组查询结合使用, 写在分组关键字的后面
各个关键字的顺序
- select * from 表名 where 普通字段条件 group by 分组字段名 having 聚合函数条件 order by 排序字段名 desc limit 跳过条数,请求条数;
子查询(嵌套查询)
- select avg(a) from t where b=1;
- select * from t where b>(select avg(a) from t where b=1);
JAVA学习笔记 MySQL4 - sql单表基本操作相关推荐
- Java学习笔记:SQL数据排序
排序 SELECT * FROM T_Persons ORDER BY Age ASC/DESC ASC (默认,可省略) :升序:DESC:降序 允许指定多个排序列,各个列之间使用逗号隔开即可. ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记06【多表查询、子查询、多表查询练习】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- Java学习笔记——流程控制
Java学习笔记--流程控制 Day05 一.用户交互Scanner 1.Scanner对象 我们通过Java工具包java.util.Scanner中的Scanner类来获取用户的输入 基本语法:S ...
- Java学习笔记之基础篇
Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...
- 尚学堂Java学习笔记
尚学堂Java学习笔记 ============================ J2SDK&JRE J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT JRE:JAVA ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 2022年Java学习笔记目录
一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...
最新文章
- javascript数组集锦
- 枚举 ---- B. RPG Protagonist[Educational Codeforces Round 94 (Rated for Div. 2)]数学枚举
- 用什么技术实现前台页面设计_装饰+装配式,用什么样的方式去实现室内的装配工程施工技术?...
- 单片机复位电路电容一定用电解电容_学好单片机必须了解的10个电路
- UIImage 剪裁的方法
- android studio创建构造方法,使用Android studio创建你的第一个项目
- unicodedata模块
- 动态图php打不开,PHP如何判断一个gif图片是否为动态图片
- 统计学习基础(概念,基本思想,先验知识)
- 文库系统 文库网站建设仿百度文库 道客巴巴 豆丁
- 苹果电脑如何快速用计算机,苹果电脑快捷键如何使用 Mac快捷键大全详细教程...
- PS样机字体特效教程-喷漆文字
- 【计算机网络】HTTP协议详解
- verilog入门-38译码器
- 浅谈JavaScript设计模式
- 文娱干货丨如何体系化构建优质社区氛围?
- python显示文件夹图片_python遍列目录搜索文件夹及子文件夹图片文件
- springboot连接redis 没有权限 io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication requir
- 老虎证券国际完成5亿C轮融资 估值10.6亿美元成新独角兽
- 洛谷 P1423 小玉在游泳 AC