《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
常见数据库软件
上图是截至 2021 年 4 月数据库使用率排行榜前 10 榜单,可以看到主要有 Oracle、MySQL、SQL Server、Redis、MongoDB、PostgreSQL、Elasticsearch,Db2 等数据库。而我们之所以选择 MySQL,主要有如下两个原因:
-
使用量大,相比于其他数据库,其使用量仅次于 Oracle;
-
开源免费,虽然 Oracle 很好,但是授权的价格却让人望而却步,许多小公司根本无力承担这笔费用,而选用开源免费的 MySQL 就成了大家的选择;
对于 MySQL 的安装,我这里以压缩包版本的安装为例。
安装
- 下载安装包
首先去下载对应安装包,下载地址如下:
https://dev.mysql.com/downloads/mysql/
- 加载安装包到安装目录
将下载后的压缩包接要到我们需要安装 MySQL 的路径,以下以我的安装路径 D:\Softs\mysql-8.0.24-winx64
为例。
- 配置文件
一般来讲,解压后的文件目录中是不存在配置文件 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
- 配置环境变量
- 打开控制面板->系统与安全->系统,进入高级系统设置,如下图所示;
- 然后进行环境变量的设置,如下图;
- 初始化
控制台进入 MySQL 解压后的路径,然后以管理员身份执行如下命令;
mysqld --initialize --console
注意:执行成功后会打印出初始的 root 用户密码,一定要记住!!!方便后边修改密码;
- 安装数据库服务
接上一步初始化数据库后,继续执行如下命令;
mysqld --install
因为博主已经安装过了,所以会提示服务已存在,若是第一次安装,则不会提示已安装;
卸载
卸载相对于安装就简单多了,只需要将我们的文件夹 D:\Softs\mysql-8.0.24-winx64
删除,然后将配置的环境变量删除即可。
配置
启动 MySQL 服务
- Windows 服务方式启动
使用快捷键 Win + X + G
,进入计算机管理界面,然后打开 服务和应用程序 -> 服务,找到 MySQL
服务,然后根据需要点击 暂停、停止、重启动 此服务即可;
- 终端命令打开
Windows 下,使用快捷键 Win + X + A
,以管理员权限打开命令控制符,然后使用如下命令打开、关闭、重启 MySQL 服务即可;
打开服务
net start mysql
关闭服务
net stop mysql
登陆
安装并打开 MySQL 服务之后,我们就可以连接数据库进行使用了。MySQL 安装时默认提供了一个 root
用户,使用安装时设置的密码即可登陆。
- mysql -u 用户名 -p
mysql -u root -p
- mysql -h ip地址 -u 用户名 -p
mysql -h localhost -u root -p
退出
exit;
quit;
什么是 SQL
Structured Query Language:结构化查询语言是一种特定目的编程语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。
SQL 基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。尽管 SQL 经常被描述为,而且很大程度上是一种声明式编程(4GL),但是其也含有过程式编程的元素。
SQL 通用语法
-
SQL 语句能以单行或多行书写,以分号
;
表示一条语句的结束; -
MySQL 中的 SQL 语句不区分大小写,但是为了将关键字和自定义变量分开,建议关键字使用大写;
-
MySQL 的 3 种注释方式;
- 单行注释
SQL语句 – 注释内容
SQL语句 # 注释内容
- 多行注释
SQL语句 /* 注释内容 */
常用 SQL 语句
对于 SQL 语句,我们可以分为如下几类:
-
DDL
-
DML
-
DQL
-
DCL
以下就分别来看看各类语句的具体相关信息。
DDL(Data Definition Language)
- 定义
用于 定义数据库对象:数据库、表、列等,相关关键字:CREATE
、DROP
、ALTER
……
- 数据库操作
-
创建
-
创建数据库
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();
- 表操作
-
创建
-
语法
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 表名;
总结
这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
- 删除列
ALTER TABLE 表名 DROP 列名;
-
删除
-
直接删除表
DROP TABLE 表名;
- 判断表是否存在,存在则删除
DROP TABLE IF EXISTS 表名;
总结
这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家
[外链图片转存中…(img-JbA1Q7BI-1714709652679)]
[外链图片转存中…(img-oMBGZ5O2-1714709652680)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!