【MySQL】探索表结构、数据类型和基本操作

表、记录、字段

数据库的E-R(entity-relationship,实体-关系)模型中有三个主要概念: 实体集 、 属性 、 关系集 。
一个实体集对应于数据库中的一个表,一个实体则对应于数据库表 中的一行,也称为一条记录。一个属性对应于数据库表中的一,也称为一个字段。
比如在日常生活之中,可以这样描述一本书的信息,《三国演义》是中华书局出版的图书,作者是罗贯中,定价89.00,出版于2008年5月1日,这样的信息在计算机中就可以使用下面的方式来描述:

  • (三国演义,中华书局,罗贯中,89.00,2008-5-1),将信息按照“(图书名称,出版社,作者,价格,出版日期)”的方式组织在一起,这样就组成了一条记录。

如果现在有多条这种记录,那么就可以列成一张表,通过表来管理数据。

下面是一个表的结构,每一行的数据都成为记录,那么每一列的内容都称为字段。每一列都有自己的数据类型。
在这里插入图片描述

SQL规范与测试数据导入

SQL语句规范

使用SQL语句需要遵循以下规范:

  • SQL语句不区分大小写。但字符串常量区分大小写,建议命令大写,表名库名小写;
  • SQL语句可单行或多行书写,以分号结尾;
  • 用空格和缩进来提高语句的可读性。
  • 注释:有三种风格的注释
    1. 单行注释可以用“#”
    2. 单行注释第二种写法用“-- ”,“–" 与注释之间是有空格的。
    3. 多行注释可以用/* */

##一些数据类型

数据类型说明示例
整数类型存储整数值INT, BIGINT, TINYINT
浮点数类型存储浮点数值FLOAT, DOUBLE
定点数类型存储精确小数值DECIMAL(10,2)
日期与时间类型存储日期和时间DATE, DATETIME, TIMESTAMP
字符串类型存储文本数据VARCHAR(255), CHAR(10), TEXT
二进制字符串类型存储二进制数据BINARY(10), VARBINARY(255), BLOB
空间数据类型存储空间数据POINT, GEOMETRY, POLYGON

准备测试数据(导入数据)

登录MySQL,输入source xxx/test.sql导入sql文件,sql文件实际上是一个脚本文件,里面有多行SQL语句,通过source命令可以批量执行。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

执行完毕之后,使用show databases;查看所有数据库,发现多了一个名为test的数据库。

在这里插入图片描述

使用show tables;查看test数据库下所有的数据表,发现有四个表。

在这里插入图片描述

test数据库表

部门表:dept

No.字段名类型描述
1DEPTNOSMALLINT部门编号
2DNAMEVARCHAR(14)部门名称,最多14个字符
3LOCVARCHAR(13)部门位置,最多13个字符

在这里插入图片描述

雇员表:emp

No.字段名类型描述
1EMPNOSMALLINT雇员编号
2ENAMEVARCHAR(10)雇员姓名
3JOBVARCHAR(9)职位(工作)
4MGRSMALLINT一个员工对应的领导编号,领导也是雇员
5HIREDATEDATE雇佣日期
6SALDECIMAL(7,2)基本工资
7COMMSMALLINT佣金(奖金),销售人员可以领取
8DEPTNOSMALLINT雇员所属部门编号,与dept表对应

在这里插入图片描述

工资等级表:salgrade

No.字段名类型描述
1GRADESMALLINT工资等级编号
2LOSALSMALLINT此等级的最低工资
3HISALSMALLINT此等级的最高工资

在这里插入图片描述

工资补贴表(工资条):bonus

No.字段名类型描述
1ENAMEVARCHAR(10)雇员姓名
2JOBVARCHAR(9)工作
3SALDECIMAL(7,2)基本工资
4COMMSMALLINT佣金

工资补贴表没有数据

数据库的基本操作

