2.JavaWebMySql基础

导语:

一、数据库基本概念

1.什么是数据库

2.关于MySql数据库

二、MySQL的安装与卸载

安装步骤:

卸载步骤:

三、MySQL服务操作

1.服务启动和关闭:

2.登录和退出MySQL:

3.服务自启动:

4.命令行登录:

5.服务状态查询:

6.配置文件修改:

7.服务日志文件:

四、SQL语言基础

1.SQL语言特点:

2.数据类型:

3.函数:

4.子查询:

5.事务处理:

6.索引:

7.存储过程和触发器:

8.视图:

五、DDL操作数据库

1.创建数据库:

2.查询数据库:

3.修改数据库:

4.删除数据库:

5.使用数据库:

六、DDL操作表

1.添加字段:

2.修改字段:

3.重命名字段:

4.删除字段:

5.设置字段默认值:

6.字段约束:

7.外键约束:

8.修改表字符集:

9.添加注释:

10.查看表结构:

七、DML操作数据

1.插入单条数据:

2.插入多条数据:

3.删除满足条件的数据:

4.删除所有数据:

5.更新满足条件的数据:

6.更新所有数据:

7.使用子查询进行更新:

8.使用LIMIT限制更新数据量:

9.数据插入时的注意事项:

10.数据删除时的注意事项:

八、DQL查询数据

1.查询所有字段:

2.查询指定字段:

3.条件查询:

4.模糊查询:

5.排序查询:

6.分组查询:

7.连接查询:

8.子查询:

9.聚合函数:

10.数据去重:

11.字段别名:

结语:


导语:

    数据库技术是现代信息系统的核心组成部分,它为我们的日常工作和生活提供了极大的便利。在众多数据库软件中,MySQL因其开源、易用、稳定的特点而广受欢迎。今天,我们将以通俗易懂的方式为您科普MySQL数据库的相关知识,带您轻松掌握其安装、配置、以及基本操作。

一、数据库基本概念

    数据库的定义和作用:数据库是一种用于存储和管理数据的仓库,它能够组织、存储和管理各种类型的数据,为用户提供高效的数据检索和更新服务。

    数据库技术在各类信息系统中发挥着至关重要的作用,是进行科学研究和决策管理的重要技术手段。

1.什么是数据库

(1)存储数据的仓库

(2)本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。

(3)所有的关系型数据库都可以使用通用的 SQL 语句进行管理 DBMS DataBase Management System

2.关于MySql数据库

(1)MySQL是一种开源的关系型数据库管理系统,由瑞典MySQL AB公司开发,现已被Oracle公司收购。

(2)MySQL支持多线程、多用户,能够跨平台运行,广泛应用于Web应用中,具有体积小、速度快、成本低、开放源代码等优点。

(3)MySQL支持标准SQL语言,拥有良好的扩展性和可移植性,广泛应用于各种Web应用中,包括京东、淘宝等知名网站都采用了MySQL数据库。

(4)MySQL数据库拥有多种存储引擎,如InnoDB、MyISAM等,可以满足不同应用场景的需求。

(5)MySQL数据库支持主从复制、读写分离等特性,能够实现高可用和负载均衡,具有出色的可扩展性和可靠性。

(6)MySQL社区活跃,文档资料丰富,是学习数据库管理系统的首选之一。

二、MySQL的安装与卸载

安装步骤:

        下载MySQL安装包,启动安装向导,选择安装类型,配置MySQL服务,设置root用户密码,安装MySQL客户端工具,选择字符集和校对规则,确定安装目录,开始安装。

卸载步骤:

        停止MySQL服务,打开控制面板,选择程序和功能,找到MySQL并选择卸载,删除MySQL安装目录,删除ProgramData目录下的MySQL文件夹。

图片

(具体操作步骤篇幅过长,有需要的读者们可以私信我领取安装包以及安装步骤)

或者可以等一等,有空发出来。

图片

图片

三、MySQL服务操作

MySQL服务操作包括以下关键点:

1.服务启动和关闭:

    (1)通过MySQL安装目录下的bin目录启动服务,或使用命令行输入net start mysql启动服务。

图片

    (2)关闭服务可通过命令行输入net stop mysql实现。

