前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 数据库(二)——数据库基础

Mysql 数据库(二)——数据库基础

作者头像
RAIN7
发布2021-08-11 16:42:59
2.1K0
发布2021-08-11 16:42:59
举报
文章被收录于专栏:RAIN7 de 编程之路

本章内容介绍大纲

在这里插入图片描述
在这里插入图片描述

一、SQL 语句分类

  SQL语句有很多,我们最好分门别类,这样容易记忆…

1.DQL(数据查询语言)

  数据查询语言(Data Query Language, DQL)是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。

我们在 看到 select … 这样的 sql 语句,都是数据查询语句,凡是带有 select 关键字的 SQL 语句都是 DQL 语句

2.DML(数据操纵语言)

  数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除。

凡是带有INSERT、UPDATE、DELETE 关键字的语句都是 DML

insert —— 插入,等同于增 update —— 更新,等同修改 delete —— 删除

这个主要操作的是表中的数据

3.DDL(数据定义语言)

  数据定义语言 (Data Definition Language, DDL) 是SQL语言集中,负责数据结构定义与数据库对象定义的语言,由creat、alter 与 drop 三个语法所组成. DDL 主要操作的是 表的结构 不是表中的数据

凡是带有 create(增)、alter (改)、drop (删) 关键字的语句都是 DDL

create —— 新建、等同于增 drop —— 删除 alter —— 修改

这个增删改与 DML 有所不同,这个主要是对表结构进行操作.

4.DCL(数据控制语言)

  数据控制语言 (Data Control Language) 在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。对数据的权限进行控制的语言.

例如:

请求授权—— grant 撤销授权 —— revoke …

5.TCL(事务处理语言)

  这里的TCL可不是王牌电视,事务处理语言(Transaction Control Language),它的语句能确保被DML语句影响的表的所有行及时得以更新。是一种事务控制语言。

TCL 主要包括

事务提交 —— commit 事务回滚 —— rollback …

  现在我们还没学到,到我们在后面就会接触到了。

二、数据库的分类

在这里插入图片描述
在这里插入图片描述

  在上节课中 我们了解了 几种数据库软件(mysql、sql server、Oracle …),我们来看一看数据库的分类

1.关系型数据库

Mysql、Sql server 、Oracle 、SqLite 属于 关系型数据库

把数据按照 的形式来进行组织(类似于Excle这种形式的). 关系型数据库能够对数据进行更严格的校验,带来更好的数据的完整性.

2.非关系型数据库

Redis 、 HBase 、MongoDB …属于 非关系型数据库

把数据按照 文档 的形式来进行组织,文档和文档之间的差别可以较大. 更灵活的组织数据,效率更高,更容易在分布式环境下使用.

那么什么是表呢?

3.表的理解

数据库中最基本的结构是表—— table

什么是表 table ? 为什么用 表 table 进行存储数据呢?

我们给大家看一下什么是表,相信 EXcel 大家都用过

在这里插入图片描述
在这里插入图片描述

这样的结构 就是一个简单的表,表是组织数据的一种形式

数据库中是以 表格的形式来表示数据的,因为 表格比较直观.

任何 表 都有行和列

行(row): 被称为数据/ 记录

列 (column): 被称为字段

在这里插入图片描述
在这里插入图片描述

  在这个表中 列的数据就表示字段,有 姓名字段、性别字段、年龄字段,每一行的数据表示记录.

了解一下,每个字段都有 字段名、数据类型、约束条件等属性.

字段名: 只是一个普通的名字,见名知意就行了.

数据类型: 字符串类型,数字、日期等类型,在后面我们会详细介绍

约束:约束也有很多,其中有一个叫做唯一性约束,这种约束添加后,该字段的数据不能重复.

那我们怎么查看 某个数据库中的 表呢?

1.查看我们有哪些数据库

在这里插入图片描述
在这里插入图片描述

2.选中我们想要查看的数据库

在这里插入图片描述
在这里插入图片描述

3.查看数据库中的表

在这里插入图片描述
在这里插入图片描述

三、数据库操作

1.显示当前的数据库

代码语言:javascript
复制
mysql> show databases;
在这里插入图片描述
在这里插入图片描述

2.创建数据库

代码语言:javascript
复制
mysql> create database [数据库名]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  展示数据库与 创建数据库 在上一节课中我们已经具体的讲过了,我们重点来看 删除数据库

3.选中数据库/使用数据库

代码语言:javascript
复制
use  [ 数据库名 ]

  要想对数据库进行更具体的操作 (建表、查询、…)就需要先确定是针对那个数据库进行的.

在这里插入图片描述
在这里插入图片描述

例如: 我们在查询完数据库之后,希望选中 java100 这个数据库.

使用use java100;

在这里插入图片描述
在这里插入图片描述

  出现 Database changed 则选中成功.当前的数据库已经被选中,后续的操作都是针对这个数据库来展开的.

4.删除数据库

4.1语法

代码语言:javascript
复制
 drop database [数据库名];
在这里插入图片描述
在这里插入图片描述

说明:

  数据库删除后,内部看不到对应的数据库,里边的表和数据全部被删除.

我们对这个数据库进行简单的删除操作…

我们在这个数据库中新建了一个 rain7 的数据库

在这里插入图片描述
在这里插入图片描述

然后我们输入

drop database rain7 ;

进行删库操作

在这里插入图片描述
在这里插入图片描述

再次查看数据库

在这里插入图片描述
在这里插入图片描述

rain7 的数据库 已经成功被删去了…

