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
本章内容介绍大纲
一、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 数据库(二)——数据库基础相关推荐
- MySQL入门 (二) : SELECT 基础查询
1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...
- 2.5.1 MySQL数据库备份恢复基础讲解
MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...
- 小汤学编程之MySQL(二)——数据库操作、表结构操作、表数据操作、查询数据和数据类型
一.数据库操作 1.创建数据库 2.查询数据库 3.修改数据库 4.使用数据库 二.表结构操作 1.创建表 2.查询表 3.修改表 4.删除表 三.表数 ...
- 零基础带你学习MySQL—备份恢复数据库(三)
零基础带你学习MySQL-备份恢复数据库(三) 一.备份数据库 二.恢复数据库 先删除数据库zs_db03 恢复数据库zs_db03 课堂练习 方法一:傻瓜式办法 直接Ctrlcv 方法二:命令行方法 ...
- 《大型数据库技术》MySQL数据库的开发基础
文章目录 注意 1.MySQL 的存储引擎 1.1 创建企业管理系统的数据库,命名为enterprisedb 1.2 创建一张雇员表,使用MyISAM引擎,命名为employee,包括如下字段:雇员工 ...
- MYSQL (关系型数据库管理系统)的基础知识详解
一.什么是数据库? 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.查询.更新.删除等操作 所谓"数据库"是以一定方式储存在一起.能与多 ...
- 视频教程-19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程-MySQL
19全新mysql教程零基础入门实战精讲mysql视频DBA数据库视频教程SQL教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/ja ...
- 数据基础---mysql数据库操作(一)---基础操作
mysql常识 本文前面主要是对<mysql_5.5中文参考手册>部分内容的整理. 说明:登录mysql后,可以看到mysql> 的提示符,可以输入相关命令:输入命令后,需要以&qu ...
- mysql和foxbase_Mysql使用基础知识和MYSQL数据库的简单操作 -(转)
Mysql使用基础知识 有很多朋友虽然安装好了mysql但却不知如何使用它.在这篇文章中我们就从连接MYSQL.修改密码.增加用户等方面来学习一些MYSQL的常用命令. 一.连接MYSQL.格式:my ...
- Mysql学习(二)创建数据库和表
MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的 ...
最新文章
- 【SAP-PM模块】服务采购业务流程
- python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows
- python中的模运算符_Python中的字符串模运算符与format函数
- tableau使用需要收费吗_使用苹果手机时,这些需要注意的点,你都知道吗?
- Oracle 数据库设置最大进程数参数方法,oracle最大进程数满了处理方法,sysdba管理员登录报“maximum number of processes (150) exceeded“问题解决
- Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善)
- Java剪切板操作大全
- 信号之函数的可重入性
- 服务器c盘windows文件夹太大,Win10C盘windows文件夹过大怎么办?Win10C盘windows文件夹过大的解决方法...
- python读取xml编码gb2312_【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)...
- Python(42)_文件操作
- [myeclipse] 官方中文网站
- 工业物联网网关 数据采集网关
- 动态为Spring Boot项目中所有自定义的Controller添加过滤器的两种方法
- 从程序员的角度分析微信小程序(编程语言:用到什么学什么)
- php小写字母改成大写,php如何将小写字母转为大写
- js 排班插件_js jquery 实现 排班,轮班,日历,日程。使用fullcalendar 插件
- 计算机蓝屏代码0xc0000020,Win10运行程序提示“损坏的映像 错误0xc0000020”解决方法图文教程...
- 教你如何使用免费的来电提醒
- 如图一显示了用计算机模拟,(全套打包)北京市各区2017年中考模拟试题汇编·数学...