当前位置: 首页 > news >正文

MySQL——数据库基础与库的操作

目录

一、MySQL数据库基础

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

1.2 客户端工具

1.3 可视化工具

二、SQL语言

2.1 SQL是什么

2.2 SQL分类

三、库的操作

3.1 查看数据库

3.2 创建数据库

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

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

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

3.3 查看创建库的语句

3.4 修改数据库

3.5 删除数据库


一、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' }
}

  • db_name:表示自定义的数据库名称
  • {}:表示必须选
  • |:表示任选其中一个
  • []:表示括号中内是可选项
  • CHARACTER SET:指定数据库采⽤的字符集编码
  • COLLATE:指定数据库字符集的校验规则
  • ENCRYPTION:数据库是否加密,MySQL 8.0.16中引⼊的新选项、

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的缩写

  • ai是Accent-insensitive的缩写,表⽰⼝声不敏感
  • ci是Case-insensitive的缩写表⽰⼤⼩写不敏感
  • as是Accent-sensitive的缩写,表⽰⼝声敏感
  • cs是Case-sensitive的缩写,表⽰⼤⼩写敏感

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数据库不存在了

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

http://www.dtcms.com/a/420134.html

相关文章:

  • 网站建站上市公司国外论文类网站有哪些方面
  • 网站建设有哪些分工分建筑网站、
  • asp网站改php网站方法wordpress禁用修正版
  • 堆 动态内存 超级玛丽demo7
  • 空壳网站查询WordPress下拉菜单栏
  • 《高并发架构实战课》学习笔记
  • 网站备案 人工审核平面设计需要用到的软件
  • 网站301跳转怎么做的安阳市网站建设
  • 参考资料:Linux系统U盘拔出识别慢问题
  • 银川公司网站建设广州万安建设监理有限公司网站
  • 专业做鞋子网站苏州网站建设2万起
  • 19软件测试用例设计编写测试点-连接数据库服务器
  • 嵌入式科普(41)通过对比深刻理解CAN总线协议特性
  • 外综服网站开发专业设计网站公司
  • excel数据处理
  • 淄博网站建设 招聘对外贸易网站有哪些
  • 数据结构_ 二叉树线索化:从原理到手撕实现
  • 分享一个知识工程师单体智能体的简单提示词
  • 南宁伯才网络建站如何WordPress一键采集插件
  • 免费三网合一网站系统网站建设介绍书
  • 网站开发公司起名10分钟快速建网站
  • flink批处理-时间和窗口
  • 无锡有什么网站怎样免费注册个人网网址
  • SLAM | SLAM中松耦合与紧耦合技术对比分析
  • xtuoj 方程组
  • 重庆网站设计建设东莞微联建站
  • 北京医疗网站建设公司排名网站建设开票项目是什么
  • C#——方法的定义、调用与调试
  • 开源的容器化平台:Docker入门与核心概念解析
  • 手机网站价格小广告网页