MySQL之初始化数据详解

 更新时间:2025年01月13日 09:00:25   作者:浅念同学  
本文介绍了MySQL命令行的基本操作,包括列出数据库、创建数据库、使用数据库、查看表、删除数据库、退出MySQL等,还详细介绍了数据库表的结构和属性,以及如何创建和初始化测试数据

MySQL命令行基本命令

列出当前数据库管理系统中有哪些数据库。

show databases;

创建数据库,起名bjpowernode。

create database bjpowernode;

使用bjpowernode数据库。

use bjpowernode;

查看当前用的是哪个数据库。

select database();

查看当前数据库中有哪些表。

show tables;

删除数据库bjpowernode。

drop database bjpowernode;

退出mysqlexitquitctrl + c查看当前mysql版本

select version();

还可以使用mysql.exe命令来查看版本信息(在没有登录mysql之前使用):mysql --version

数据库表的概述

nameagegender
张三20
李四22

以上就是数据库表格的直观展示形式。

表格英文单词table。

表是数据库存储数据的基本单元,数据库存储数据的时候,是将数据存储在表对象当中的。为什么将数据存储在表中呢?因为表存储数据非常直观。

任何一张表都有行和列:

  • 行:记录(一行就是一条数据)
  • 列:字段(name字段、age字段、gender字段)

每个字段包含以下属性:

  • 字段名:name、age、gender都是字段的名字
  • 字段的数据类型:每个字段都有数据类型,比如:字符类型、数字类型、日期类型
  • 字段的数据长度:每个字段有可能会有长度的限制
  • 字段的约束:比如某些字段要求该字段下的数据不能重复、不能为空等,用来保证表格中数据合法有效

初始化测试数据

为了方便后面内容的学习,老师提前准备了表以及表中的测试数据,以下是建表并且初始化数据的sql脚本

DROP TABLE IF EXISTS EMP;
DROP TABLE IF EXISTS DEPT;
DROP TABLE IF EXISTS SALGRADE;

CREATE TABLE DEPT(DEPTNO int(2) not null ,
	DNAME VARCHAR(14) ,
	LOC VARCHAR(13),
	primary key (DEPTNO)
);
CREATE TABLE EMP(EMPNO int(4)  not null ,
	ENAME VARCHAR(10),
	JOB VARCHAR(9),
	MGR INT(4),
	HIREDATE DATE  DEFAULT NULL,
	SAL DOUBLE(7,2),
	COMM DOUBLE(7,2),
	primary key (EMPNO),
	DEPTNO INT(2) 
);

CREATE TABLE SALGRADE( GRADE INT,
	LOSAL INT,
	HISAL INT
);

INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 10, 'ACCOUNTING', 'NEW YORK'); 
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 20, 'RESEARCH', 'DALLAS'); 
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 30, 'SALES', 'CHICAGO'); 
INSERT INTO DEPT ( DEPTNO, DNAME, LOC ) VALUES ( 40, 'OPERATIONS', 'BOSTON'); 
 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7369, 'SMITH', 'CLERK', 7902,  '1980-12-17', 800, NULL, 20); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7499, 'ALLEN', 'SALESMAN', 7698,  '1981-02-20', 1600, 300, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7521, 'WARD', 'SALESMAN', 7698,  '1981-02-22', 1250, 500, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7566, 'JONES', 'MANAGER', 7839,  '1981-04-02', 2975, NULL, 20); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7654, 'MARTIN', 'SALESMAN', 7698,  '1981-09-28', 1250, 1400, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7698, 'BLAKE', 'MANAGER', 7839,  '1981-05-01', 2850, NULL, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7782, 'CLARK', 'MANAGER', 7839,  '1981-06-09', 2450, NULL, 10); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7788, 'SCOTT', 'ANALYST', 7566,  '1987-04-19', 3000, NULL, 20); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7839, 'KING', 'PRESIDENT', NULL,  '1981-11-17', 5000, NULL, 10); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7844, 'TURNER', 'SALESMAN', 7698,  '1981-09-08', 1500, 0, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7876, 'ADAMS', 'CLERK', 7788,  '1987-05-23', 1100, NULL, 20); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7900, 'JAMES', 'CLERK', 7698,  '1981-12-03', 950, NULL, 30); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7902, 'FORD', 'ANALYST', 7566,  '1981-12-03', 3000, NULL, 20); 
INSERT INTO EMP ( EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,DEPTNO ) VALUES ( 7934, 'MILLER', 'CLERK', 7782,  '1982-01-23', 1300, NULL, 10); 
 
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 1, 700, 1200); 
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 2, 1201, 1400); 
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 3, 1401, 2000); 
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 4, 2001, 3000); 
INSERT INTO SALGRADE ( GRADE, LOSAL, HISAL ) VALUES ( 5, 3001, 9999); 
commit;

什么是sql脚本:文件名是.sql,并且该文件中编写了大量的SQL语句,执行sql脚本程序就相当于批量执行SQL语句。

你入职的时候,项目一般都是进展了一部分,多数情况下你进项目组的时候数据库的表以及数据都是有的,项目经理第一天可能会给你一个较大的sql脚本文件,你需要执行这个脚本文件来初始化你的本地数据库。(当然,也有可能数据库是共享的。)