在MySQL之中有许多的数据库,可以使用以下命令SHOW DATABASES查看所有数据库:

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |		#主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
| mysql              |		#MySQL的核心数据库,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。
| performance_schema |		#主要用于收集数据库服务器性能参数。
| sys                |		#sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
+--------------------+

这些数据库彼此之间是可以进行相互切换的。而切换的基本语法:

USE <dbname>;

在这里插入图片描述

要想知道当前使用的是哪个数据库,那么可以使用select database();命令来查看:
在这里插入图片描述

在一个数据库下一定会存在多张数据表,那么这个时候也可以直接利用以下命令查看所有表:

SHOW TABLES;

而如果想要知道某些数据表的表结构,那么可以使用DESC命令:

DESC emp;

在这里插入图片描述

如果想要自己创建数据库,则需要使用以下命令:

CREATE DATABASE <dbname>;

如果数据库已经存在则会报错 Can't create database '<dbname>'; database exists,我们可以先判断数据库是否存在,不存在就创建,存在则忽略(只有警告没有报错)。

CREATE DATABASE IF NOT EXISTS  <dbname>;

如果想要删除数据库,则可以使用以下命令:

DROP DATABASE <dbname>;

如果数据库不存在则会报错Can't drop database 'ss'; database doesn't exist,所以在删除数据库时可以判断是否存在。

DROP DATABASE IF EXISTS <dbname>;	#如果数据库存在则删除

使用 DROP DATABASE 命令时要非常谨慎,在执行该命令后,MySQL 不会给出任何提示确认信息。DROP DATABASE 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2809146.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数字电路 第三章—第三节(加法器)

一、二进制数的算术运算 1、两数绝对值之间的运算 &#xff08;1&#xff09;二进制数的加减乘除等算术运算的规则和十进制数类似&#xff0c;只是加法运算的规则为“逢二进一”&#xff0c;减法运算的规则为“借一当二”。 &#xff08;2&#xff09;二进制加法&#xff1a…

2024022201-并发控制

并发控制 多事务执行方式 (1)事务串行执行 每个时刻只有一个事务运行&#xff0c;其他事务必须等到这个事务结束以后方能运行不能充分利用系统资源&#xff0c;发挥数据库共享资源的特点 (2)交叉并发方式&#xff08;interleaved concurrency&#xff09; 事务的并行执行是…

JDK8新特性全解析:Java8变革之旅

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

go环境安装-基于vscode的Windows安装

1、vscode安装 官网链接&#xff1a;https://code.visualstudio.com/ 选择相应的版本&#xff0c;这里选择Windows下的 下载得到一个VSCodeUserSetUp-x64的可执行文件&#xff0c;双击执行&#xff0c;选择要安装的路径&#xff0c;下一步。 2、go语言安装 官网链接&#x…

设计模式学习笔记 - 面向对象 - 8.实践:贫血模型和充血模型的原理及实践

1.Web开发常用的贫血MVC架构违背OOP吗&#xff1f; 前面我们依据讲过了面向对象四大特性、接口和抽象类、面向对象和面向过程编程风格&#xff0c;基于接口而非实现编程和多用组合少用继承设计思想。接下来&#xff0c;通过实战来学习如何将这些理论应用到实际的开发中。 大部…

react中修改state中的值无效?

// 初始化state state {personArr:[{name:张三,id:1},{name:李四,id:2},{name:王五,id:3}] }componentDidMount(){const newName 赵六const indexUpdate 1const newArr this.state.personArr.map((item,index)>{if(indexUpdate index){return {...item,name:newName}}e…

【Java程序员面试专栏 算法思维】五 高频面试算法题:贪心算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊贪心算法,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间买卖股票的最佳时机 II贪心算法遍历整个股票交易日价格列表 price,并执行贪心策…

机器学习——CBOW基于矩阵(手动实操)

