一、为什么需要数据库?

1、数据需要存储,如果存在文本文件内,读写困难,内存消耗大
2、需要有指定格式、索引等方便读写
3、数据冲突、数据排序等功能需要解决
业内常见数据库:
Access——微软公司—— 商业 小型数据库
SQL SERVER——微软公司——商业 中大型数据库
MySQL——Oracle公司(收购)—— 开源 中小型数据库
Oracle——Oracle公司——商业 大型数据库
DB2——IBM公司—— 商业 大型数据库

二、关系型数据库

传统的关系型数据库采用表格的储存方式,数据以行和列的方式进行存储,要读取和查询都十分方便。
关系型数据库采用结构化查询语言(即SQL)来对数据库进行查询,SQL早已获得了各个数据库厂商的支持,成为数据库行业的标准,它能够支持数据库的CRUD(增加,查询,更新,删除)操作,具有非常强大的功能,SQL可以采用类似索引的方法来加快查询操作。
简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
在这里插入图片描述
关系数据库适用于复杂的数据结构,容易理解,操作方便。

三、数据库快速上手

先安装MySQL软件,配置MySQL服务后打开MySQL命令窗口(也可以下载可视化工具SQLyog、Navicat等)

1.MySQL数据库结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
字段类型就是字段的“数据类型”
在这里插入图片描述
如:Not null 字段属性表示数据插入时不能为空

2.MySQL数据库命令

注意:MySQL中每句命令用“;”结束(若用可视化工具SQLyog等除外)

CREATE DATABASE 数据库名;//创建数据库
drop database <数据库名>;//删除数据库
use 数据库名;//进入某个库内
show tables;//查看当前库中有哪些表
desc 数据表名;// 查看某个表的表结构

创建MySQL数据表需要以下信息:
表名
表字段名
定义每个表字段

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

增删查改语句

//插入数据
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
                       
//查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M];

//修改数据
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause];

//删除数据
DELETE FROM table_name [WHERE Clause]

更多条件查询、模糊查询等复杂命令请看https://www.runoob.com/mysql/mysql-tutorial.html

3.事务

一组原子性的数据库操作,指的是一组数据库操作中,要么都成功,要么都不成功。
假设银行转账时候A给B转钱,B收到钱
写了两条update语句如下:

update account set money=money-100 where id=1;
update account set money=money+100 where id=2;

若此时第一条语句执行成功,而第二条语句执行失败,那么A相当去转出去了100元,而B没有收到钱,那么这丢出去的100元怎么处理呢?
这里涉及到事务的概念:https://www.runoob.com/mysql/mysql-transaction.html

4.JDBC

JDBC——Java Data Base Connectivity,Java数据库连接协议,是Java提供的连接操作数据库的API,通过Java语言可操作数据库。

执行流程:
连接数据源,如:数据库。
为数据库传递查询和更新指令。
处理数据库响应并返回的结果
详情看:https://www.runoob.com/w3cnote/jdbc-use-guide.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