您现在的位置是:首页 >技术杂谈 >MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作网站首页技术杂谈

MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

热爱编程的小K 2024-09-30 00:01:04
简介MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

前言

欢迎来到小KMySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解~✨文末送书,小K赠书活动第二期

一、准备测试数据

要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件

登录MySQL,输入source xxx/test.sql导入sql文件,sql文件实际上是一个脚本文件,里面有多行SQL语句,通过source命令可以批量执行。

在这里插入图片描述

执行完毕之后,使用show databases;查看所有数据库,发现多了一个名为test的数据库。
在这里插入图片描述

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

在这里插入图片描述

test数据库表

以后讲解SQL语句的时候,主要使用的是test数据库下的四张表,所以首先就必须对这些表的作用以及列的数据类型做一个基本的了解。
在这里插入图片描述

部门表:dept

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

在这里插入图片描述

相关英语翻译:

  • accounting 会计 new york 纽约
  • research 研究员 dallas 达拉斯
  • sales 销售 chicago 芝加哥
  • operarions 运营 boston 波士顿

雇员表:emp

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

在这里插入图片描述

相关英语翻译:

  • clerk 店员

  • salesman 售货员

  • manager 经理

  • analyst 化验员

  • president 董事长

工资等级表:salgrade

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

在这里插入图片描述

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

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

工资补贴表没有数据~

二、SQL语句规范

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

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

三、数据库的基本操作

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

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

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

USE <dbname>;

要想知道当前使用的是哪个数据库,那么可以使用select database();命令来查看:

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 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复

四、总结:文末赠书

在学习MySQL的时候测试数据是必不可少的~test.sql文件,SQL语句规范更要牢记!下节见 ~

本期赠送图书:C++高性能编程

在这里插入图片描述

在这里插入图片描述
618,清华社 IT BOOK 多得图书活动开始啦!活动时间为2023年6月7日至6月18日,清华社为您精选多款高分好书,涵盖了C++、Java、Python、前端、后端、数据库、算法与机器学习等多个IT开发领域,适合不同层次的读者。全场5折,扫码领券更有优惠哦!快来京东点击链接IT BOOK多得https://pro.m.jd.com/mall/active/3Rho97HkMaGFycLzAWfFdvZdyvRn/index.html

??抽奖方式:评论区随机抽取3位小伙伴免费送出!!
参与方式:关注博主、点赞、收藏、评论区评论“人生苦短,拒绝内卷!”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!)
活动截止时间:2023-06-13 20:00:00

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。