MySQL—数据表的操作

回顾

1.数据库是一类软件,这一类软件是管理数据的软件,往往把数据存储在硬盘上(持久化存储)。
2.可以很方便的进行增删改查
3.典型代表是MySQL,Oracle,SQL Server
4.MySQL是客户端 服务器结构的软件。
在控制台上输入的任何一个命令,本质上都是通过网络的方式和服务器进行了交互。
服务器:被动接受请求的一方。
客户端:主动发起请求的一方。
请求:客户端给服务器发的数据。
响应:服务器给客户端返回的数据。
5.关于数据库的操作(此处提到的数据库,指的是一些逻辑上的数据集合)一个MySQL服务器上可以同时管理多组这样的数据集合。
(1)显示数据库
show databases;
(2)创建数据库
create database 数据库名;
数据库名不能是关键字
(3)选中数据库
use 数据库名;
(4)删除数据库
drop database 数据库名;

删除操作非常危险,一旦删除,数据极有可能就无法恢复。尤其是公司中一些重要的数据(生产环境的数据)。
如何避免生产环境的数据被删除??
(1)权限控制。只有个别的“管理员”才能够执行删除操作。
(2)备份。一旦被删除,还有备份的数据库能够使用。

公司中涉及到的几种环境
(1)办公环境。完成日常办公。
(2)开发环境/测试环境:一般是以服务器的形式来提供的, 通过办公电脑通过网络远程的连接到服务器。
(3)线上环境/生产环境。也是通过服务器的形式来提供的,通过办公电脑的网络远程连接。
生产环境就是直接供用户来访问的环境。生产环境万万不能出问题。

扩展

MySQL管理数据的方式

在这里插入图片描述

不是所有的数据,都按照表格的方式来组织数据的。
MySQL、Oracle、SQL Server都是按照表格来组织,称为“关系型数据库”。
Redis、HBase、MongoDB不要求按照表格的方式组织(类似于文档/键值对),称为“非关系型数据库”。

MySQL中的数据类型

数值类型

在这里插入图片描述

FLOAT(M,D) 和DOUBLE(M,D) 中的M指有效数字,D代表指定小数位数.
平时提到的浮点数(float,double)都是基于IEEE754标准来进行使用的,基于这套规则表示的浮点数,最大的问题是对于有些数字来说,不能精确的表示一个小数。
DECIMAL(M,D)能够精确的表示小数。

TINYINT 对应Java中的 byte
SMALLINT 对应Java中的 short
INT 对应Java中的 int
BIGINT 对应Java中的 long

SQL是非常古老的语言,诞生的时间早于Java

字符串类型
在这里插入图片描述

日期类型

在这里插入图片描述

可以用varchar来表示日期,但是不好,会失去对日期的校验功能(判定这个日期是不是合法的)。

数据表的操作

创建表

create table 表名(列名 类型,列名 类型…)
注:进行表操作之前,先选中数据库(use).

在这里插入图片描述

在指定列的时候,列名在前,类型在后。

查看表

show tables;
此操作的前提,也是先选中数据库。

在这里插入图片描述

查看表结构

查看某个表里面有几列,每一列都是啥类型,每一列都是啥名字,每一列其他补充信息。
desc 表名;
在这里插入图片描述

Field: 表示字段
NULL: 如果是yes表示这一列允许为空,如果是no表示这一列不允许为空。
类似于有的表格是必填项,有的是选填项。

Default:默认值
NULL表示啥都不填。

删除表

drop table 表名;
在这里插入图片描述

删除表操作,也是一个非常危险的操作。一旦删除,可能就恢复不了了。

例题

在代码中表示“钱”,一般有两种:
1.使用Decimal
2.使用int(单位是分即可)

有一个商店的数据,记录客户及购物情况,有以下3个表组成。
1.商品goods(商品编号goods_id,商品名是goods_name,单价是unitprice,商品类别是category,供应商provider)
2.客户customer(客户号customer_id,姓名name,住址address,邮箱email,性别sex,身份证card_id)
3.购买purchase(购买订单号order_id,客户号customer_id,商品编号goods_id,购买数量nums).

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在cmd里面,Ctrl+c表示中断当前的输入(sql输入一半,不想要了,重新输入)
复制是先选中,然后enter
粘贴是鼠标右键。

新增操作

insert往表里面插入数据
insert into 表名 values(列的值…);
这里的一个括号代表一条记录。
在这里插入图片描述

注:1.values后面()中的字段的个数和表头约定的列数以及每个列的类型应匹配。
2.在sql中表示字符串,可以使用单引号,也可以使用双引号。
3.如果某一列是datetime,此时如何插入??
1)通过指定格式的字符串来插入一个指定时间。
2)通过now()函数来插入一个系统当前时间。

在这里插入图片描述

在这里插入图片描述

注:如果进行指定列插入,如何操作呢?
如果插入指定列或者插入某几列,此时其他的列将采用默认值。

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值