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

文章目录

  • 一、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.删除表
  • 六、建表小练习
  • 未完待续…

接上篇 Mysql 数据库(一)—— 初识 Mysql

本章内容介绍大纲


Mysql 数据库(二)——数据库基础_第1张图片


一、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 数据库(二)——数据库基础_第2张图片


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


1.关系型数据库


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

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


2.非关系型数据库


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

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

那么什么是表呢?


3.表的理解


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

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

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


Mysql 数据库(二)——数据库基础_第3张图片

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


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


任何 表 都有行和列


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

列 (column): 被称为字段

Mysql 数据库(二)——数据库基础_第4张图片


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


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


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

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

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


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


1.查看我们有哪些数据库
Mysql 数据库(二)——数据库基础_第5张图片

2.选中我们想要查看的数据库
在这里插入图片描述

3.查看数据库中的表
Mysql 数据库(二)——数据库基础_第6张图片


三、数据库操作


1.显示当前的数据库


mysql> show databases;

Mysql 数据库(二)——数据库基础_第7张图片

2.创建数据库


mysql> create database [数据库名]

Mysql 数据库(二)——数据库基础_第8张图片
Mysql 数据库(二)——数据库基础_第9张图片
  展示数据库与 创建数据库 在上一节课中我们已经具体的讲过了,我们重点来看 删除数据库


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


use  [ 数据库名 ]

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

Mysql 数据库(二)——数据库基础_第10张图片

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

使用use java100;
在这里插入图片描述
  出现 Database changed 则选中成功.当前的数据库已经被选中,后续的操作都是针对这个数据库来展开的.


4.删除数据库


4.1语法


 drop database [数据库名];

Mysql 数据库(二)——数据库基础_第11张图片

说明:

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


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

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


Mysql 数据库(二)——数据库基础_第12张图片

然后我们输入

drop database rain7 ;

进行删库操作

Mysql 数据库(二)——数据库基础_第13张图片

再次查看数据库

Mysql 数据库(二)——数据库基础_第14张图片
rain7 的数据库 已经成功被删去了…

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


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

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


四、常用数据类型


1.数值类型


分为整形 与 浮点型

Mysql 数据库(二)——数据库基础_第15张图片

扩展资料

数值类型可以指定为无符号(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.字符串类型


Mysql 数据库(二)——数据库基础_第16张图片


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

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


3.日期类型

Mysql 数据库(二)——数据库基础_第17张图片

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


我们如何使用时间类型?

Mysql 数据库(二)——数据库基础_第18张图片

五、表的操作


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


use db_test;


1.查看表结构


desc 表名;


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


1.选中数据库,查看该数据库中的所有 table
Mysql 数据库(二)——数据库基础_第19张图片

2.查看表结构
Mysql 数据库(二)——数据库基础_第20张图片


表结构的具体解释

Mysql 数据库(二)——数据库基础_第21张图片


2.创建表


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


语法:

Mysql 数据库(二)——数据库基础_第22张图片

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


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


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

Mysql 数据库(二)——数据库基础_第23张图片

1.查找数据库,选中Java100;
Mysql 数据库(二)——数据库基础_第24张图片

2.创建一个 工作人员表,要求有姓名,年龄,性别等属性~
在这里插入图片描述

3.查看表结构
Mysql 数据库(二)——数据库基础_第25张图片



3.删除表


drop table table_name;

Mysql 数据库(二)——数据库基础_第26张图片

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

1.删除 worker 这个表
在这里插入图片描述

2.查看删除成功
Mysql 数据库(二)——数据库基础_第27张图片
此时 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) 敬请期待~~



谢谢欣赏!



未完待续…

你可能感兴趣的:(Mysql,数据库入门之路,数据库,mysql)