2.登录和退出MySQL:

    (1)在cmd窗口中,使用命令mysql -uroot -p并输入root用户密码进行登录。

图片

    (2)退出MySQL时,在MySQL命令行窗口输入exit或quit命令。

3.服务自启动:

    可以将MySQL服务设置为开机自启动,通过服务管理器(services.msc)找到MySQL服务,右键选择属性,在启动类型中选择自动。

4.命令行登录:

    可以通过命令行参数连接远程MySQL服务器,例如:mysql -h ip -P port -u user -p。

5.服务状态查询:

    使用命令mysqladmin ping可以检查MySQL服务是否正在运行。

6.配置文件修改:

    可以通过修改MySQL的配置文件my.ini来配置服务参数,例如端口号、字符集等。

7.服务日志文件:

    MySQL的错误日志文件通常位于MySQL的data目录下,可以通过查看错误日志来诊断服务问题。

四、SQL语言基础

SQL语言的分类:

        包括DDL(数据定义语言)、DML(数据操作语言)、DQL(数据查询语言)和DCL(数据控制语言)。

SQL语句的通用语法:

        语句可以单行或多行书写,以分号结束,支持使用空格和缩进来增强可读性。MySQL的SQL语句不区分大小写,但建议使用大写关键字。支持使用–或#注释单行,以及/* */注释多行。

具体可以体现为:

1.SQL语言特点

        SQL是一种声明式语言,用户只需要指定需要做什么,而不需要指定如何做。这种设计使SQL具有易学易用、灵活高效的特点。

2.数据类型

        SQL支持多种数据类型,包括数值型(int, float等)、字符型(char, varchar等)、日期时间型(date, time, datetime等)以及二进制类型(blob等)。在创建表时应根据实际需要选择合适的数据类型。

3.函数

        SQL提供了丰富的内置函数,包括数学函数(如abs, sqrt)、字符串函数(如concat, substring)、日期时间函数(如curdate, datediff)、转换函数(如cast, convert)等。熟练使用这些函数可以大大简化查询操作。

4.子查询

        子查询允许将一个查询的结果作为另一个查询的条件或数据源,极大地增强了SQL的查询能力。例如,可以在WHERE子句中使用子查询来过滤结果集。

5.事务处理

        SQL支持事务处理,即可以保证一系列操作要么全部成功,要么全部失败,从而保证数据库的完整性和一致性。事务处理的关键语句包括BEGIN TRANSACTION、COMMIT和ROLLBACK。

6.索引

        索引可以大大提高查询效率,因为其可以减少查询需要扫描的数据量。常用的索引包括主键索引、唯一索引、普通索引等。创建表时应根据查询需求设计合理的索引。

7.存储过程和触发器

        存储过程是一组为了完成特定功能的SQL语句集合,可以提高代码复用性。触发器可以监控表的插入、删除和修改操作,并触发特定的SQL操作。它们都可以提高数据库应用的开发效率。

8.视图

        视图是基于一个或多个表的查询结果集,可以简化复杂的查询操作,提高查询效率。同时,视图也可以用于提供数据的抽象层,隐藏底层数据库的结构。

五、DDL操作数据库

1.创建数据库:

(1)创建数据库

CREATE DATABASE 数据库名称;

(2)判断数据库是否已经存在,不存在则创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

(3)创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

2.查询数据库:

SHOW DATABASES;查看所有的数据库show create database db1; 查看某个数据库的定义信息

3.修改数据库:

ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称;

4.删除数据库:

DROP DATABASE 数据库名称;

5.使用数据库:

(1)查看正在使用的数据库

SELECT DATABASE(); 使用的一个 mysql 中的全局函数

(2)使用/切换数据库

USE 数据库名称;

六、DDL操作表

1.添加字段:

    可以使用ALTER TABLE 表名 ADD 字段名 数据类型 来为表添加新的字段,如 :

ALTER TABLE students ADD gender char(1);

2.修改字段:

    可以使用ALTER TABLE 表名 MODIFY 字段名 新数据类型 来修改字段的数据类型,如 :

ALTER TABLE students MODIFY gender varchar(10);

