MySQL的基本操作

1.名词介绍

以Excel文件举例:

数据库:可以看作是整个excel文件。

数据表:可以看作是一个excel文件中的工作表。

行(记录):可以看作是一个工作表中的一行

列(字段):可以看作是一个工作表总的一列

2.库操作

操作语句(不区分大小写):

SHOW DATABASES;                           显示当前MySQL中全部的数据库

CREATE DATABASE 库名;                创建数据库

DROP DATABASE 库名;                   删除数据库

USE 库名;                                      切换数据库

eg:创建b1数据库   create datebase b1;

删除b1数据库    drop datebase b1;

3.表操作

表操作时必须先use 数据库

操作语句:

SHOW TABLES;                    显示当前数据库中所有的表名(

DESC 表名;                           描述一个数据表(查看表结构)

DROP TABLE [IF EXISTS] 表名;                  删除一个数据表

CREATE TABLE 表名称                      在当前数据库下创建数据表

(

列名称1 数据类型 [NOT NULL AUTO_INCREMENT],#不能为空,且递增

列名称2 数据类型,

列名称3 数据类型,

....,

PRIMARY KEY(主键字段名)

);

常见的数据类型:int(整型)[数字]、char(定长字符)[字母]、varchar(不定长字符)

主键一般就是序号所在的那一列(主键不能重复)

eg1:创建数据表(去test库中创建)表名xg,要求字段:Id字段,11位整型,不为空自增,主键Username字段,varchar类型,20长度,Password字段,char类型,32长度

create table xg

(

Id int(11) not null auto _increment,

Username varchar(20),

Password char(32),

Primary key(id),

);

eg2:查看表结构           desc xg;

删除表结构           drop table xg;

4.记录/字段操作

(1)    增加记录

用法:INSERT INTO 表名称 VALUES (值1, 值2,....);

INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....);

Values中除数字以外(可加),其他的字符都要加‘’(引号)

密码加密:https://tool.chinaz.com/tools/md5.aspx

密码解密:https://www.cmd5.com/

eg:往数据表t1表中新增一个记录username为zhangsan,password为123456(加密结果E10ADC3949BA59ABBE56E057F20F883E)

insert into t1(username,password)values(‘zhangsan’,’ E10ADC3949BA59ABBE56E057F20F883E’);

(2)    更新记录

用法:UPDATE 表名称 SET 列名称1 = 新值1,列名称2 = 新值2… WHERE 列名称 = 某值;

注意条件,不指定默认全部,是否写错或者漏写

eg:使用更新语句更新id大于等于2的记录,将其密码改为:25F9E794323B453885F5181F1B624D0B

Update xg set password = ‘25F9E794323B453885F5181F1B624D0B’ where id >= 2;

(3)    查询记录

用法:select 列名称1,列名称2… from 表名称 where 条件;  查看指定

Select * from 表名称 where 条件;                   查看全部

eg:查询用户名和密码,并且id=2

select username,password from xg where id=2;

(4)    删除记录

用法:delete from 表名称 where 列名称 = 值;

eg:删除id=2的记录

delete from xg where id=2;

5.备份与还原

(1)    备份(导出)

全量备份(数据+结构):#mysqldump -uroot -p123456 -A > 备份文件路径

指定库备份(数据+结构):# mysqldump -uroot -p123456 库名 > 备份文件路径

多个库备份(数据+结构):# mysqldump -uroot -p123456 --databases db1 db2 >  备份文件路径

eg1:备份整个数据库

eg2:每分钟自动备份一次test数据库

mkfile  test20.sh       #创建可执行的文件(ls查看)

vim test20.sh           #编辑文件

#!/bin/bash           #指定shell解释器

filename=test_`date +’%Y%m%d%H%M%S’`”.sql”#定义文件名

定义文件名常用格式:库名_日期时间.sql

Mysqldump -uroot -p密码 test > /root/$filename #备份test库

crontab -e              #编辑计划任务

* * * * * /root/test20.sh  #计划任务(详见自有服务2)

(2)    还原(导入)

两种方式:mysql命令行source方法(为主)和 系统命令行方法

①    还原全部数据库

mysql命令行:mysql> source 备份文件路径

系统命令行:mysql -uroot -p123456 < 备份文件路径

②    还原单个数据库(需指定数据库)

mysql命令行:mysql> use 库名

mysql> source 备份文件路径

系统命令行:mysql -uroot -p123456 库名 < 备份文件路径

③    还原单个数据库的多个表(需指定数据库)

mysql命令行:mysql> use 库名

mysql> source 备份文件路径

系统命令行:mysql -uroot -p123456 库名 < 备份文件路径

④    还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)

mysql命令行:mysql> source 备份文件路径

系统命令行: mysql -uroot -p123456 < 备份文件路径

eg:人为删除xg表(模拟数据表丢失),然后通过最后一次备份还原数据表

drop table xg;                 #删除表(show tables;验证)

source /root/最后一次记录的表  #还原表(show tables;验证)

eg:需要还原sql文件到test库(mobile.sql 31万条数据)

user  test                      #创建库

source /usr/local/src/mobile.sql  #还原文件

select * from mobile;            #查看文件

set names utf-8;               #设置Mysql连接字符集(显示汉字)

