[JavaWeb_Study_Three]板块二:数据库(MySQL数据模型、SQL及DDL相关知识)

三:MySQL数据模型

在前面的学习中,我们可以了解到,MySQL是一种关系型数据库,那么什么是关系型数据库呢?

1.关系型数据库

(1)定义:关系型数据库是是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库。(二维表可以简单的理解为Excel表格)
(2)优点:
①:都是使用表结构,格式一致,易于维护。
②:都是通用的SQL语言操作,使用方便,可用于复杂查询。
③:数据存储在磁盘中,比较安全。
(3)工作流程:
用户可以通过远程或者本地通过客户端,访问数据库管理系统,创建单个或者多个数据库文件,在数据库里有多个或一个数据表,数据表可以用来存储数据
工作流程

四:SQL相关用法

1.SQL基本概念

Structured Query Language,简称SQL,是结构化查询语言,用来操作关系型数据库的一门编程语言;它定义操作所有关系型数据库的统一标准,并且,对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,称之为“方言”。

2.SQL通用语法

(1):SQL语句可以单行或多行书写,以分号结尾
比如,有分号时:
分号结尾
当没有加分号时,mysql会一直让我们输入,直至读到“;”,才会进行编译:
分号结尾

(2):MySQL数据库的SQL语句不区分大小写(但是关键字一般用大写)。
(3):注释有两种方式,单行注释和多行注释;

单行注释: -- 注释内容(注意“--”和“注释内容”之间有一个空格,不可省略,否则会报错) 或 #注释内容(“#”注释为MySQL特有的);

单行注释

多行注释: /* 注释的内容 */;
多行注释

3.SQL分类

(1)DDL(Data Definition Language)数据定义语言,用来定义数据库对象:数据库,表,列等等,即:操作数据库、表等
(2)DML(Data Manipulation Language)数据操作语言,用来对数据库中表的数据进行增删改,即:对表中的数据进行增删改
(3)DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据),即:对表中的数据进行查询
(4)DCL(Data Control Language)数据控制语言,用来定义数据库的访问权限和安全级别,以及创建用户,即:对数据库进行权限控制
简便理解

4.DDL – 操作数据库

(1)查询
show databases;-- 用来查询所有数据库的名称

查询

(2)创建数据库

两种语法:
①直接添加(当数据库存在时,会报错)

create database 数据库名称;-- 增加一个新的数据库

增加
当数据库已经存在时:
报错
②判断后增加

create database if not exists 数据库名称;-- 先进行判断,若数据库不存在,则创建数据库

文件已存在,但没有报错
创建
文件不存在时,会创建
创建成功

(3)删除数据库

两种语法:
①直接删除(当数据库不存在时,会报错)

drop database 数据库名称;-- 直接删除数据库

删除

当数据库不存在时:
报错
②判断后删除(数据库不存在时,也不会报错)

drop database if exists 数据库名称;-- 先判断是否存在,若存在则删除

删除

(4)使用数据库

查看当前使用的数据库

select database();-- 查看当前正在使用的数据库是什么

查看
使用数据库

use 数据库名称;-- 使用数据库

使用

5.DDL – 操作表

(1)查询表

查询表名称

show tables;-- 查询当前正在使用的数据库下所有表的名称

查询表

查询表结构

desc 表名称;-- 查询表的结构

表结构

(2)创建表
create table 表名 (
字段名1 数据类型,
字段名2 数据类型,
...
字段名n 数据类型
);-- 注意在最后一个字段,是没有逗号的

创建

(3)删除表

两种语法:
①直接删除(当表不存在时,会报错)

drop table 表名;

当表存在时:
删除表
当表不存在时(会报错):
删除
②判断后执行:

drop table if exists 表名;-- 存在即执行,不存在不会执行,避免了报错 

删除

(4)修改表(五个部分)

①修改表名:
关键字:rename

alter table 表名 rename to 新的表名;

修改

②添加一列:
关键字:add

alter table 表名 add 列名 数据类型;

添加
添加
③修改数据类型:
关键字:modify

alter table 表名 modify 列名 新数据类型;

修改数据类型

④修改列名和数据类型:
关键字:change

alter table 表名 change 列名 新列名 新数据类型;

修改列名和数据类型
⑤删除列:
关键字:drop

alter table 表名 drop 列名;

删除

补充:数据类型

MySQL支持多种类,可以分为三类:

  1. 数值
  2. 日期
  3. 字符串

MySQL数据类型,如下:
MySQL数据类型
其中值得注意的是:
INT或INTEGER的大整数值,编写的形式形如:age int;
DOUBLE双精度浮点数值,编写形如:score double(参数一:未来数值的总长度;参数二:小数点后保留的位数)–>如写0~100,并且保留2位小数:score double(5,2),5是指最大值100是三位数+保留的两位小数=5;
DATE日期值,编写形如:birthday date,这里只显示年、月、日;
CHAR定长字符串,编写形如:name char(),注意当括号里面的参数为10时,不论数组存放了几个字符,都是会占用10个字符(剩余的空间,会自动使用空格补齐),它的存储性能高(因为不用计算长度),较浪费空间;
VARCHAR变长字符串,编写形如:name varchar(),注意不论括号里面的参数是什么,存入几个字符(但字符数不能超出参数值),就会占用几个字符,它的存储性能低(需要计算字符的长度),较节省空间;

DML、DQL相关知识(见JavaWeb_Study_Four)

传送入口:JavaWeb_Study_Four

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Waive.909

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值