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

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. nagios二次开发(六)---nagiosql原理及主要文件的介绍

    nagiosql的入口文件:index.php,这也是所有php程序的入口文件.是由apache指定的. index.php 文件的开始引入了 require("functions/prep ...

  2. msdn webcast 下载地址整理

    http://blog.csdn.net/he_8134/article/details/2069194

  3. linux命令(4):mkdir命令

    linux mkdir 命令 用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式: mkdir [选项] 目录... 2.命 ...

  4. iOS 实现app文件共享

    解决方式如下,在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES.将您希望共享的文件放在应用程序的Documents目录.一旦设备插入到用户计算 ...

  5. css 下拉列表的制作

    圣诞节后上课就是不在状态,一整天都在神游,还感觉特别累,本来想休息休息的,结果某人看不惯我一直吃东西,非得把电脑给我打开,让整理今天所学的内容,想了一下,确实上午讲的用无序列表<ul>做的 ...

  6. Fedora 21 64位系统安装WPS教程

    WPS的Linux版本的出现简直是Linux党的福音,Ubuntu上的WPS安装非常简单,但是在Fedora上却有点小麻烦.主要是库的依赖问题.下面记录一下Fedora 21的64位版安装WPS的完整 ...

  7. python集合(set)操作

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...

  8. MySQL基础(三)

    数据插入 INSERT是用来插入行到数据库表的 ## 给出插入数据的字段名称,使得数据插入不依赖表中列名称的定义顺序 INSERT INTO customers(cust_name,cust_addr ...

  9. 【WMware】关于VMware服务器虚拟化管理之服务器容量扩充

    将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU.内存.磁盘.I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率 ...

  10. SQL 计算两个地理坐标相差的距离的函数

    Create function getGreatCircleDistance(@lat1 decimal(18,11),@lng1 decimal(18,11),@lat2 decimal(18,11 ...