华清远见重庆中心--数据库技术总结/个人总结

华清远见重庆中心--数据库技术总结/个人总结
摘要由CSDN通过智能技术生成

目录

目录

数据和信息

数据库

数据库管理系统

总结

常见的数据库管理系统

关系型数据库

优点

缺点

非关系型数据库

数据库管理系统图形化管理工具

连接mysql

创建数据库

切换数据库

创建数据表

SQL

操作数据库

操作数据表

创建数据表

修改数据表

添加约束

建表的同时添加约束

删除数据表

数据完整性

MySQL中常见的数据类型

 约束

操作数据

数据添加insert

给所有字段赋值

给指定字段赋值

批量添加

数据修改update

修改单个字段的所有值

修改多个字段的所有值

根据条件修改(where子句)

指定值

指定范围

指定集合

模糊查询

数据删除delete

删除所有

条件删除

数据查询select

查询所有字段

查询指定字段

字段重命名

查询指定条数

条件查询

排序

统计函数(聚合函数)

数学相关函数

 字符串相关函数

 时间相关函数

分组

group_concat()函数

连接查询

交叉连接、笛卡尔积

内连接

左连接

右连接

嵌套查询

Jar

在Java项目中使用.jar文件

JDBC

核心接口

单表查询

SQL注入

简化JDBC

数据库设计

实体关系模型

实体之间的关系

一对一

在数据库中创建表的过程

一对多/多对一

在数据库中创建表的过程

多对多

在数据库中创建表的过程

总结

数据库设计规范

第一范式1NF

第二范式2NF

第三范式3NF

 名词解释

主键/主码/主属性

联合主键

完全依赖

部分依赖

传递依赖

视图View

创建视图

使用视图

删除视图

事务transaction

事务的特性ACID

Atomicity原子性

Consistency一致性

Isolation隔离性

Durability持久性

事务的使用

提交commit

回滚rollback

手动提交/回滚事务

事务并发可能出现的问题

 事务隔离级别

查看事务隔离级别

设置事务隔离级别

触发器trigger

创建触发器

使用触发器

删除触发器

存储过程procedure

调用存储过程

删除存储过程

定义存储过程

定义无参数的存储过程

定义输入型参数的存储过程

定义输出型参数的存储过程

定义输入输出型参数的存储过程

MySQL编程

定义变量

给变量赋值

读取变量的值

条件语句

单分支if语句

双分支if语句

case语句

循环语句

while循环

repeat循环

loop循环



数据和信息

Data 数据
任何描述事物的文字或符号都可以称为数据。
软件开发就是为了收集数据,从中筛选出有用的信息。
信息就是进过分析筛选后的数据。
数据需要保存,保存的介质有内存或硬盘。
内存中的数据是临时的,随着系统的关闭,数据也会消失。
硬盘中的数据是永久,就算系统关闭,数据依然保留。
excel 等文件保存数据是一种保存到硬盘中的途径,
如果需要大量数据保存,文件系统就不再方便。
使用一个系统化的数据仓库才能高效地管理数据。

数据库

DataBase , 称为数据库,简称 DB
运行在操作系统上,按照一定的数据结构,保存数据的仓库。 是一个电子化的文件柜。
数据永久保存在硬盘中。

数据库管理系统

DataBase Manager System ,简称 DBMS
通常所说的数据库,其实是指数据库管理系统,如 MySQL SQLServer Oracle 等。
是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库。

总结

数据 Data 需要永久保存在数据库中
数据库 DB 是运行在操作系统上的一个软件
数据库管理系统 DBMS 是管理数据库的一个软件
学习数据库就是学习如何使用 DBMS 创建、使用数据仓库来管理数据

常见的数据库管理系统

关系型数据库

关系型数据库是主流的数据库类型。
数据通过 row column 的形式 ( 表格 ) 保存。
称为一条 记录
称为一个 字段
字段通常为 Java 中某个实体类的属性,通过这个类创建的对象,就是一条记录。
class Employee ,有员工编号、部门、工资等属性,
对应数据库中有一张 Employee 员工表,这张表中有员工编号、姓名、部门等字段。
关系型数据库中,数据表中间进行关联,能快速地查询想要的数据。

优点

易于维护:数据都是以表的结构存储,格式一致
使用方便: SQL 语句通用,可用于不同的关系型数据库
支持复杂查询:可以通过 SQL 语句在多个表之间查询出复杂数据

缺点

读写性能差,在处理海量数据时, 频繁读写效率略低
表结构不易改动,灵活度稍欠佳
高并发读写时,硬盘 I/O 决定了读写速度

非关系型数据库

数据通过对象的形式保存,对象可以是一个键值对、文档、图片等。

非关系型数据库的特点
保存数据的格式多样
对于海量数据的读写性能高
不支持复杂查询

数据库管理系统图形化管理工具