3.重命名字段:

    可以使用ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 来重命名字段,如:

 ALTER TABLE students CHANGE gender sex varchar(10);

4.删除字段:

    可以使用ALTER TABLE 表名 DROP 字段名 来删除字段,如:

 ALTER TABLE students DROP sex;

5.设置字段默认值:

    在创建表时,可以为字段设置默认值,如:

CREATE TABLE students(id int, name varchar(20), age int default 18);

6.字段约束:

    可以为字段设置非空、唯一、主键等约束,以增强数据的完整性,如:

CREATE TABLE students(id int primary key, name varchar(20) not null, age int default 18);

7.外键约束:

    可以在创建表时通过FOREIGN KEY约束来实现表与表之间的关联,如:

CREATE TABLE orders(order_id int, product_id int, FOREIGN KEY(product_id) REFERENCES products(product_id));

8.修改表字符集:

    可以使用ALTER TABLE 表名 DEFAULT CHARACTER SET 字符集 来修改表的默认字符集,如:

ALTER TABLE students DEFAULT CHARACTER SET utf8;

9.添加注释:

    可以为表和字段添加注释,以提高可读性,如:

ALTER TABLE students COMMENT ‘学生表’;

10.查看表结构:

    可以使用DESCRIBE或DESC 表名 来查看表的结构,如:

DESCRIBE students;

七、DML操作数据

1.插入单条数据:

    使用INSERT INTO 表名(列名1, 列名2, …) VALUES(值1, 值2, …) 语句插入单条数据,如

INSERT INTO students(name, age) VALUES(‘张三’, 20);

2.插入多条数据:

    可以在一条INSERT语句中插入多条数据,使用VALUES(),(),()语法,如

INSERT INTO students(name, age) VALUES(‘张三’, 20),(‘李四’, 22),(‘王五’, 21);

3.删除满足条件的数据:

    使用DELETE FROM 表名 WHERE 条件 语句删除满足条件的数据,如

DELETE FROM students WHERE age < 18;

4.删除所有数据:

    可以使用DELETE FROM 表名;语句删除表中所有数据,也可以使用TRUNCATE TABLE 表名;语句,后者效率更高;

5.更新满足条件的数据:

    使用UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, … WHERE 条件 语句更新满足条件的数据,如

UPDATE students SET age = 21 WHERE name = ‘张三’;

6.更新所有数据:

    可以在没有WHERE条件的情况下更新表中所有数据,如

UPDATE students SET age = 20;

7.使用子查询进行更新:

    可以在UPDATE语句中使用子查询作为条件,如

UPDATE students SET age = 21 WHERE name IN (SELECT name FROM students WHERE age < 20);

8.使用LIMIT限制更新数据量:

    可以在UPDATE语句中添加LIMIT限制条件,如

UPDATE students SET age = 20 WHERE age < 18 LIMIT 10;

9.数据插入时的注意事项:

    插入数据时要注意字段的类型、长度等约束条件,以避免插入错误的数据;

10.数据删除时的注意事项:

   删除数据时要注意WHERE条件,避免误删数据。

八、DQL查询数据

1.查询所有字段:

    可以使用SELECT * FROM 表名;语句查询表中的所有字段数据,如

SELECT * FROM students;

2.查询指定字段:

    可以使用SELECT 字段1, 字段2, … FROM 表名;语句查询表中的指定字段数据,如

SELECT name, age FROM students;

3.条件查询:

    可以在SELECT语句中使用WHERE子句添加条件,以查询符合条件的数据,如

SELECT * FROM students WHERE age > 18;

4.模糊查询:

    可以在SELECT语句中使用LIKE关键字进行模糊查询,如

SELECT * FROM students WHERE name LIKE ‘%李%’;

5.排序查询:

    可以在SELECT语句中使用ORDER BY子句对结果进行排序,如

SELECT * FROM students ORDER BY age DESC;

6.分组查询:

    可以在SELECT语句中使用GROUP BY子句进行分组查询,如

SELECT name, COUNT(*) FROM students GROUP BY name;

7.连接查询:

    可以使用JOIN关键字进行多表连接查询,如

SELECT students.name, classes.name FROM students JOIN classes ON students.class_id = classes.id;

