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

【MySQL】MySQL的简单了解详解SQL分类数据库的操纵方法

一、mysql定义

        mysql是数据库服务的客户端,mysqld是数据库服务的服务器端。mysql的本质就是基于CS模式下的一种网络服务。数据库一般指的是在磁盘中或内存中存储的特定结构组织的数据,将来就是在磁盘上存储的一套数据库方案。

        创建数据库,本质就是在linux下创建一个目录。建表就是创建文件。这个工作实际上是mysqld服务帮我们做的。数据库本质其实也是文件,只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作

        这里也介绍一下存储引擎。 存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。 MySQL的核心就是插件式存储引擎,支持多种存储引擎。

二、服务器,数据库,表关系

        所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库, 一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如下:

三、SQL分类

  • DDL(data definition language)数据定义语言,用来维护存储数据的结构。代表指令: create,drop,alter。
  • DML(data manipulation language)数据操纵语言,用来对数据进行操作。代表指令: insertdeleteupdate。
  • DCL(Data Control Language)数据控制语言,主要负责权限管理和事务。代表指令: grantrevokecommit。

 四、Linux下创建一个数据库

4.1、创建数据库

create database helloworld(数据库名);

 4.2、进入(使用)数据库

use helloworld;

进入数据库以后就可以在数据库中创建表了。

4.3、删除数据库

drop database 数据库名;

对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。 

五、字符集和校验规则

5.1、查看系统默认字符集以及校验规则

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

5.2、查看数据库支持的字符集

show charset;
字符集主要是控制用什么语言。比如utf8就可以使用中文。

5.3、查看数据库支持的字符集校验规则

show collation;
创建一个数据库,校验规则使用utf8_ general_ ci(不区分大小写)。
create database test1 collate utf8_general_ci;

创建一个数据库,校验规则使用utf8_ bin(区分大小写)。

create database test2 collate utf8_bin;

MySQL的默认校验规则为utf8_general_ci。

六、操纵数据库

6.1、查看数据库

show databases;

6.2、显示创建语句

show create database 数据库名;

6.3、数据库的备份

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

        注意该条语句的执行是在命令行中执行的。这时,可以打开看看.sql文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。

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

# mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql(文件存储路径)

6.4、数据库的还原

mysql> source D:/mysql-5.7.22/mytest.sql(备份的数据库的所在路径);
http://www.lryc.cn/news/463129.html

相关文章:

  • 【Python爬虫实战】正则:从基础字符匹配到复杂文本处理的全面指南
  • 10.18Python基础迭代器生成器_函数式编程
  • HttpPost 类(构建 HTTP POST 请求)
  • xtu oj 原根
  • Java Spring 中常用的 @PostConstruct 注解使用总结
  • Visual Studio--VS安装配置使用教程
  • 什么叫CMS?如何使用CMS来制作网站?
  • 如何获取谷歌浏览器窗口句柄并将其设置为Qt的父窗口
  • 牛客小白月赛102:最短?路径(分层bfs)
  • JSON字符串转成java的Map对象
  • 重读《人月神话》(8)-为什么巴比伦塔会失败?(Why Did the Tower of Babel Fail?)
  • STL源码剖析:Hashtable
  • spring-boot学习(2)
  • 《案例》—— OpenCV 实现2B铅笔填涂的答题卡答案识别
  • 新员工入职流程指南_完整入职流程解析
  • mysql查看和修改默认配置
  • 海外云手机:出海电商养号智能化方案
  • OpenAI Canvas用户反馈:并不如外界传言般“炸裂”,更不是“AGI的终极交互形态” | LeetTalk Daily...
  • RiproV9.0主题wordpress主题免扩展可二开PJ版/WordPress博客主题Ripro全解密无后门版本
  • [LeetCode] 515. 在每个树行中找最大值
  • 【分布式微服务云原生】《微服务架构大揭秘:流行框架与服务治理攻略》
  • uniapp uni.uploadFile errMsg: “uploadFile:fail
  • 一个常见问题:TCP和UDP是否可以使用一个端口
  • 前端报错:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序(node_modules下载不下来)
  • 白日门【鬼服无限刀】win服务端+安卓客户端+教程+GM后台
  • 如何迅速的了解一个人
  • Window和Linux远程调度kettle
  • 设定义结构变量
  • SSD |(七)FTL详解(中)
  • Swift 协议:深入解析与高级应用