下列都是关系型数据库(在数据库中存在行、列)

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的更多相关文章

  1. 设计模式之第22章-组合模式(Java实现)

    设计模式之第22章-组合模式(Java实现) “鱼哥,有没有什么模式是用来处理树形的“部分与整体”的层次结构的啊.”“当然”“没有?”“有啊.别急,一会人就到了.” 组合模式之自我介绍 “请问你是?怎 ...

  2. EFFECTIVE JAVA 第十一章 系列化

    EFFECTIVE  JAVA  第十一章  系列化(将一个对象编码成一个字节流) 74.谨慎地实现Serializable接口 *实现Serializable接口付出的代价就是大大降低了“改变这个类 ...

  3. 第22章 职责链模式(Chain of Responsibility)

    原文 第22章 职责链模式(Chain of Responsibility) 职责链模式 导读:职责链模式是一个既简单又复杂的设计模式,刚开始学习这个设计模式的时候光示例都看了好几遍.就为了理清里面的 ...

  4. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  5. 【RL-TCPnet网络教程】第22章 RL-TCPnet之网络协议IP

    第22章      RL-TCPnet之网络协议IP 本章节为大家讲解IP(Internet Protocol,网络协议),通过前面章节对TCP和UDP的学习,需要大家对IP也有个基础的认识. (本章 ...

  6. 《mysql必知必会》学习_第22章_20180809_欢

    第22章:使用视图,视图是虚拟的表,以表形式呈现的是你查询的结果.并不是说在数据库里面真的存在这个表,但是是真的存在这些数据. select cust_name,cust_contact from c ...

  7. “全栈2019”Java多线程第九章:判断线程是否存活isAlive()详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  8. “全栈2019”Java多线程第二章:创建多线程之继承Thread类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  9. “全栈2019”Java多线程第一章:认识多线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

随机推荐

  1. Owin SelfHost Asp.net WebApi 遇到 No type was found that matches the controller named 'ControllerName' 异常的解决方案

    问题背景:在使用普通的SelfHost时,调用其它工程的dll(其实就是把WebApi写到一个单独的工程方便管理),通过加载其他工程的dll然后再访问webapi是没有问题的. 但是在使用Owin S ...

  2. Python之路-Day2

    二进制 1bit = 一个二进制位 8bit = 1byte 循环 for while 数据类型 数字.字符串.列表.元祖.字典.集合 字符编码 文件处理 for循环: for i in range( ...

  3. alhpa阶段回顾

    说明:本次课程,大家按照我下面列出来的问题进行回顾和反思,总结alhpa阶段以来的得失.每个组都要回答这些问题.由组长或者组员来回答都可以.目的依然是让大家养成软工的一些习惯和思维方式. 1.最初的需 ...

  4. 新年PR交期回写,展望期由14天改为30天,FP_PR2SAP ;转单量改为100W;FP_PR2SAP_MOD_NEW

  5. VS C#开发中WinForm中Setting.settings的作用

    .定义 在Settings.settings文件中定义配置字段.把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改.可以使用数据网格视图,很方便: .读取配置值 tex ...

  6. spring mvc 第二天【注解实现springmvc Handler处理ajax简单请求 的配置】

    这里使用的是在前台发起ajax请求Handler,后台伪造数据响应给前台, 配置对应ajax请求的Handler信息如下 @Controller public class MyController { ...

  7. keepalived+nginx高可用负载均衡环境搭建

    上篇说道keepalived的环境搭建,本来keepalived结合lvs更有优势,但是也可以结合nginx来使用.下面接着说下nginx的环境搭建 环境信息: nginx(master)  192. ...

  8. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块

    spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可 ...

  9. C#实现JSON序列化与反序列化

    1.使用 JavaScriptSerializer类实现序列化 namespace: System.Web.Script.Serialization eg: // 序列化 private string ...

  10. Android之简单了解Bitmap显示图片及缓存图片

    昨天我们学了如何连接网络,今天我们就学习一下如何从把网上图片显示到项目中 今天主要用到的是Bitmap 类 Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图 ...