8.子查询:

    可以在SELECT语句中使用子查询,如

SELECT * FROM students WHERE age > (SELECT AVG(age) FROM students);

9.聚合函数:

    可以使用COUNT(), SUM(), AVG(), MAX(), MIN()等聚合函数进行数据统计,如

SELECT COUNT(*) FROM students;

10.数据去重:

    可以使用DISTINCT关键字去除查询结果中的重复数据,如

SELECT DISTINCT name FROM students;

11.字段别名:

    可以使用AS关键字为查询结果的字段指定别名,如

SELECT name AS 姓名, age AS 年龄 FROM students;

结语:

    通过以上内容,相信您已经对MySQL数据库有了基本的了解,包括其安装、配置以及基本操作。数据库技术在我们的工作和生活中发挥着重要作用,掌握这些知识将使您在处理数据和信息系统时更加得心应手。希望本文对您有所帮助,祝您学习愉快!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现线性查找算法

Python实现线性查找算法 以下是使用 Python 实现线性查找算法的示例代码&#xff1a; def linear_search(arr, target):"""线性查找算法:param arr: 要搜索的数组:param target: 目标值:return: 如果找到目标值&#xff0c;返回其索引&#xff1b;否则返回 -1…

【玩转Linux】有关Linux权限

目录 一.Linux权限的概念 1. 权限的本质 2.Linux中的用户 3.Linux中的权限管理 (1)文件访问者的分类 (2)文件类型和访问权限&#xff08;事物属性&#xff09; ①文件基本权限 ②文件权限值的表示方法 (3)文件访问权限的相关设置方法 ① 用 户 表 示 符 / - 权 …

Vue3 快速上手从0到1,两小时学会【附源码】

小伙伴们好&#xff0c;欢迎关注&#xff0c;一起学习&#xff0c;无限进步 以下内容为vue3的学习笔记 项目需要使用到的依赖 npm install axios npm install nanoid vue-router npm install pinia npm install mitt 源码&#xff1a;Gitee 运行 npm install npm run dev需要运…

MacBook2024苹果免费mac电脑清理垃圾软件CleanMyMac X

CleanMyMac X是一款专业的Mac清理软件&#xff0c;具备多种强大功能。首先&#xff0c;它能够智能清理Mac磁盘上的垃圾文件和多余语言安装包&#xff0c;从而快速释放电脑内存。其次&#xff0c;CleanMyMac X可以轻松管理和升级Mac上的应用&#xff0c;同时强力卸载恶意软件并修…

windows使用pyenv

1、前言 虽然anaconda比pyenv相比有更好的python安装体验&#xff0c;但是有一个比较严重的问题的就是&#xff0c;他的python版本跨度不够大&#xff0c;一些老一些的项目的python版本找不到&#xff0c;比如py12306要求的python版本是3.6&#xff0c;在anaconda却找不到这个版…

查看pip当前关联python版本及位置

好久没用python了&#xff0c;把各种pip指向的环境忘光光啦&#xff0c;这里记录一下查看pip当前关联的python版本及位置的方法&#xff1a; pip -V结果&#xff1a; 我一般不用这个版本的python&#xff0c;去环境变量看了一下&#xff0c;原来是anaconda的Scripts自带pip&a…

gprof安装使用(CMake)说明

一、安装 1、gprof默认已安装&#xff0c;可安装相关图形处理 sudo apt-get install python graphviz sudo pip install gprof2dot 注意&#xff1a;在Debian中没有安装成功&#xff0c;报Python的版本不匹配 二、使用说明 1、使用CMake管理的工程&#xff1a; 重新配置CMa…

Elastic Stack--05--聚合、映射mapping

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶&#xff08;bucket&#xff09;度量&#xff08;metrics&#xff09; 案例 11. 接下来按price字段进行分组&#xff1a;2. 若想对所…

LVS集群 ----------------(直接路由 )DR模式部署 (二)

一、LVS集群的三种工作模式 lvs-nat&#xff1a;修改请求报文的目标IP,多目标IP的DNAT lvs-dr&#xff1a;操纵封装新的MAC地址&#xff08;直接路由&#xff09; lvs-tun&#xff1a;隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…

