文章目录

  • 一、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

本章内容介绍大纲

一、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.显示当前的数据库

mysql> show databases;

2.创建数据库

mysql> create database [数据库名]



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

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

use  [ 数据库名 ]

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

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

使用use java100;

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

4.删除数据库

4.1语法

 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) 敬请期待~~

谢谢欣赏!

未完待续…

Mysql 数据库(二)——数据库基础相关推荐

  1. MySQL入门 (二) : SELECT 基础查询

    1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...

  2. 2.5.1 MySQL数据库备份恢复基础讲解

    MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...

  3. 小汤学编程之MySQL(二)——数据库操作、表结构操作、表数据操作、查询数据和数据类型

    一.数据库操作 1.创建数据库     2.查询数据库     3.修改数据库     4.使用数据库 二.表结构操作 1.创建表     2.查询表     3.修改表     4.删除表 三.表数 ...

  4. 零基础带你学习MySQL—备份恢复数据库(三)

    零基础带你学习MySQL-备份恢复数据库(三) 一.备份数据库 二.恢复数据库 先删除数据库zs_db03 恢复数据库zs_db03 课堂练习 方法一:傻瓜式办法 直接Ctrlcv 方法二:命令行方法 ...

  5. 《大型数据库技术》MySQL数据库的开发基础

    文章目录 注意 1.MySQL 的存储引擎 1.1 创建企业管理系统的数据库,命名为enterprisedb 1.2 创建一张雇员表,使用MyISAM引擎,命名为employee,包括如下字段:雇员工 ...

  6. MYSQL (关系型数据库管理系统)的基础知识详解

    一.什么是数据库? 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.查询.更新.删除等操作 所谓"数据库"是以一定方式储存在一起.能与多 ...

  7. 视频教程-19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程-MySQL

    19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/ja ...

  8. 数据基础---mysql数据库操作(一)---基础操作

    mysql常识 本文前面主要是对<mysql_5.5中文参考手册>部分内容的整理. 说明:登录mysql后,可以看到mysql> 的提示符,可以输入相关命令:输入命令后,需要以&qu ...

  9. mysql和foxbase_Mysql使用基础知识和MYSQL数据库的简单操作 -(转)

    Mysql使用基础知识 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 一.连接MYSQL.格式:my ...

  10. Mysql学习(二)创建数据库和表

    MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 ...

最新文章

  1. 【SAP-PM模块】服务采购业务流程
  2. python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows
  3. python中的模运算符_Python中的字符串模运算符与format函数
  4. tableau使用需要收费吗_使用苹果手机时,这些需要注意的点,你都知道吗?
  5. Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决
  6. Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善)
  7. Java剪切板操作大全
  8. 信号之函数的可重入性
  9. 服务器c盘windows文件夹太大,Win10C盘windows文件夹过大怎么办?Win10C盘windows文件夹过大的解决方法...
  10. python读取xml编码gb2312_【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)...
  11. Python(42)_文件操作
  12. [myeclipse] 官方中文网站
  13. 工业物联网网关 数据采集网关
  14. 动态为Spring Boot项目中所有自定义的Controller添加过滤器的两种方法
  15. 从程序员的角度分析微信小程序(编程语言:用到什么学什么)
  16. php小写字母改成大写,php如何将小写字母转为大写
  17. js 排班插件_js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件
  18. 计算机蓝屏代码0xc0000020,Win10运行程序提示“损坏的映像 错误0xc0000020”解决方法图文教程...
  19. 教你如何使用免费的来电提醒
  20. 如图一显示了用计算机模拟,(全套打包)北京市各区2017年中考模拟试题汇编·数学...

热门文章

  1. openstack bdm基础
  2. 【stm32】摇杆模块利用stm32获取摇杆值
  3. 【附源码】计算机毕业设计java中小学图书馆管理设计与实现
  4. 因为它是在别处已打开 Word 无法保存此文件
  5. Tcar:智能车之ds18b20温度传感器实现温度采集模块
  6. 区块链侧链应用开发平台Asch节点安装及区块生产教程
  7. Flink(1):Flink概述
  8. 互联网+时代的人生必修课—逆商
  9. 计算机写给未来自己的一段话,写给自己一段话
  10. python版本分类及区别_python新版本与旧版本的区别