Java 第22章 mySQy
下列都是关系型数据库(在数据库中存在行、列)
oracle:
Oracle公司的产品(被sun公司收购)
中大型项目使用、银行系统、政府办公系统
9i/10g/11g
sql server:
微软公司的产品
中大型项目使用、C#语句、。Net语言方法(VS)
sqlserver2005 / sqlserver2008
MySQL:
小型数据库
sun公司产品(免费、开放源代码)
只要应用于网站、电商系统项目中
DB2:
DB2公司的产品(主要应用于银行系统的数据库)
非关系型数据库:(以对象的方式存取数据)
nosql
在java程序中一个类,在数据库中设计成一张表
在类中的属性,可以设计成表中的字段
类的一个对象,可以存为表的一行数据(记录)
mysql 数据库有一个默认的用户root
root 用户下有多个默认的数据库mysql /test
show databases;//查看当前用户下有多少个数据库
create dabase mychool ;//创建数据库
use myschool;//使用数据库
//MySql 常用数据类型
字符串型:char varchar text blob
数字类型: int float double decimal(5,2)-->123.45
日期类型: datetime 日期+时间 date 日期
bit 数据类型: sex bit: //0 表示男 1表示女
//约束
主键约束:primary key 列的唯一标识符。
非空约束: 该列值不能为空
主外键 建立后注意事项
~ 当主表中没有对应的记录时,不能将记录添加到子表
--->成绩表中不能出现在学员信息表中不存在的学号
~ 不能更改主表中的值而导致子表中的记录孤立
--->把学员信息表中的学号改变了,学员成绩表中的学号
也应当随之改变
~ 子表存在与主表对应的记录,不能从主表中删除该行
---> 不能把有成绩的学员删除了
~ 删除主表前,先删子表
--->先删学员成绩表、后删除学员信息表
第二节
DML (Data Manipulation Language: 数据操作语言)
插入、删除和修改数据库中的数据
insert 、update 、delete
DCL(Data Control Language: 数据控制语言)
用来控制存取许可、存取权限等
grant、revoke等
DQL (Data Query Language:数据查询语言)
用来查询数据库中的数据
select 等
DDL(Data Definition Language:数据定义语言)
用来建立数据库、数据库对象和定义表的列
create table 、 drop table 等
~ 使用 update 更新数据行:
update 表名 set 列名=更新值【where 更新条件】
~使用delete 删除数据行
delete from 表名 [ where <删除条件>]
~插入数据行语法
insert into 表名(列名) values (值列表)
SQL 中的运算符
赋值运算符
= 把一个数或变量或表达式赋值给另一变量,如:
name='张三'
逻辑运算符
and 并且仅当两个布尔表达式都为true时,返回true。
or 仅当 两个布尔表达式都为 false ,返回 false 。
not 对布尔表达式的值取反 。
插入数据语法:
IN SERT INTO 表名(列名) VALUES(值列表)
注意事项:
1、每次插入一行数据,不能只插入半行或者几列数据,插入的数据是否有效将按照整行
的完整性的要求来检验 。
2、 每个数据值的数据类型、精度和小数位数必须与相应的列匹配
3、如果在设计表的时候就指定了某列不允许为空,则必须插入数据
4、具有缺省值的列,可以使用default(缺省) 关键字来代替插入的值
UPDATE 表名 SET 列名 = 更新至 【 WHERE 更新条件 】
第三节
什么是查询:
查询产生一个虚拟表
看到的是表形式显示的结果,但结果并不真正存储
每次执行查询只是从数据表中提取数据,并按照表的形式显示出来
SELECT <列名> FROM <表名> 【 WHERE 查询条件表达式 】
from 后面对应你的表格名
模糊查询,输入跟查询目标有关的即可,例如:zs 输入z where 后面跟列名
select 后面接列名
模糊查询空值 ---> is null
小结:
~like:对字符串进行模糊匹配,通常和通配符一起使用
~in :在指定的范围内匹配
~between ... and:对数值在一个范围内匹配(由小到大)
~in null :列值是否为null
~ AS 语法后面 '输入的是更改的别名'
~IS NOT NULL 查询非空值
~ 查询语法
查询所有
select * from student
~根据条件查询
select * from student where studentno=1; and sex='男' and email is not null;
第四节
分组查询(查询的类要么是分组的类或者是聚合函数计算出来的列)
//没有用分组的使用情况(where、order by)
//分组查询的关键字是什么:
group by
分组筛选的关键字是什么:
having
排序、分组筛选、查询筛选、分组查询正确书写顺序是:
//执行顺序 where 、group by、 having 、order by 。
~ 子查询 查询出子查询的信息(查找出生日期要大于子查询的信息)
子查询,查找出来的只能是一列。作为条件
子查询,总是用圆括号括起来
首先,执行小括号中的子查询,返回的结果是所有来自子查询的结果
其次,才开始执行外围的父查询,返回查询的最终结果。
Java 第22章 mySQy的更多相关文章
- 设计模式之第22章-组合模式(Java实现)
设计模式之第22章-组合模式(Java实现) “鱼哥,有没有什么模式是用来处理树形的“部分与整体”的层次结构的啊.”“当然”“没有?”“有啊.别急,一会人就到了.” 组合模式之自我介绍 “请问你是?怎 ...
- EFFECTIVE JAVA 第十一章 系列化
EFFECTIVE JAVA 第十一章 系列化(将一个对象编码成一个字节流) 74.谨慎地实现Serializable接口 *实现Serializable接口付出的代价就是大大降低了“改变这个类 ...
- 第22章 职责链模式(Chain of Responsibility)
原文 第22章 职责链模式(Chain of Responsibility) 职责链模式 导读:职责链模式是一个既简单又复杂的设计模式,刚开始学习这个设计模式的时候光示例都看了好几遍.就为了理清里面的 ...
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- 【RL-TCPnet网络教程】第22章 RL-TCPnet之网络协议IP
第22章 RL-TCPnet之网络协议IP 本章节为大家讲解IP(Internet Protocol,网络协议),通过前面章节对TCP和UDP的学习,需要大家对IP也有个基础的认识. (本章 ...
- 《mysql必知必会》学习_第22章_20180809_欢
第22章:使用视图,视图是虚拟的表,以表形式呈现的是你查询的结果.并不是说在数据库里面真的存在这个表,但是是真的存在这些数据. select cust_name,cust_contact from c ...
- “全栈2019”Java多线程第九章:判断线程是否存活isAlive()详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第二章:创建多线程之继承Thread类
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第一章:认识多线程
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
随机推荐
- 使用UltraISO制作U盘启动盘——转载
现在流行用U盘来安装系统,但要用U盘来安装系统的前提条件下是如何将镜像文件写入到U盘里,UltraISO能很好的满足你的需求. 步骤/方法 鼠标右键“以管理员身份运行”UltraISO图标 打 ...
- LAMP环境
LAMP = Linux + Apache + MySQL + PHP [1] [2] [3] [4] [1]Linux是一套免费使用和自由传播的类Unix操作系统, ...
- php底层
http://www.phpchina.com/member.php?mod=logging&action=login 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: ...
- [原创.数据可视化系列之六]使用openlyaers进行公网地图剪切
进行地图开发的过程中,我一般使用天地图或者微软的地图作为地图,因为这两种地图的经纬度偏差最小,基本可以满足用户需求,比如: 不用说,都是全部地图,这也是最常用的一种方法. 但是用户说,我只看大连的地图 ...
- crontab使用
结合一条命令:0 */4 * * * curl http://xxxx.abc.com/admin.php?s=/Crontab/exec_114study_urltags
- HAProxy学习笔记
HAProxy:著名的负载均衡器,工作于用户空间的服务程序,其有两种工作模式: TCP mode:四层调度(模拟实现,依赖于socket进行通信) HTTP mode:七层调度 目前维护的稳定版本分支 ...
- extern关键字
1.extern "C" void func(){...} extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其 ...
- POJ2186
poj2186 popular cows Every cow's dream is to become the most popular cow in the herd. In a herd of ...
- REORG TABLE命令优化数据库性能
[转]DB2日常维护——REORG TABLE命令优化数据库性能 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止 ...
- IOS低版本遇到了坑不知道你遇到了没
拿着项目给客户测试,客户那边三个人俩人水果手机是ios8以下版本,结果导致```(恭喜,坑出现!)总不能说老总!"您把版本升级到ios9 吧!