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

数据库的DDL操作

目录

一、创建数据库

(1)字符集和校验集

二、操作数据库

(1)查看数据库

(2)显示创建语句

(3)修改数据库

(4)删除数据库

三、数据库的备份与恢复

四、查看数据库连接用户


一、创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,
create_specification] ...]

下面简单创建一个数据库

(1)字符集和校验集

        这里除了创建数据库之外,还对该数据库的字符集和校验规则进行了设置。我们先来看看什么叫做字符集和校验集。

        说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则是:utf8_ general_ ci。这个是可以在配置文件中进行修改的。

        字符集决定了数据是按照什么样的格式存储进去的,而校验集是决定读出来/比较/查询是按照什么规则读取

        比如我们创建两个个数据库都是使用utf8进行存储,但是一个的校验集是utf8_general_ci另一个是utf8_bin,虽然存储的信息都是一样的,但是一旦出现有大小写的数据,查询的结果就不一样了。所以我们一定要注意让字符集和校验集互相匹配。

        下面是查看mysql支持的字符集的语句:

show charset;
show collation;

        他们一个是查看字符集,一个是查看校验集,由于一个一个字符集通常匹配了多个校验集,所以这里的校验集会明显多于字符集。如果想使用普遍的对应关系,只需要使用第一个语句即可,想要区分大小写等,再使用第二条语句查看。

总结

        字符集决定了数据怎么写入数据库,而校验规则决定了如何从数据库中读取数据。正确的设置互相匹配的字符集和校验规则可以使我们保证数据一致性,大多数的乱码问题都是因为字符集与校验规则的不匹配问题导致的。

二、操作数据库

(1)查看数据库

show databases;

(2)显示创建语句

show create database 数据库名;

        我们可以使用显示创建语句,来查看创建时候的详情,比如在创建的时候使用到了comment来注释也是能够查询到的。

(3)修改数据库

        直接使用alter修改数据库的字符集/校验集/搜索引擎

ALTER DATABASE db_name;

        后面我们还会使用到alter对表的列/表的属性或名字进行修改。

(4)删除数据库

DROP DATABASE [IF EXISTS] db_ name;

三、数据库的备份与恢复

备份

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

如果想同时备份多个数据库,只需要在上述数据库名后跟空格再写上数据库的名字即可。

注意备份一个数据库要在命令行中完成,而不是在mysql客户端中输入。

备份会得到一个文件

恢复

source 数据库备份存储的文件路径;

在使用source之前一定要用use指明现在在使用哪一个数据库

这个-B是干什么的呢?

        它是将创建数据库的语句给备份记录下来,后面恢复的时候不需要自己创建数据库即create database 语句。如果没有-B选项,则需要自己先创建一个数据库,再使用该数据库,最后使用source恢复数据库(可以利用这个操作对恢复出来的数据库改名)。

        所谓的还原(恢复)数据库其实就是把.sql文件(备份生成的文件)中的sql语句全部执行一遍。

四、查看数据库连接用户

        如果你在使用某个数据库的时候发现突然变卡了,可能是使用的人太多了。由于我们数据库是一个服务器客户端的应用程序,我们一定能查看到当前有谁在使用他。

show processlist;


文章转载自:

http://oOVLffQl.dzgmj.cn
http://n2uPhGhH.dzgmj.cn
http://hKdk8E5x.dzgmj.cn
http://G9a6aCxi.dzgmj.cn
http://DiIMCm8j.dzgmj.cn
http://OiMy6S1f.dzgmj.cn
http://UYrCq4ld.dzgmj.cn
http://qU4tv8zv.dzgmj.cn
http://bQEgDeUT.dzgmj.cn
http://S6EZ1wOW.dzgmj.cn
http://AzBeTG2L.dzgmj.cn
http://32zxIaSp.dzgmj.cn
http://88EcWPoL.dzgmj.cn
http://dCKKo6pk.dzgmj.cn
http://URFNpA6n.dzgmj.cn
http://iJoGGFzC.dzgmj.cn
http://0p6sF6Ic.dzgmj.cn
http://qmC9G5nP.dzgmj.cn
http://lZZVE6um.dzgmj.cn
http://6ZVJCDN4.dzgmj.cn
http://oxZx9Mbt.dzgmj.cn
http://MCOqjsHh.dzgmj.cn
http://yz5UaB2t.dzgmj.cn
http://jm08sql6.dzgmj.cn
http://y4GGHwNL.dzgmj.cn
http://hTyE0nVI.dzgmj.cn
http://jIxLL21w.dzgmj.cn
http://Zr6jO7TL.dzgmj.cn
http://pyXRsQso.dzgmj.cn
http://dfJsbQpl.dzgmj.cn
http://www.dtcms.com/a/95131.html

相关文章:

  • 赛逸展2025:续写国际消费科技展会华章,赋能中国市场新篇
  • python进行数据分析(以A 股为例)
  • 【科研绘图系列】R语言绘制PCA与变量的相关性散点图(scatter plot)
  • Talos-docker版本中创建 Kubernetes 集群
  • 【VSCode的安装与配置】
  • 卷积神经网络 - ResNet(残差网络)
  • Maven 的下载与安装
  • 嵌入式学习第二十八天--顺序栈
  • apache连接池机制讨论
  • C#:类型定义中使用‌问号(?)
  • Git 提示 “LF will be replaced by CRLF“ 的原因及解决方案
  • 【安全】记录钓鱼邮件中木马病毒的分析溯源
  • WPF 附加属性
  • MySQL锁等待超时问题的排查与解决
  • Python 爬虫:一键解锁 3GPP 标准协议下载难题
  • 基于Netlify + Localtunnel 实现本地项目“无服务器”部署上线
  • 资产管理存储技术栈的二十年演进:从大数据存储到AI驱动的智能管理
  • LeetCode 235. 二叉搜索树的最近公共祖先 java题解
  • 练习:猜数字小游戏
  • SRT协议
  • 企业微信token及相关接口关联分析
  • 界面控件Telerik和Kendo UI 2025 Q1亮点——AI集成与数据可视化
  • leetcode543.二叉树的直径
  • 【系统架构设计师】数据库系统 ② ( 分布式数据库 | 分布式数据库 特点 | 分布式数据库 分层模式 | 两阶段提交协议 - 2PC 协议 )
  • 浅谈WebSocket-FLV
  • 【Mysql】SQL 优化全解析
  • Java爬虫如何解析返回的JSON数据?
  • H3C 防火墙上配置端口映射
  • 旅游CMS选型:WordPress、Joomla与Drupal对比
  • HarmonyOS之深入解析跳转支付宝小程序完成操作后如何自动返回App