MySQL -- 库和表的操作

news2024/10/4 6:48:27

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.coloradmin.cn/o/1125040.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

针对遗留系统采取的不同演化策略

1. 改造策略 高水平、高价值区,即遗留系统的技术含量较高,本身还有极大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括…

找不到conda可执行文件:解决方法

1.在新版本的pycharm出现的问题如下: 2.解决方法: 2.1 将anaconda\Scripts\conda.exe选中 2.2选择自己的anconda自己的环境,之后就可以正常创建conda环境

基于Tucker分解的时序知识图谱补全10.23

基于Tucker分解的时序知识图谱补全 摘要引言相关工作静态知识图谱补全时序知识图谱补全 背景提出的模型学习时间复杂度和参数增长表达能力分析 实验 摘要 知识图谱已被证明是众多智能应用的有效工具。然而,大量有价值的知识仍然隐含在知识图谱中。为了丰富现有的知…

异步加载 JavaScript

目录 ​编辑 前言:异步加载 JavaScript 的重要性 详解:异步加载 JavaScript 的方法 使用 使用动态创建标签: 使用模块引入(ES6模块): 解析:异步加载 JavaScript 的重要性和优势 实践和注…

后台交互-个人中心->小程序登录微信登录接口演示,小程序授权登录理论,小程序授权登录代码演示,微信表情包存储问题

小程序登录微信登录接口演示小程序授权登录理论小程序授权登录代码演示微信表情包存储问题 1.小程序登录微信登录接口演示 推荐使用 wx.getUserProfile 获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认 // pages/index/index.js Page({data: {user…

24东北大学计算机计划招生数据

2.结语 24的保研名额很多,统考名额就这些,大家根据自己的情况做出选择 东大计算机不好考,但是不代表考不上!加油 3.数据来源于官网 官网链接

基于深度学习实现一张单图,一个视频,一键换脸,Colab脚本使用方法,在线版本,普通人也可以上传一张图片体验机器学习一键换脸

基于深度学习实现一张单图,一个视频,一键换脸,Colab脚本使用方法,在线版本,普通人也可以上传一张图片体验机器学习一键换脸。 AI领域人才辈出,突然就跳出一个大佬“s0md3v”,开源了一个单图就可以进行视频换脸的项目。 项目主页给了一张换脸动图非常有说服力,真是一图…

python网络爬虫(二)基本库的使用urllib/requests

使用urllib 了解一下 urllib 库,它是 Python 内置的 HTTP 请求库,也就是说不需要额外安装即可使用。它包含如下 4 个模块。 request:它是最基本的 HTTP 请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样&…

【项目经理】工作流引擎

项目经理之 工作流引擎 一、业务系统管理目的维护信息 二、组织架构管理目的维护信息 三、角色矩阵管理目的维护信息 四、条件变量管理目的维护信息 五、流程模型管理目的维护信息 六、流程版本管理目的维护信息 七、流程监管控制目的维护信息 系列文章版本记录 一、业务系统管…

COS 音视频实践

对象存储 音视频处理概述-媒体处理实践-最佳实践-腾讯云 1、COS https://www.cnblogs.com/cloudstorageangel/p/15977032.html 全程:对象存储(Cloud Object Storage,COS);腾讯云提供的对象存储服务。 可以对音视频…

目标检测的方法

目标检测大致分为两个方向:基于传统的目标检测算法和基于深度学习的目标检测算法。 1.基于传统的目标检测算法 在利用深度学习做物体检测之前,传统算法对于目标检测通常分为3个阶段:区域选取、特征提取和体征分类。 2.基于深度学习的目标检测算法 目标检测任务可分为两

【SA8295P 源码分析 (一)】111 - 使用 Infineon 工具升级DHU 的MCU 固件过程指导

【SA8295P 源码分析 一】111 - 使用 Infineon 工具升级DHU 的MCU 固件过程指导 系列文章汇总见:《【SA8295P 源码分析 (一)】系统部分 文章链接汇总 - 持续更新中》 本文链接:《【SA8295P 源码分析 (一)】111 - 使用 Infineon 工具升级DHU 的MCU 固件过程指导》 打开 Infineo…

【STM32】时钟设置函数(寄存器版)

一、STM32时钟设置函数移植 1.时钟模块回顾 一个疑问 前面代码并没有设置时钟为什么可以直接使用。 2.时钟树 3.时钟树分析 1.内部晶振(HSI) 内部晶振不稳定,当我们上电后,会自动产生振动,自动产生时钟,…

HBuilder打包的安卓app开屏页广告如何关闭

HBuilder打包的安卓app开屏页广告如何关闭 如上图所示,在打包安卓app时会默认勾选 基础开屏广告 而且无法取消 解决办法 1. 登陆 uni-ad广告联盟 网站 2. 访问广告设置链接 3. 4. 选择你的项目 5. 6. 7.

apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】

网络有很多类似的教程,但很多步骤不太详细。对于想接触反编译门槛的初级友友来说。操作中出现一点问题而解决不了的时候。很多都会放弃。今天的教程系列带你由浅入深的了解apk反编译操作。兴趣是最好的老师。从简单的修改apk名称到深层次的去广告 无vip等等打好基础…

向量检索库Milvus架构及数据处理流程

文章目录 背景milvus想做的事milvus之前——向量检索的一些基础近似算法欧式距离余弦距离 常见向量索引1) FLAT2) Hash based3) Tree based4) 基于聚类的倒排5) NSW(Navigable Small World)图 向…

做亚马逊测评有哪些需要注意的?

做测评的注意事项有哪些? 国外的IP 养号用动态IP是不安全的,因为真实买家的IP地址并不会经常变化,也不会到处乱跳,所以如果要养号就需要用国外的独享家庭住宅IP地址,而且ip纯净度也要高,市面上的鲁米或者911现在基本…

Java算法做题中用到的-数据结构(对应C++的STL)【java中各种集合的api方法】

Java算法做题中用到的-数据结构(对应C的STL) 一、数组List初始化加入元素: add删除元素: remove(参数是角标)获取元素:getindexOf() 返回指定元素下标contains()toArray() 排序方法一&#xff1…

HTML笔记-狂神

1. 初识HTML 什么是HTML? Hyper Text Markup Language : 超文本标记语言 超文本包括:文字、图片、音频、视频、动画等 目前使用的是HTML5,使用 W3C标准 W3C标准包括: 结构化标准语言(HTML、XML) 表现标…

Flask 表单form.validate_on_submit()什么情况下会是false——解决办法

Flask 表单form.validate_on_submit()什么情况下会是false?? 1、在form中受到validators控制,不满足条件就会导致false 2、在form中使用了raise抛出异常后也会false。 3、表单的地方没写{{ form.csrf_token }},在HTML 里加上就好…