如果只是使用控制台操作数据库系统很不方便,所以在 windows 下有很多图形化的管理工具。
navicat datagrip sqlyog 等。

连接mysql

连接后双击进入连接

创建数据库

在连接上右键,新建数据库,只需填写数据库名

切换数据库

只需双击对应的数据库

创建数据表

在展开后的数据库中,在表的选项上右键新建表

 

保存时输入表名
每张表需要一个编号 "id" 列,通常设置为主键,目的是为了区分每条记录。主键列中的数据不能重
复,通常还需将主键列设置为自增列。
由于 mysql 中大小写不敏感,字段名使用全部小写字母,多个单词用 _ 隔开
数据类型和所占长度根据实际情况选择
如果某列数据必须要填写,将 " 不是 null" 勾选
如果某个字段有默认值,可以在设计表的时候设置,字符串用单引号引起来
最好加上注释

SQL

S tructrued Q uery L anguage 结构化查询语言
用于操作关系型数据库的一门语言。可用来创建、维护数据库和数据。

操作数据库

创建数据库
create database 数据库名 ;
切换数据库
use 数据库名 ;
删除数据库
drop database 数据库名 ;

操作数据表

创建数据表

create table 表名 (
字段名 1 数据类型 [ 字段特征 ],
字段名 2 数据类型 [ 字段特征 ],
...
字段名 n 数据类型 [ 字段特征 ]
)

修改数据表

修改表时,要保证不影响现有数据
对表重命名
alter table 旧表名 rename to 新表名 ;
添加新字段
alter table 表名 add column 字段名 1 数据类型 [ 字段特征 ];
修改字段
alter table 表名 change 旧字段名 新字段名 数据类型 [ 字段特征 ];
删除字段
alter table 表名 drop 字段名 ;

添加约束

添加唯一约束
alter table 表名 add unique( 字段名 );
添加主键约束
alter table 表名 add primary key( 字段名 )
添加默认值约束
alter table 表名 alter 字段名 set default ' 默认值 '
添加外键约束
alert table 从表表名 add foreign key( 从表外键字段 ) references 主表表名 ( 主表主键字
)
添加约束的操作通常是对已存在的表进行修改和维护时使用。如果是一张新表,最好在创建表的时候就设计好约束。

建表的同时添加约束

-- 创建游戏数据库 gamedb
create database gamedb;
-- 切换到 gamedb
use gamedb;
-- 创建游戏人物表 hero
create table hero(
-- 编号 id 主键 非空 自增
id int not null primary key auto_increment comment ' 人物编号 ' ,
-- 姓名 唯一 非空
name varchar ( 20 ) unique not null ,
-- 性别 默认男 非空
sex char ( 1 ) not null default ' ' ,
-- 价格 非空
price int not null ,
-- 发布时间 可以为空
make_time date
)
-- 添加 " 定位 "position 字段
alter table hero add column position varchar ( 20 )
-- 创建战斗表 battle
create table battle(
-- id ,主键字段
id int not null primary key auto_increment,
-- 出战人物编号 hero_id, 来自于 hero 表中的 id 字段 非空
hero_id int not null ,
-- 昵称 可以为空
nick_name varchar ( 20 ),
-- 分路 不能为空
way varchar ( 20 ) not null ,
-- 设置外键
foreign key(hero_id) REFERENCES hero (id)
)

删除数据表

drop table 表名
如果要删除有外键关联的表,要先删除从表,再删除主表。

数据完整性

数据完整性是指数据精确可靠。不能保存无意义或无效的数据。
如不合理的年龄性别、全为空的记录、重复记录等。
为了保证保存在数据库中的数据是完整数据,就要在设计数据表的时候添加一些 约束 字段特征 来保证数据的完整性

MySQL中常见的数据类型

 

 

 约束

 

操作数据

数据的操作,是指数据的增加 create ,修改 update ,查询 read 和删除 delete
简称 CURD

数据添加insert

数据添加时,都是整行添加。不能只给一个字段添加数据。
如果只给某个字段添加数据,实际是修改。

给所有字段赋值

insert into 表名 values ( ' 1' , ' 2' ...)
表名后无需添加字段名,添加时保证值的顺序和数量与表中字段的顺序和数量一致
遇到自增字段,不能省略不写,可以使用 0 null default 让其填充自增值
遇到有默认值的字段,不能省略不写,使用 default 让其填充默认值
遇到允许为空的字段,不能省略不写,使用 null 让其设置为空

给指定字段赋值

insert into 表名 ( 字段 1, 字段 2...) values ( ' 1' , ' 2' ...)
至少需要将所有非空字段写出来
可以不用写出自增字段、有默认值的字段和允许为空的字段
表名后的字段顺序要和值的顺序一致

批量添加

insert into 表名 [( 字段 1, 字段 2...)] values
( ' 1'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值