MySQL -- 库和表的操作

MySQL – 库和表的操作

文章目录

  • MySQL -- 库和表的操作
  • 一、库的操作
    • 1.创建数据库
    • 2.查看数据库
    • 3.删除数据库
    • 4.字符集和校验规则
    • 5.校验规则对数据库的影响
    • 6.修改数据库
    • 7.备份和恢复
    • 8.查看连接情况
  • 二、表的操作
    • 1.创建表
    • 2.查看表结构
    • 3.修改表
    • 4.删除表


一、库的操作

注意:

  • MySQL语句的关键词是不区分大小写的!
  • MySQL语句需要以 ; 结尾;

1.创建数据库

语法:
在这里插入图片描述
IF NOT EXITS:如果数据库不存在再创建,存在了就不创建了,可省略;
CHARACTER SET:指定数据库采用的字符集;
COLLATE:指定数据库字符集的校验规则;

create databases [if not exits]数据库名;

在这里插入图片描述
MySQL创建一个数据库就是在/var/lib/mysql路径下创建了一个目录:
在这里插入图片描述
数据库名称如果和系统中的某些关键字重合,创建就会失败,需要加上反引号修饰:
在这里插入图片描述

  • 建议创建库和表的时候,名称都加上反引号;

补充:

  • MySQL语句中没有清屏的命令,可以通过system clear命令使用Linux中的清屏命令;
    在这里插入图片描述

2.查看数据库

show databases;

在这里插入图片描述
显示创建语句:

show create databases 数据库名;

在这里插入图片描述

  • 能够显示出来创建数据库时的语句细节,这时系统帮我们优化过的结果;
  • 后面的 /!40100 default…/不是注释,表示当前MySQL版本大于4.01时,就执行这个选项;

3.删除数据库

drop database 数据库名称;

在这里插入图片描述
若删除了数据库,里面的表和数据都会一并被删除!

4.字符集和校验规则

创建数据库的时候,后面有选项可以指定字符集和校验规则;
查看系统默认字符集和校验规则:

show variables like 'character_set_database';
show variables like 'collation_database';

在这里插入图片描述
查看数据库支持的字符集和校验规则:

show charset; #查看字符集
show collation; #查看校验规则

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

  • 如果创建数据库时没有指定字符集和校验规则,系统会以默认值为基准创建数据库;
  • 默认字符集和校验规则可以在配置文件中修改;
  • 字符集是指数据存储的时候,按照什么格式存储;
    校验规则是指在用户要取数据的时候,使用什么样的规则来校验数据库中的数据;
  • 字符集和校验规则是匹配的,一个字符集可以对应多个校验规则;

在创建数据库时指定字符集和校验规则:
在这里插入图片描述
在这里插入图片描述
打印出配置文件:
在这里插入图片描述
在这里插入图片描述

5.校验规则对数据库的影响

  • 创建一个数据库,校验规则使用utf8_general_ci [不区分大小写]
    在这里插入图片描述
    向数据库中写数据:
    在这里插入图片描述
    查看数据:
    在这里插入图片描述
    在表中查询数据:
    在这里插入图片描述
    可以看出这个校验规则是不区分大小写的;

  • 创建一个数据库,校验规则使用utf8_bin [区分大小写]
    在这里插入图片描述
    向数据库中写数据:
    在这里插入图片描述
    在表中查询数据:
    在这里插入图片描述
    可以看出这个校验规则是区分大小写的;

6.修改数据库

修改数据库主要是修改数据库的字符集,校验规则;
在这里插入图片描述

7.备份和恢复

备份:
Linux的bash命令行,启动mysqldump服务

mysqldump -P 3306 -u root -p -B 数据据名 > 数据库备份存储的文件路径

在这里插入图片描述

  • 查看备份完成的文件:
    在这里插入图片描述
    数据库备份就是将历史上所有的sql语句全部备份下来,恢复的时候,相当于重新创建一个相同的数据库;

  • 如果备份的不是整个数据库,而是其中的一张表:

mysqldump -u root -p 数据据名 表名1 表名2 > 数据库备份存储的文件路径
  • 同时备份多个数据库
