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

数据库中库的操作

数据库中库的操作

  • 查看数据库
    • 语法
  • 创建数据库
    • 语法
    • ⽰例
      • 创建⼀个名为test+班级号的数据库
      • ⾃定义⼀个数据库名,如果数据库不存则创建
      • 重新运⾏上⾯的语句观察现象
      • 查看警告信息
  • 字符集编码和校验(排序)规则
    • 查看数据库⽀持的字符集编码
    • 查看数据库⽀持的排序规则
    • 不同的字串集与排序规则对数据库的影响
    • 查看系统默认字符集和排序规则
    • 创建数据库时指定字符集和检验规则
  • 查看创建语句
    • 语法
    • 示例
  • 选择要操作的数据库
  • 修改数据库
    • 语法
    • ⽰例
  • 删除数据库
    • 语法
    • 注意事项
  • 查看MySQL的帮助

查看数据库

语法

show databases;

• databases是复数形式
• ⼤⼩写不敏感

在这里插入图片描述
以上是MySQL自带的数据库
记录是一些关于MYSQL自身的一些配置,性能,系统变量信息
不明白具体作用的千万不要改动 ,更不能删除
如果说改错了或是删除了,MYSQL就无法启动了
如果没有备份的情况下,那么就只能重新安装数据库服务了
自己创建的数据库,每个库都要起一个不同的名字(名字不能重复)
在这里插入图片描述
在这里插入图片描述

如果第一行没有写分号,按回车之后就会另起一行,继续去写未完成的SQL,直到遇见分号为止

在这里插入图片描述

创建数据库

语法

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中引⼊的新选项
• if not exists 表示如果不存在则创建数据库

⽰例

创建⼀个名为test+班级号的数据库

1.先看一下当前有没有要创建的数据库
show databases;
2.根据语法规则创建一个名字为test001的数据库

create database test001;
CREATE DATABASE test001;

大小写不敏感,看个人习惯写即可。
在这里插入图片描述
3.检查是否创建成功
在这里插入图片描述

⾃定义⼀个数据库名,如果数据库不存则创建

create database if not exists testdb;

在这里插入图片描述
在这里插入图片描述

重新运⾏上⾯的语句观察现象

create database if not exists testdb;

在这里插入图片描述

查看警告信息

show warnings;

在这里插入图片描述
在这里插入图片描述
在实际工作中,执行SQL语句,不是手动一条一条执行的,而是批量一起执行,为了不让某一条语句的错误影响整个执行流程,都会加上一些类似于if not exists 的校验,防止因为某条SQL 出错导致整个SQL中断执行

数据库创建成功后,会在数据⽬录下⽣成⼀个与数据库同名的⽬录,⽤于保存数据库中所有的数据

字符集编码和校验(排序)规则

查看数据库⽀持的字符集编码

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 基于 UCA 9.0.0算法,UCA是Unicode Collation Algorithm的缩写
• ai是Accent-insensitive的缩写,表⽰⼝声不敏感
• ci是Case-insensitive的缩写表⽰⼤⼩写不敏感
• as是Accent-sensitive的缩写,表⽰⼝声敏感
• cs是Case-sensitive的缩写,表⽰⼤⼩写敏感
• bin表⽰⼆进制

查看系统默认字符集和排序规则

查看系统默认字符集

show variables like '%character%';

在这里插入图片描述
查看系统默认排序规则

show variables like '%collation%';

在这里插入图片描述

创建数据库时指定字符集和检验规则

创建⼀个库名为班级名,字符编码集为 utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据
库,数据库不存在时则创建

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_option] ...

create_option: [DEFAULT] {
    CHARACTER SET [=] charset_name
  | COLLATE [=] collation_name
  | ENCRYPTION [=] {'Y' | 'N'}
}
create database if not exists test_db02
		character set utf8mb4 collate utf8mb4_0900_ai_ci;

在这里插入图片描述

查看创建语句

语法

show create databases db_name;

示例

在这里插入图片描述
数据库名字的反引号``,是为了防⽌使⽤的数据库名刚好是关键字
/*!40100 default.... *//*!80016 DEFAULT...*/ 这个不是注释,表⽰当前mysql版本⼤于4.01和
8.0.16时,分别执⾏对应的语句

选择要操作的数据库

use db_name[;]

在这里插入图片描述
这条语句不用分号结尾也可执行
切换/选择数据库成功
查看当前操作的是哪个数据库

select database();

MySQL提供的一个内置方法。
在这里插入图片描述

修改数据库

语法

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

alter database test001b character set gbk;

在这里插入图片描述
在这里插入图片描述

删除数据库

语法

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

在这里插入图片描述
在这里插入图片描述

注意事项

  • 删除数据库是⼀个危险操作,不要随意删除数据库
  • 删除数据库之后,数据库对应的⽬录及⽬录中的所有⽂件也会被删除
  • 删除数据库之后,使⽤show databases; 语句查看不到对应的数据库

查看MySQL的帮助

在这里插入图片描述


关于库的操作先了解到这,希望这篇文章对大家有帮助,谢谢大家的阅读!!!


http://www.kler.cn/a/400203.html

相关文章:

  • 微博短链接平台-项目测试用例设计(Xmind)
  • 基于Canny边缘检测和轮廓检测
  • Spring Boot教程之Spring Boot简介
  • 面试经典 150 题:20、2、228、122
  • 英语中的副词和状语
  • 微服务即时通讯系统的实现(客户端)----(3)
  • A037-基于Spring Boot的二手物品交易的设计与实现
  • git日志查询和导出
  • 01_MinIO部署(Windows单节点部署/Docker化部署)
  • SpringBoot学习记录(三)之多表查询
  • SpringMVC的视图
  • android:taskAffinity 对Activity退出时跳转的影响
  • 基于Python的图片信息推荐系统
  • mysql的基本操作
  • java学习记录10
  • Mysql-DQL语句
  • 计算机网络 (5)数据通信的基础知识
  • Query Processing——搜索与推荐系统的核心基础
  • 【C++】list 类深度解析:探索双向链表的奇妙世界
  • 第 20 章 - Golang 网络编程
  • 富格林:安全指正规防欺诈套路
  • HarmonyOs学习笔记-布局单位
  • flutter pigeon gomobile 插件中使用go工具类
  • 基于css的Grid布局和vue实现点击左移右移轮播过渡动画效果
  • 【Patroni官方文档】复制模式
  • STM32 使用 STM32CubeMX HAL库实现低功耗模式