创建文件:bjpowernode.sql,把以上SQL语句全部复制到sql脚本文件中。

执行SQL脚本文件,初始化数据库

  • 第一步:命令窗口登录mysql
  • 第二步:创建数据库bjpowernode(如果之前已经创建就不需要再创建了):create database bjpowernode;
  • 第三步:使用数据库bjpowernode:use bjpowernode;
  • 第四步:source命令执行sql脚本,注意:source命令后面是sql脚本文件的绝对路径。

  • 第五步:查看是否初始化成功,执行:show tables;

使用其他的mysql客户端工具也可以执行sql脚本,比如navicat。使用source命令执行sql脚本的优点:可支持大文件

熟悉测试数据

emp dept salgrade三张表分别存储什么信息

查看表结构:desc或describe,语法格式:desc或describe +表名

以上的结果展示的不是表中的数据,而是表的结构。

对以上表结构进行解释说明:

  • emp
  • dept
  • salgrade

对于以上表结构要提前了解,后面学习的内容需要你马上反应出:哪个字段是什么意思。

查看一下表中的数据,来加深一下印象(以下SQL语句会在后面课程中学习):

  • emp:员工信息
  • dept:部门信息
  • salgrade:工资等级信息
  • Field是字段名
  • Type是这个字段的数据类型
  • Null是这个字段是否允许为空
  • Key是这个字段是否为主键或外键
  • Default是这个字段的默认值
  • empno:员工编号,int类型(整数),不能为空,主键(主键后期学习约束时会进行说明)
  • ename:员工姓名,varchar类型(字符串)
  • job:工作岗位,varchar类型
  • mgr:上级领导编号,int类型
  • hiredate:雇佣日期,date类型(日期类型)
  • sal:月薪,double类型(带有浮点的数字)
  • comm:补助津贴,double类型
  • deptno:部门编号,int类型
  • deptno:部门编号,int类型,主键
  • dname:部门名称,varchar类型
  • loc:位置,varchar类型
  • grade:等级,int类型
  • losal:最低工资,int类型
  • hisal:最高工资,int类型

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL读写延迟与并发导致的问题解决方案

    MySQL读写延迟与并发导致的问题解决方案

    读写延迟和并发问题,通常指的是在数据库操作中,特别是在主从复制架构或高并发场景下出现的经典问题,本文将详细解析这些问题的表现、原因和解决方案
    2026-03-03
  • MySQL存储过程终止执行的三种常见方法

    MySQL存储过程终止执行的三种常见方法

    在 MySQL 存储过程(PROCEDURE)开发中,我们常常遇到这样的需求:在执行过程中,如果某些条件不满足,就要立即终止剩余逻辑,避免无效或错误的操作,所以本文给大家介绍了MySQL存储过程终止执行的三种常见方法,需要的朋友可以参考下
    2025-11-11
  • 一次MySql重置root密码无效的实战记录

    一次MySql重置root密码无效的实战记录

    最近碰见过几次mysql root密码修改无效的情况,在此做一下总,下面这篇文章主要给大家介绍了一次MySql重置root密码无效的实战记录,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • MySQL函数之字符串函数解读

    MySQL函数之字符串函数解读

    MySQL提供了多种字符串函数,如CONCAT、CONCAT_WS、LENGTH、CHAR_LENGTH、LEFT、RIGHT、REPLACE、SUBSTRING、TRIM、FIND_IN_SET和FORMAT,用于处理数据库中的字符串数据
    2024-12-12
  • MySQL存储结构用法案例分析

    MySQL存储结构用法案例分析

    这篇文章主要介绍了MySQL存储结构用法,结合具体案例形式分析了mysql存储结构相关使用方法与操作注意事项,需要的朋友可以参考下
    2018-07-07
  • Mysql中Cast()函数的用法案例详解

    Mysql中Cast()函数的用法案例详解

    CAST 函数是 SQL 中的一种类型转换函数,它用于将一个数据类型转换为另一个数据类型,这篇文章主要介绍了Mysql中Cast()函数的用法,需要的朋友可以参考下
    2023-05-05
  • 解压版MYSQL安装及遇到的错误及解决方法

    解压版MYSQL安装及遇到的错误及解决方法

    这篇文章主要介绍了解压版MYSQL安装及遇到的错误及解决方法,需要的朋友可以参考下
    2018-11-11
  • 快速增加MYSQL数据库连接数负载能力的方法分享

    快速增加MYSQL数据库连接数负载能力的方法分享

    mysql数据库的负载能力除了和你机器硬件有关,还有一个重要参数就是你系统的配置有关,下面我来给大家介绍几种提高MYSQL数据库连接数负载能力方法总结,有需要的朋友可以参考一下
    2013-08-08
  • mysql如何防止插入相同数据

    mysql如何防止插入相同数据

    这篇文章主要介绍了mysql如何防止插入相同数据的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • MySQL5.6.22 绿色版 安装详细教程(图解)

    MySQL5.6.22 绿色版 安装详细教程(图解)

    本文通过图文并茂的形式给大家介绍了MySQL5.6.22 绿色版 安装详细教程,非常不错,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11

最新评论