java框架面试题,MySQL 初级使用指南

本文详细介绍了MySQL的安装步骤,配置文件设置,以及作为数据库软件的基础知识,如SQL语言和SQL语句分类。同时提供了针对Java开发者的学习资源,包括《2024年Java开发全套学习资料》和MySQL面试题整理。
摘要由CSDN通过智能技术生成

常见数据库软件

上图是截至 2021 年 4 月数据库使用率排行榜前 10 榜单,可以看到主要有 Oracle、MySQL、SQL Server、Redis、MongoDB、PostgreSQL、Elasticsearch,Db2 等数据库。而我们之所以选择 MySQL,主要有如下两个原因:

  1. 使用量大,相比于其他数据库,其使用量仅次于 Oracle;

  2. 开源免费,虽然 Oracle 很好,但是授权的价格却让人望而却步,许多小公司根本无力承担这笔费用,而选用开源免费的 MySQL 就成了大家的选择;

MySQL


对于 MySQL 的安装,我这里以压缩包版本的安装为例。

安装

  1. 下载安装包

首先去下载对应安装包,下载地址如下:

https://dev.mysql.com/downloads/mysql/

  1. 加载安装包到安装目录

将下载后的压缩包接要到我们需要安装 MySQL 的路径,以下以我的安装路径 D:\Softs\mysql-8.0.24-winx64 为例。

  1. 配置文件

一般来讲,解压后的文件目录中是不存在配置文件 my.ini 的,需要我们自己新建一个,新建后的目录结构如下图所示:

接着我们在配置文件中加入以下配置:

[mysqld]

设置3306端口

port=3306

设置mysql的安装目录

basedir=D:\Softs\mysql-8.0.24-winx64

设置mysql数据库的数据的存放目录

datadir=D:\Softs\mysql-8.0.24-winx64\data

max_allowed_packet = 20M

允许最大连接数

max_connections=200

允许连接失败的次数

max_connect_errors=10

服务端使用的字符集默认为utf8

character-set-server=utf8

#使用–skip-external-locking MySQL选项以避免外部锁定。该选项默认开启

; external-locking = FALSE

创建新表时将使用的默认存储引擎

; default-storage-engine=INNODB

; # 默认使用“mysql_native_password”插件认证

; default_authentication_plugin=mysql_native_password

; [mysqld_safe]

; log-error=D:\Softs\mysql-8.0.24-winx64\mysql_oldboy.err

; pid-file=D:\Softs\mysql-8.0.24-winx64\mysqld.pid

; # 定义mysql应该支持的sql语法,数据校验

; sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]

设置mysql客户端默认字符集

default-character-set=utf8

[client]

设置mysql客户端连接服务端时默认使用的端口

port=3306

设置mysql客户端默认字符集

default-character-set=utf8

  1. 配置环境变量
  • 打开控制面板->系统与安全->系统,进入高级系统设置,如下图所示;

  • 然后进行环境变量的设置,如下图;

  1. 初始化

控制台进入 MySQL 解压后的路径,然后以管理员身份执行如下命令;

mysqld --initialize --console

注意:执行成功后会打印出初始的 root 用户密码,一定要记住!!!方便后边修改密码;

  1. 安装数据库服务

接上一步初始化数据库后,继续执行如下命令;

mysqld --install

因为博主已经安装过了,所以会提示服务已存在,若是第一次安装,则不会提示已安装;

卸载

卸载相对于安装就简单多了,只需要将我们的文件夹 D:\Softs\mysql-8.0.24-winx64 删除,然后将配置的环境变量删除即可。

配置

启动 MySQL 服务
  1. Windows 服务方式启动

使用快捷键 Win + X + G,进入计算机管理界面,然后打开 服务和应用程序 -> 服务,找到 MySQL 服务,然后根据需要点击 暂停停止重启动 此服务即可;

  1. 终端命令打开

Windows 下,使用快捷键 Win + X + A,以管理员权限打开命令控制符,然后使用如下命令打开、关闭、重启 MySQL 服务即可;

打开服务

