java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mysql数据库基础与库

MySQL数据库基础与库的操作大全

作者:学习编程的Kitty

本文介绍MySQL安装与服务启动方式,解析数据库服务器、数据库、表的关系,概述SQL语言分类(DDL/DML/DCL)及作用,并详解数据库创建、查看、修改、删除操作,强调字符集设置和删除数据库的风险,感兴趣的朋友跟随小编一起看看吧

一、MySQL数据库基础

当MySQL安装完成之后,bin⽬录下有⼀个mysqld(Linux)或mysqld.exe(windoows)的可执⾏程序,mysqld可执⾏程序运⾏后,MySQL服务也就启动了。当把MySQL服务配置为⾃启动,操作系统启动时会⾃动运⾏mysqld可执⾏程序,从⽽启动MySQL服务。

1.1 数据库服务器与数据库与表

数据库服务器是指在计算机上安装了一个数据库管理系统程序,这个程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库

那为了保存应用中的实体,一般会在书库中创建多个表,已保存程序中实体的数据

所以他们的关系就是:数据库服务器——管理——>数据库——管理——>

1.2 客户端工具

MySQL安装成功后有自带的命令行客户端工具,可以输入命令并且执行SQL语句,所以MySQL的使用还是非常简单的,打开终端输入命令即可

我们输入安装时就设置的密码,连接成功了,我们使用select version( )的SQL语句查看了当前MySQL的版本

1.3 可视化工具

MySQL官方提供了可视化工具MySQL Workbench,但是博主在这里使用的是Navicat可视化客户端工具,在业内广泛使用

二、SQL语言

2.1 SQL是什么

SQL(Structured Query Language)是结构化查询语⾔的简称,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库。

2.2 SQL分类

• DDL【Data Definition Language】 数据定义语⾔,⽤来维护存储数据的结构
        代表指令: create, drop, alter 
• DML【Data Manipulation Language】 数据操纵语⾔,⽤来对数据进⾏操作
        代表指令: insert,delete,update,select 
• DCL【Data Control Language】 数据控制语⾔,主要负责权限管理和事务
        代表指令: grant,revoke,commit 

注意:SQL语言对大小写不敏感

三、库的操作

3.1 查看数据库

show databases;

3.2 创建数据库

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...
        create_option: [DEFAULT] {
        CHARACTER SET [=] charset_name
        | COLLATE [=] collation_name
        | ENCRYPTION [=] { 'Y' | 'N' }
}

3.2.1创建一个名字为test的数据库

create database test;

3.2.2自定义一个数据库名,如果该数据库不存在则创建

create database if not exists test;

如果不加 if not exists,观察发现报错显示test已经存在无法创建

我们加上 if not exists,观察发现数据库里面已经存在test,所以没有创建,出现了一个警告

我们显示警告,提示test已经存在不能创建

所以建议创建数据库的时候加上 if not exists,可以有效防止报错,而导致程序中断

在设置字符集编码之前,我们先来了解一下字符集编码和校验排序规则

show charset;

我们看到当前数据库支持的所以字符集编码,MySQL8.0默认的字符集编码是utf8mb4,而MySQL5.7默认的字符集是latin1

show collation;

这里我们只显示部分排序排序规则,MySQL8.0默认的排序规则是 utf8mb4_0900_ai_ci,MySQL5.7默认排序规则是utf8mb4_general_ci 

我们可以分析一下当前字符集和排序规则对数据库的影响

utf8mb4_0900_ai_ci 是MySQL8.0引⼊的新规则,在⽼版本中不能识别;

utf8mb4 编码是对 Unicode 字符集的⼀种实现,⽤1到4个字节表⽰⼀个字符,可以表⽰世界上⼏乎所有的字符,⽽且更节少空间

0900 是基于UCA9.0.0算法,UCA是Unicode Collation Algorithm的缩写

show variables like '%character%' 查看当前系统默认字符集

show variables like '%collation%'  查看当前系统默认排序规则

3.2.3 创建一个制定字符集和排序规则的数据库

 create database if not exists java character set utf8mb4 collate utf8mb4_0900_ai_ci;

3.3 查看创建库的语句

show create database db_name;

我们查询一下java数据库的创建语句

3.4 修改数据库

ALTER {DATABASE | SCHEMA} [db_name] alter_option ...
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}
| READ ONLY [=] {DEFAULT | 0 | 1}
}

修改数据库主要是针对数据库的字符集和排序规则进行修改

我们修改之前的test数据库的字符集编码为gbk

可以观察到修改之前默认字符集为utf8mb4,修改后则为gbk

3.5 删除数据库

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

我们删除test数据库,可以观察到删除后test数据库不存在了

🌟删除数据库是非常危险的操作,不要随意删除数据库

到此这篇关于MySQL数据库基础与库的操作大全的文章就介绍到这了,更多相关mysql数据库基础与库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文