mysqldump -u root -p -B 数据据名1 数据据名2 > 数据库备份存储的文件路径
  • 如果备份数据库是,没有带上-B参数,在恢复数据库的时候,需要先创建空数据库,然后使用数据库,再使用source来还原;
    这是因为**-B参数的意义是备份时会连着create database语句一起备份;**

恢复:
mysql客户端:

source 备份文件所在的路径;

在这里插入图片描述

8.查看连接情况

show processlist;

在这里插入图片描述
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

二、表的操作

1.创建表

在这里插入图片描述

  • field表示列名;
  • datatype表示列的类型;
  • character set字符集,如果没有指定字符集,则以所在数据库的字符集为准;
  • collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准;
  • comment:后面的是备注;

在这里插入图片描述

  • 查看数据库中的表:
    在这里插入图片描述
  • 查看创建表的语句:
    在这里插入图片描述
  • 不同引擎的表,文件结构不同:
    在这里插入图片描述
    在这里插入图片描述

2.查看表结构

查看表中元素的属性:

desc 表名;

在这里插入图片描述
查看表的数据:

select * from 表名;

在这里插入图片描述

3.修改表

在这里插入图片描述
增加列:

alter table 表名 add 增加的列名 列的数据类型 comment '备注' after 在原来的哪一列后面增加;

在这里插入图片描述

  • 注:这里的NULL和空字符串是不同的,空串是有数据,但是数据是空字符串,而NULL是没有数据;

调整列属性:

alter table 表名 modify 需调整的列名 调整的目标类型;

在这里插入图片描述

  • 注:这里列的属性的修改是直接覆盖的,会覆盖掉之前的备注等信息,创建表的语句也会修改,因此修改的时候,最好将修改之前的其他列信息都带上;
    在这里插入图片描述

删除列:

alter table 表名 drop 列名;

在这里插入图片描述
注:

  • 删除列后,列中的数据也会删除;
  • 不能删除所有的列,删到最后一列就无法删除了;

修改列名:

alter table 表名 change 原列名 目标列名 数据类型 comment '备注';

在这里插入图片描述

修改表名:

alter table 原表名 rename 目标表名;

在这里插入图片描述

4.删除表

在这里插入图片描述