6.mysql的远程管理

两大类:B/S架构、C/S架构。

B/S:B是指浏览器,S是指服务器。例如:百度搜索应用就属于BS架构软件

C/S:C是指客户端,S是指服务器。例如:QQ、电脑端微信等应用程序都是CS架构

(1)    在BS中个典型的管理工具:PMA(phpMyAdmin)

PMA网盘获取:https://pan.baidu.com/s/184m20RNC1tEYIzYEzJhTCg     提取码:5ezv

(2)    在CS中典型的管理工具:navicat、mysql workbrach

Navicat网盘获取:https://pan.baidu.com/s/1r3wyTAxDSa3j62OrAiTVOw 提取码:ofgb 

若出现这种问题:

a. 先进入数据库选择mysql数据库

b. 执行sql语句:select host,user from user;

c. 将其中的一个记录的host值改为“%”,表示可以允许任何地方登录

d. 刷新权限表(mysql> flush privileges;)或者重启mysql

e. navicat登录成功

自学 linux——14.mysql的基本操作的更多相关文章

  1. [Linux & Mysql] Linux下Mysql的基本操作

    1. 连接Mysql 1.1 连接到本机上的Mysql 键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码 ...

  2. Linux 下MySQL的基本操作

    1.连接MySQL 连接到本机的MySQL 键入命令mysql -u root -p 回车提示你输入密码. Ps:用户名前可以有空格也可以没有空格,但是密码前必须没有空格 MySQL的提示符是: my ...

  3. Linux安装MySQL及基本操作(Centos)

    安装: 系统:CentOS-7-x86_64-DVD-1810.iso 安装命令: wget http://repo.mysql.com/mysql-community-release-el7-5.n ...

  4. Linux中MySQL的基本操作

    1. 用root用户登录mysql mysql -u root -p 2. 查看database show databases; 3. 查看table use database名 show table ...

  5. linux的基本操作(mysql 的基本操作)

    Mysql 的基本操作 在前面两个章节中已经介绍过MySQL的安装了,但是光会安装还不够,还需要会一些基本的相关操作.当然了,关于MySQL的内容也是非常多的,只不过对于linux系统管理员来讲,一些 ...

  6. 14.LAMP服务 Linux Apache Mysql Php和防护机制 xinetd、tcp wapper

    一.安装LAMP服务 Linux Apache Mysql Php       要求操作系统支持 php解析 apache调用php插件解析 phpmyadmin       yum install ...

  7. linux 下mysql的启动 、调试、排错

    Linux 下 MySQL 启动与关闭 说明 一.启动 1.1  MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root     21 ...

  8. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    一.简介 什么是LAMP    LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...

  9. LNMP(linux+nginx+mysql+php)服务器环境配置

    一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服 ...

随机推荐

  1. OpenResty高并发

    在电商项目中所有的访问都是通过首页访问进去的,那么首页门户的访问频率会是非常高的,用我们专业术语来说就是并发量高,这时问题就来了,并发量高我们在做程序时就要保证首页的抗压能力强,而且还要保证抗压的同时 ...

  2. 在vue项目中使用scss,以及vscode适配scss语法(解决使用scss语法编辑器报错)

    项目搭建好之后 安装sass 依赖包 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-d ...

  3. HashMap 中7种遍历方式的性能分析

    随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...

  4. 浅析C++的函数式编程

    前言 Java8在Java中通过lambda表达式.Stream API引入了函数式编程,那么C++中是否也支持函数式编程呢?答案是肯定的.目前关于C++进行函数式编程的语法探究的相关博客.文章并不多 ...

  5. Kubernetes通过downwardAPI传递元数据

    应用往往需要获取所运行环境的一些信息,包括应用自身以及集群中其他组件的信息.Kubernetes可以通过环境变量以及DNS进行服务发现,但其他信息如何处理呢?下面将介绍特定pod和容器元数据如何被传递 ...

  6. 32、sed命令详解

    32.1.sed介绍: 1.sed(sed软件常称做)是流编辑器,是操作.过滤.和转换文本内容的工具: 2.sed的模式空间和保持空间介绍: (1)模式空间:sed处理文本内容行的一个临时缓冲区,模式 ...

  7. 010_Mybatis简介

    目录 Mybatis简介 什么是 MyBatis? 如何获得Mybatis 持久化 持久层 为什么需要Mybatis 第一个Mybatis程序 搭建环境 建库建表 新建父工程 新建普通maven项目 ...

  8. Linux:阿里云设置安全组开放对应端口过程

    手动添加后 保存就可以了.

  9. 数据库表的自增ID createDate和updateDate 用JPA注解代替触发器实现

    对于数据库表的自增ID , createDate和updateDate 等字段,用JPA注解代替触发器实现,效率会高很多. 由于这些属性很多entity都有 可以写成两个基本entity :BaseE ...

  10. php错误处理,自动加载,以及栈堆内存和运行模式堆浅解 (转)

    Php错误处理 Php错误级别: E_ERROR 致命错误,会终止脚本运行.值为1 E_WARNING 警告错误,给出提示,不会终止运行值为2 E_PARSE 编译时的语法解析错误,解析错误仅仅由分析 ...