net start mysql

关闭服务

net stop mysql

登陆

安装并打开 MySQL 服务之后,我们就可以连接数据库进行使用了。MySQL 安装时默认提供了一个 root 用户,使用安装时设置的密码即可登陆。

  1. mysql -u 用户名 -p

mysql -u root -p

  1. mysql -h ip地址 -u 用户名 -p

mysql -h localhost -u root -p

退出

exit;

quit;

SQL


什么是 SQL

Structured Query Language:结构化查询语言是一种特定目的编程语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。

SQL 基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。尽管 SQL 经常被描述为,而且很大程度上是一种声明式编程(4GL),但是其也含有过程式编程的元素。

SQL 通用语法

  1. SQL 语句能以单行或多行书写,以分号 ; 表示一条语句的结束;

  2. MySQL 中的 SQL 语句不区分大小写,但是为了将关键字和自定义变量分开,建议关键字使用大写;

  3. MySQL 的 3 种注释方式;

  • 单行注释

SQL语句 – 注释内容

SQL语句 # 注释内容

  • 多行注释

SQL语句 /* 注释内容 */

常用 SQL 语句

对于 SQL 语句,我们可以分为如下几类:

  • DDL

  • DML

  • DQL

  • DCL

以下就分别来看看各类语句的具体相关信息。

DDL(Data Definition Language)
  1. 定义

用于 定义数据库对象:数据库、表、列等,相关关键字:CREATEDROPALTER……

  1. 数据库操作
  • 创建

  • 创建数据库

CREATE DATABASE 数据库名;

  • 创建数据库前先判断是否存在,不存在再创建

CREATE DATABASE IF NOT EXISTS 数据库名;

  • 创建数据库的同时指定字符集

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

  • 查询

  • 查询所有数据库名称;

SHOW DATABASES;

  • 查询某一数据库的字符集和它的创建语句;

SHOW CREATE DATABASE 数据库名;

  • 更新

  • 修改表名

RENAME TABEL 表名 TO 新表名;

  • 修改数据库字符集

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

  • 删除

  • 删除数据库

DROP DATABASE 数据库名;

  • 判断数据库是否存在,存在再删除

DROP DATABASE IF EXISTS 数据库名;

  • 使用

  • 使用某一个数据库

USE 数据库名;

  • 查询当前正在使用的数据库

SELECT DATABASE();

  1. 表操作
  • 创建

  • 语法

CREATE TABLE 表名(

列名1 数据类型,

列名2 数据类型,

……

列名n 数据类型

);

  • 常用数据类型

| 类型 | 说明 |

| — | — |

| int | 整数类型 |

| double | 小数类型 |

| varchar | 字符串 |

| date | 日期,只含年月日 |

| datetime | 日期,不仅包含年月日,还包括时分秒 |

| timestamp | 时间戳,包含年月日时分秒 |

  • 表复制

CREATE TABLE 新表名 LIKE 被复制的表名;

  • 查询

  • 查询某个数据库中所有的表

SHOW TABLES;

  • 查询表结构

DESC 表名;

  • 更新

  • 修改表名

ALTER TABLE 旧表名 RENAME TO 新表名;

  • 修改表的字符集

ALTER TABLE 表名 CHARACTER SET 字符集名;

  • 在表中添加一列

ALTER TABLE 表名 ADD 列名 数据类型;

  • 修改列名称以及对应的数据类型

ALTER TABLE 表名 MODIFY 列名 新数据类型;

ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

  • 删除列

ALTER TABLE 表名 DROP 列名;

  • 删除

  • 直接删除表

DROP TABLE 表名;

  • 判断表是否存在,存在则删除

DROP TABLE IF EXISTS 表名;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!

MySQL50道高频面试题整理:

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!*

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-BSKkmINh-1713303980799)]

[外链图片转存中…(img-RdHmVW99-1713303980800)]

[外链图片转存中…(img-beH8KsbW-1713303980800)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!

MySQL50道高频面试题整理:

[外链图片转存中…(img-D4g6HuEC-1713303980800)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值