MySQL(二) MySQL基本操作
数据库的基本操作
启动关闭 MySQL 服务
MySQL 安装好后,默认是当 Windows 启动、停止时,MySQL 也自动、停止。不过,用户可以使用 Windows 下的服务管理器或从命令行使用 NET 命令来控制 MySQL 服务器。
使用 Windows 下的服务管理器
单击开始菜单,在搜索框中输入 “services.msc”,按【enter】键确认。在服务管理器中找到服务名为 MySQL 80 的服务项(我使用的是 MySQL 8.0 版本,5.7 版本之前服务名是 MySQL),点击鼠标右键就可以选择关闭、暂停、重新启动 MySQL 服务了。
使用 NET 命令
单击开始菜单,在搜索框中输入 “cmd”,就会出现命令提示符,再右键点击以管理员方式运行(否则会出现系统错误,拒绝访问)。输入
net start MySQL80
按回车键就能启动 MySQL 服务了,停止 MySQL 服务的命令为:net stop MySQL80
。
登入 MySQL 数据库
以 Windows 命令行方式登录数据库,连接 MySQL 的命令格式为:mysql -h hostname -u username -p
其中 MySQL 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端与服务器在同一台机器,所以输入 localhost 或者IP地址 127.0.0.1,-u 后面跟登录数据库的用户名称,在这里为 root,-p 是用户登录密码。
创建数据库
MySQL 安装完成后,会在其 data 目录下自动创建几个必需的数据库,可以使用 show databases;
语句来查看当前所有存在的数据库。其中 mysql 是必需的,它描述用户访问权限,test 数据库一般给用户用于测试操作,其他的数据库将在后面介绍。
创建数据库的 SQL 语句:create database database_name;
数据库建好之后,可以使用 show create database database_name;
声明查看数据库的定义。
删除数据库
删除数据库是将已经存在的数据库从磁盘上删除,清除之后,数据库中的所有数据也将一同删除。
删除数据库的 SQL 语句:drop database database_name;
数据库存储引擎
数据库存储引擎是数据库底层软件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新、删除操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在很多不同的数据库管理系统都支持多种不同的数据引擎。MySQL 的核心就是存储引擎。
MySQL 存储引擎简介
MySQL 提供多个不同的存储引擎,包括处理事务安全的引擎和处理非事务安全的引擎。MySQL 不需要整个服务器都使用同一种存储引擎,每个表都可以使用不同的存储引擎。可以使用 show engines;
语句查看系统所支持的引擎类型。
Support 列的值表示某种引擎是否能使用:YES 表示可以使用,NO 表示不能使用,DEFAULT 表示该引擎为当前默认存储引擎。
InnoDB 存储引擎
InnDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL 5.5.5之后,InnoDB 作为默认存储引擎。
MyISAM 存储引擎
MyISAM 基于 ISAM 的存储引擎,并对其进行扩展。它是在 Web、数据存储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度、但不支持事务。在 MySQL 5.5.5 之前版本中,MyISAM 是默认存储引擎。
MEMORY 存储引擎
MEMORY 存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。
存储引擎的选择
不同存储引擎都有各自的特点,以适应不同的需求。为了做出选择,首先需要考虑每一个存储引擎提供了哪些不同的功能。
功能 | MyISAM | Memory | InnoDB | Archive |
---|---|---|---|---|
存储限制 | 256TB | RAM | 64TB | None |
支持事务 | No | No | Yes | No |
支持全文索引 | Yes | No | No | No |
支持数索引 | Yes | Yes | Yes | No |
支持哈希索引 | No | Yes | No | No |
支持数据缓存 | No | N/A | Yes | No |
支持外键 | No | No | Yes | No |
如果要提供提交、回滚和崩溃恢复能力的事务安全(ACID兼容)能力,并要求实现并发控制,InnoDB 是个很好的选择。
如果数据表主要用来插入和查询记录,则 MyISAM 引擎能提供较高的处理效率。
如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的
Memory 引擎,MySQL 中使用该引擎作为临时表,存放查询的中间结果。
如果只有 INSERT 和 SELECT 操作,可以选择 Archive 引擎,Archive 存储引擎支持高并发的插入操作,但是本身并不是事务安全的 。Archive存储引擎非常适合存储归档数据,如记录日志信息可以使用 Archive引擎。
使用哪一种引擎要根据需要灵活选择,一个数据库中多个表可以使用不同引擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。
MySQL(二) MySQL基本操作的更多相关文章
- MySQL(二)MySQL的启动或链接失败
有时候用命令mysql -u root -p 或者服务器启动mysql数据库的时候,会出现抛出异常并失败. 以下是遇过的异常. 1.1)抛出的异常:出现ERROR 2002 (HY000): Can' ...
- 转载:Centos7 从零编译Nginx+PHP+MySql 二
序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...
- mysql数据库的基本操作
mysql数据库的基本操作dos命令启动mysql服务:net start mysql启动数据库: mysql -uroot -p查看所有的数据库:show databases:新建数据库:creat ...
- ubuntu linux mysql 安装 基本操作 命令
mysql --help #如果有信息证明系统已经安装了mysql mysql -V #查看版本号 netstat -tap|grep mysql #检查mysql是否在启动状态 卸载mysql: s ...
- 阿里云实战之二(mysql+phpmyadmin)
前文安装好了空间的基本环境,本来运行在线代码编辑器不需要php+mysql的环境,不过我还是想在后续建设里面引入会员制度,这样php+mysql的环境就必不可少了. 一.Linux下MySQL忘记ro ...
- MySQL:MySQL的基本操作
1.数据库登录 格式:mysql -h主机地址 -u用户名 -p用户密码 -P端口 -D数据库 -e “SQL内容” [root@wulaoer ~]# mysql -uroot -p 2.修改密码 ...
- Linux Ubuntu从零开始部署web环境及项目 -----tomcat+jdk+mysql (二)
上一篇介绍如何在linux系统下搭建ssh环境 这篇开始将如何搭建web服务器 1,下载文件 在官网下载好 tomcat.jdk.mysql的linux压缩包 后缀名为.tar.gz 并通过xftp上 ...
- python Mysql (二)
Mysql (二) 一. 事务 a.数据库开启事务命令 1 2 3 4 #start transaction 开启事务 #Rollback 回滚事务,即撤销指定的sql语句(只能回退insert de ...
- MySQL二进预编译制安装
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL二进预编译制安装时间:2019年2月25日内容:MySQL二进制预编译安装重点:MySQL二进制预 ...
随机推荐
- JAVA创建子进程并处理waitFor() 阻塞问题
虽然很想休息,但是想想还是要把今天学的东西记下来,不然以后再用还是新知识. 新建一个线程类读取子进程的汇报信息和错误信息,避免阻塞 class StreamGobbler extends Thread ...
- 《剑指offer》第五十题(字符流中第一个只出现一次的字符)
// 面试题50(二):字符流中第一个只出现一次的字符 // 题目:请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从 // 字符流中只读出前两个字符"go"时,第一 ...
- 解决在Vue项目中时常因为代码缩进导致页面报错的问题
前言 如果我们初次使用vue-cli来构建单页SPA应用,在撸代码的过程中有可能会遇到这种因为代码缩进导致 页面报错的问题,导致我们烦不胜烦.接下来我们就来看一看如何解决这个小问题... erro原因 ...
- Java之——利用Comparator接口对多个排序条件进行处理
转载自:http://blog.csdn.net/l1028386804/article/details/56513205 膜拜大神··· 一.需求 假设现在有个如此的需求:需要对一个这样的雇员列表进 ...
- RTTI(运行时类型识别),typeid,dynamic_cast
dynamic_cast注意: 1.只能应用于指针和引用的转换: 2.要转换的类型中必须包含虚函数: 3.转换成功则返回地址,如果失败则返回NULL: 参见项目:RTTI
- Linux中系统检测工具top命令
Linux中系统检测工具top命令 本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtua ...
- composer修改中文镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
- 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建异步树形菜单
jQuery EasyUI 树形菜单 - 创建异步树形菜单 为了创建异步的树形菜单(Tree),每一个树节点必须要有一个 'id' 属性,这个将提交回服务器去检索子节点数据. 创建树形菜单(Tree) ...
- BASE64图片转字符串
Java代码图片字符串互转 /** * 将base64字符串转成图片 * TODO * @param imgStr base64图片字符串 * @param path 目标输出路径 * @return ...
- Django的form组件
forms组件 forms组件,是一个类.在视图函数中创建一个类,类需要继承forms.Form from django import forms 1.校验数据 步骤和语法: 1. 创建一个form ...