2024年【电工(初级)】考试内容及电工(初级)考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电工&#xff08;初级&#xff09;考试内容根据新电工&#xff08;初级&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将电工&#xff08;初级&#xff09;模拟考试试题进行汇编&#xff0c;组成一套电…

Gitlab修改仓库权限为public、Internal、Private

Public&#xff08;公开&#xff09;&#xff1a;所有人都可以访问该仓库&#xff1b; Internal&#xff08;内部&#xff09;&#xff1a;同一个GitLab群组或实例内的所有用户都可以访问该仓库&#xff1b; Private&#xff08;私人&#xff09;&#xff1a;仅包括指定成员的用…

2024 年广东省职业院校技能大赛(高职组) “云计算应用”赛项样题②

2024 年广东省职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项样题② 模块一 私有云&#xff08;50 分&#xff09;任务 1 私有云服务搭建&#xff08;10 分&#xff09;任务 2 私有云服务运维&#xff08;25 分&#xff09;任务 3 私有云运维开发&#xf…

突破编程_前端_JS编程实例(目录导航)

1 开发目标 目录导航组件旨在提供一个滚动目录导航功能&#xff0c;使得用户可以方便地通过点击目录条目快速定位到对应的内容标题位置&#xff0c;同时也能够随着滚动条的移动动态显示当前位置在目录中的位置&#xff1a; 2 详细需求 2.1 标题提取与目录生成 组件需要能够自…

虚拟机实验环境配置与使用(计算机系统2)

一、 实验目标&#xff1a; 熟悉Linux上C程序的编译和调试工具&#xff0c;包括以下内容&#xff1a; 1. 了解Linux操作系统及其常用命令 2. 掌握编译工具gcc的基本用法 3. 掌握使用gdb进行程序调试 二、实验环境与工件 1.个人电脑 2. Fedora 13 Linux 操作系统 3. gcc…

【Python】牛客网—软件开发-Python专项练习(day1)

1.&#xff08;单选&#xff09;下面哪个是Python中不可变的数据结构&#xff1f; A.set B.list C.tuple D.dict 可变数据类型&#xff1a;列表list[ ]、字典dict{ }、集合set{ }(能查询&#xff0c;也可更改)数据发生改变&#xff0c;但内存地址不变 不…

OPCUA 学习笔记:程序模型

无论是边缘控制器&#xff0c;还是PLC 中&#xff0c;除了信息模型之外&#xff0c;还有应用程序&#xff0c;这些程序可能是IEC61131-3 编写的程序&#xff0c;也可能是其它程序开发的可执行程序。 尽管OPCUA 描述模型能力很强&#xff0c;但是它缺乏算法的描述方式。但是OPCU…

YOLOV5 初体验:简单猫和老鼠数据集模型训练

1、前言 前两天&#xff0c;通过OpenCV 对猫和老鼠视频的抽取&#xff0c;提取了48张图片。这里不再介绍&#xff0c;可以参考之前的文章&#xff1a;利用OpenCV 抽取视频的图片&#xff0c;并制作目标检测数据集-CSDN博客 数据的目录如下&#xff1a; 项目的下载见文末 2、制…

【Web】浅聊Java反序列化之Rome——EqualsBeanObjectBean

目录 简介 原理分析 ToStringBean EqualsBean ObjectBean EXP ①EqualsBean直球纯享版 ②EqualsBean配合ObjectBean优化版 ③纯ObjectBean实现版 关于《浅聊Java反序列化》系列&#xff0c;纯是记录自己的学习历程&#xff0c;宥于本人水平有限&#xff0c;内容很水&a…

YOLOv5-Openvino-ByteTrack【CPU】

纯检测如下&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 注&#xff1a;YOLOv5和YOLOv6代码内容基本一致&#xff01; 全部代码Github&…

Linux--文件类型与权限

Linux上一切皆文件; 蓝色的是目录文件 Linux不以文件的扩展名来区分文件类型,而是在文件属性中有一列专门记录文件类型. ls -l 可以查看 普通文件:.c .cpp .h .txt .pdf .xls (-) 目录文件:文件夹 (d) 管道文件:用于进程间通信的一种文件 (p) 链接文件:相当于W…