deop table [if exists] 要删除的表名;![在这里插入图片描述](https://img-blog.csdnimg.cn/e2198126d85843988945af579b8c1ce9.png)

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/169236.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode2409——统计共同度过的日子数

博主的解法过于冗长,是一直对着不同的案例debug修改出来的,不建议学习。虽然提交成功了,但是自己最后都不知道写的是啥了哈哈哈。 package keepcoding.leetcode.leetcode2409; /*Alice 和 Bob 计划分别去罗马开会。给你四个字符串 arriveA…

分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测

分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN-GRU麻雀算法优化卷积门控循环单元数据…

访问控制2

文章目录 主要内容一.Role和ClusterRole1.ClusterRole示例,创建一个名为test-clusterrole且仅有创建Pod和deployment的集群角色代码如下(示例): 2.YAML文件创建代码如下(示例): 3.将udbs用户和Clusterrole进行绑定&…

032-第三代软件开发-Popup弹窗

第三代软件开发-Popup弹窗 文章目录 第三代软件开发-Popup弹窗项目介绍Popup弹窗官方示例项目中的代码 之前写过一个Popup抄抄别人的dimvisible 和 Open 区别 与 Dialog有啥区别其他总结一下 关键字: Qt、 Qml、 Popup、 弹窗、 modal 项目介绍 欢迎来到我们的…

【计算机网络】TCP 协议的相关特性

TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的协议。以下是TCP协议的相关特性: 可靠性:TCP通过确认和重传机制保证数据的可靠传输。 面向连接:TCP在传输数据前需要先建立连接。连接的建立过程包括三次握手…

号外!百度Comate代码助手全新上线SaaS服务 - 免费申请试用+深入教程解读!

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

专业软件测评中心分享:科技成果验收测试报告的作用

科技成果验收测试是科技项目在开发完成后进行的一项测试,旨在检测科技项目的成果是否符合预期的技术指标和效果,以及是否符合用户需求和行业标准。验收测试报告是科技成果验收的重要依据,用于记录和证明科技成果的测试结果和性能表现。 一、…

Java入门讲解(1)---让你瞬间明白如何安装jdk

博主有话说:学习这个东西一定要持之以恒!!!博主之前因为点事情半个月没学习,重新来过时,发现自己错过好多知识,正在一点一点往回补,博客也会陆续开始更新,希望大家多多支…

安防视频监控平台EasyCVR新版(V.3.4)平台界面更新2.0

视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流&#…

Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)

paper: Mask-Free Video Instance Segmentation github 一般模型学instance segmentation都是要有mask标注的, 不过mask标注既耗时又枯燥,所以paper中仅用目标框的标注来实现实例分割。 主要针对视频的实例分割。 之前也有box-supervised实例分割&…

MySQL执行计划分析

执行计划中的常见的列的解释: type system/const :用户主键索引或者唯一索引查询时,只能匹配 1 条数据。一般可以对 sql 查询语句优化成一个常量,那么 type 一般就是 system 或者 const,system 是 const 的一个特例&…

网络安全—自学笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类…

VSCode安装使用(含插件保姆级教程)

前言 工欲善其事,必先利其器 对于我们每一位软件工程师来说,都要有自己顺手的 IDE 开发工具,它就是我们的武器。 一个好用的 IDE 不仅能提升我们的开发效率,还能让我们保持愉悦的心情,这样才是非常 Nice 的状态 &…

unity游戏画质设置功能实现

在游戏中往往会出现游戏画质设置的功能。 如图: 这个功能是怎么实现完成的呢? 一、目标:实现切换画质功能 二、了解unity支持的画质 首先要了解unity中共支持多少种画质。 在代码中也可以进行打印。 方法如下: void Start …

大河弯弯:CSS 文档流与三大元素显示模式

文章目录 参考环境文档流概念三大显示模式 内联元素概念常见的内联元素宽高由内容决定 块级元素概念常见的块级元素宽度受容器影响,高度受内容影响 内联块级元素概念常见的内联块级元素折中方案 设置元素的显示模式display 属性内联元素与块级元素的切换为什么要通过…

【CSS】常见 CSS 布局

1. 响应式布局 <!DOCTYPE html> <html><head><title>简单的响应式布局</title><style>/* 全局样式 */body {font-family: Arial, sans-serif;margin: 0;padding: 0;}/* 头部样式 */header {background-color: #333;color: #fff;padding: …

【JVM系列】- 探索·运行时数据区的私有结构

探索运行时数据区的私有结构 文章目录 探索运行时数据区的私有结构运行时数据区的结构与概念认识线程了解守护线程和普通线程JVM系统线程 程序计数器&#xff08;PC寄存器&#xff09;概述PC寄存器的特点PC寄存器的作用 透过案例了解寄存器为什么需要用PC寄存器来存放字节码的指…

随机森林算法(Random Forest)的二分类问题

二分类问题 1. 数据导入2. RF模型构建2.1 调参&#xff1a;mtry和ntree2.2 运行模型 3. 模型测试4.绘制混淆矩阵5.绘制ROC曲线6. 参考 1. 数据导入 library(dplyr) #数据处理使用 library(data.table) #数据读取使用 library(randomForest) #RF模型使用 library(caret) # 调参…

河南工业大学人工智能与大数据学院学子在第三届“火焰杯”软件测试开发选拔赛中 取得佳绩

近日&#xff0c;第三届“火焰杯”软件测试开发选拔赛落下帷幕&#xff0c;我校人工智能与大数据学院选派的多名参赛选手在王雪涛老师的指导下&#xff0c;经过激烈的角逐&#xff0c;取得优异成绩。其中&#xff0c;何鸿彬&#xff0c;贾文聪获得决赛二等奖&#xff0c;王静宇…

【前段基础入门之】=>CSS3新增渐变颜色属性

导语&#xff1a; CSS3 新增了&#xff0c;渐变色 的解决方案&#xff0c;这使得我们可以绘制出更加生动的炫酷的的配色效果 线性渐变 多个颜色之间的渐变&#xff0c; 默认从上到下渐变 background-image: linear-gradient(red,yellow,green); /*默认从上到下渐变*/默认从上…