基于矩阵的CBOW基础算法&#xff0c;其实是负采样的前提算法。 主要是根据 预测准确率为22%左右 说实话。。。我已经很满意了&#xff0c;至少这个东西是可以去预测的&#xff0c;至于预测为什么不正确&#xff0c;我目前猜测主要还是跟词频有关。 在结果中&#xff0c;an…

LeetCode--代码详解 235.二叉搜索树得最近公共祖先

235.二叉搜索树得最近公共祖先 题目 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可…

为什么AI越来越像玄学

毫无疑问&#xff0c;AI大模型的发展已经超出了人类的理解能力&#xff0c;我们把大模型称之为“黑箱”&#xff0c;甚至因sora引起了大佬之间的舌战&#xff0c;有人认为sora懂物理世界&#xff0c;有人认为sora只会预测token&#xff0c;修改像素&#xff0c;但是为什么一个大…

算法练习-组合总和【回溯算法】(思路+流程图+代码)

难度参考 难度&#xff1a;困难 分类&#xff1a;回溯算法 难度与分类由我所参与的培训课程提供&#xff0c;但需 要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0…

软件测试人员的基本功包括些什么?

软件测试人员的基本功包括哪些呢&#xff1f;接下来该问题的阐述结构如下&#xff1a; 1、一看软件测试基本流程 2、明确软件测试的基本功有哪些 3、如何牢固掌握这些基本功 软件测试基本流程 上图就是软件测试的基本流程 1&#xff09;需求评审 2&#xff09;计划编写 …

stm32利用CubeMX实现外部中断触发数码管加减数

首先打开proteus绘制电路图&#xff0c;如下&#xff1a; 然后打开CubeMX&#xff0c;配置晶振和GPIO&#xff1a; 接下来就是生成keil工程文件&#xff0c;用keil打开。 新建一个desplay.h文件&#xff1a;下面是全部代码 #ifndef __DESPLAY_H #define __DESPLAY_H #endif#i…

【C++】多态概念(入门)

介绍&#xff1a; 多态的概念&#xff1a;通俗来说&#xff0c;多态就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。比如扫红包操作&#xff0c;同样是扫码动作&#xff0c;不同的用户扫 得到的不一样的红包&#xff0…

五.AV Foundation 视频播放 - 标题和字幕

引言 本篇博客主要介绍使用AV Foundation加载视频资源的时候&#xff0c;如何获取视频标题&#xff0c;获取字幕并让其显示到播放界面。 设置标题 资源标题的元数据内容&#xff0c;我们需要从资源的commonMetadata中获取&#xff0c;在加载AVPlayerItem的时候我们已经指定了…

03|JOIN关联查询优化

1. mysql关联算法 1.1 嵌套循环连接 Nested-Loop Join(NLJ) 算法 先去t2表&#xff08;驱动表&#xff09;拿一行数据,然后去t1表&#xff08;被驱动表&#xff09;做关联, 关联之后把结果集存下来最后返回. 1.2 基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法 1.把 t…

Vulnhub靶机:DC8

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;DC8&#xff08;10.0.2.61&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/dc-8,367/…

Linux字符设备驱动中同类型多设备节点的创建---一个驱动程序支持多个同类型设备

文章目录 前言1 代码解析1.1 驱动层1.2 应用层 2 运行结果总结 前言 本期分享的内容相对比较简单&#xff0c;那就是同时注册多个同类型的字符设备驱动&#xff0c;那么这样我们就可以同时支持多个同类型的设备了&#xff01;下面来带大家看一下&#xff1a; 1 代码解析 1.1 …

基于springboot+vue的精准扶贫管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

从Unity到Three.js(outline 模型描边功能)

指定模型高亮功能&#xff0c;附带设置背景颜色&#xff0c;获取随机数方法。 百度查看说是gltf格式的模型可以携带PBR材质信息&#xff0c;如果可以这样&#xff0c;那就完全可以在blender中配置好材质导出了&#xff0c;也就不需要像在unity中调整参数了。 import * as THRE…