在这里 我们希望大家牢牢记住

   一旦删除数据库,这里的 数据通过常规的手段就找不回来了!!!所以删除数据库是一个非常危险的操作!!~~

  以后在工作中,无论如何都不要使用 drop database 操作,尤其是针对线上环境~

四、常用数据类型

1.数值类型

分为整形 与 浮点型

在这里插入图片描述
在这里插入图片描述

扩展资料

数值类型可以指定为无符号(unsigned),表示不取负数。

对于整型类型的范围:

1.有符号范围:-2 ^ (类型字节数 * 8-1)到2 ^ (类型字节数 * 8-1)-1,如int是4字节,就是-2^ 31 到 2^31-1

2.无符号范围:0到2 ^ (类型字节数*8)-1,如int就是2 ^ 32-1

  尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。

bit [ M () ]

  bit 就表示一个二进制的数据,在方括号里我们可以指定该数据占多少个bit 位,M()就来指定有多少位,如果不指定的话,默认就为 1.

数据类型

对应Java类型

tinyint

byte

smallint

short

int

Integer

bigint

long

float(M,D)

float

double(M,D)

double

decimal(M,D)

bigdecimal

float (M,D)的含义

float (3,1)—— 有效数字是 3 位,小数点后保留一位.

95.5 合法 25.1 合法 101.2 不合法

decimal 在之前我们没有接触过

  Java中的 float 和 double 都是有问题的,不能精确表示一些数据 ~~ 遵循 IEEE754 标准,受限于浮点数在内存中的表示.

  后来Java为了解决这个问题,就有了 bigdecimal,内部使用其他方式来存储表示浮点数,就能够做到更精确的表示~~

  所以在 sql 中也有一个 decimal 来对应Java中的 bigdecimal.

2.字符串类型

在这里插入图片描述
在这里插入图片描述

varchar (size) 在() 中我们可以规定 字符串的大小,具体是字符的个数~~

blob 针对的类型主要是 二进制形式的文本数据

3.日期类型

在这里插入图片描述
在这里插入图片描述

  现在我们写代码优先使用 datetime 这个时间戳,因为 表示的范围更大

我们如何使用时间类型?

在这里插入图片描述
在这里插入图片描述

五、表的操作

需要操作数据库中的表时,需要先使用该数据库

use db_test;

1.查看表结构

desc 表名;

我们来使用一下该条命令语句

1.选中数据库,查看该数据库中的所有 table

在这里插入图片描述
在这里插入图片描述

2.查看表结构

在这里插入图片描述
在这里插入图片描述

表结构的具体解释

在这里插入图片描述
在这里插入图片描述

2.创建表

create table table_name(字段 类型,字段 类型 , …);

语法:

在这里插入图片描述
在这里插入图片描述

与其他编程语言 定义的不一样,在MySQL中 类型放在 字段的后面.

java 中可以用 // 表示注释 mysql中可以用 comment 表示注释说明,也可以用 - - 表示注释~

我们可以操作一下,我们想要添加一个工作人员表,以下图为例,同样在java100 的数据库中添加该表

在这里插入图片描述
在这里插入图片描述

1.查找数据库,选中Java100;

在这里插入图片描述
在这里插入图片描述

2.创建一个 工作人员表,要求有姓名,年龄,性别等属性~

在这里插入图片描述
在这里插入图片描述

3.查看表结构

在这里插入图片描述
在这里插入图片描述

3.删除表

drop table table_name;

在这里插入图片描述
在这里插入图片描述

我们再次来练习,删除我们在之前操作建立的 workers 这个表

1.删除 worker 这个表

在这里插入图片描述
在这里插入图片描述

2.查看删除成功

在这里插入图片描述
在这里插入图片描述

此时 workers 已经不存在.

六、建表小练习

给大家一个小练习,来熟悉 MySQL的基本操作吧

有一个商店的数据,记录客户及购物情况,有以下三个表组成:

商品goods ( 商品编号 goods_id,商品名 goods_name , 单价 unitprice , 商品类别 category , 供应商 provider )

客户 customer ( 客户号 customer_id , 姓名 name ,住址 address ,邮箱email,性别 sex ,身份证 card_id )

购买 purchase ( 购买订单号 order_id , 客户号 customer_id ,商品号 goods_id ,购买数量 nums ).

  数据库还有表的 增删查改 操作,我们会在下一节中集中介绍.

  好了今天的知识就分享到这里,希望大家多多练习,熟练掌握,感谢大家的欣赏与关注!!

  下一篇~ Mysql 数据库(三)—— 表的增删查改(CRUD) 敬请期待~~

谢谢欣赏!

未完待续…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、SQL 语句分类
    • 1.DQL(数据查询语言)
      • 2.DML(数据操纵语言)
        • 3.DDL(数据定义语言)
          • 4.DCL(数据控制语言)
            • 5.TCL(事务处理语言)
            • 二、数据库的分类
              • 1.关系型数据库
                • 2.非关系型数据库
                  • 3.表的理解
                  • 三、数据库操作
                    • 1.显示当前的数据库
                      • 2.创建数据库
                        • 3.选中数据库/使用数据库
                          • 4.删除数据库
                            • 4.1语法
                            • 四、常用数据类型
                              • 1.数值类型
                                • 2.字符串类型
                                  • 3.日期类型
                                  • 五、表的操作
                                    • 1.查看表结构
                                      • 2.创建表
                                        • 3.删除表
                                        • 六、建表小练习
                                        • 未完待续…
                                        相关产品与服务
                                        云数据库 SQL Server
                                        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档