自学 linux——14.mysql的基本操作
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
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的基本操作的更多相关文章
- [Linux & Mysql] Linux下Mysql的基本操作
1. 连接Mysql 1.1 连接到本机上的Mysql 键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码 ...
- Linux 下MySQL的基本操作
1.连接MySQL 连接到本机的MySQL 键入命令mysql -u root -p 回车提示你输入密码. Ps:用户名前可以有空格也可以没有空格,但是密码前必须没有空格 MySQL的提示符是: my ...
- Linux安装MySQL及基本操作(Centos)
安装: 系统:CentOS-7-x86_64-DVD-1810.iso 安装命令: wget http://repo.mysql.com/mysql-community-release-el7-5.n ...
- Linux中MySQL的基本操作
1. 用root用户登录mysql mysql -u root -p 2. 查看database show databases; 3. 查看table use database名 show table ...
- linux的基本操作(mysql 的基本操作)
Mysql 的基本操作 在前面两个章节中已经介绍过MySQL的安装了,但是光会安装还不够,还需要会一些基本的相关操作.当然了,关于MySQL的内容也是非常多的,只不过对于linux系统管理员来讲,一些 ...
- 14.LAMP服务 Linux Apache Mysql Php和防护机制 xinetd、tcp wapper
一.安装LAMP服务 Linux Apache Mysql Php 要求操作系统支持 php解析 apache调用php插件解析 phpmyadmin yum install ...
- linux 下mysql的启动 、调试、排错
Linux 下 MySQL 启动与关闭 说明 一.启动 1.1 MySQL 进程 可以用ps 命令查看进程: [root@rac2 ~]# ps -ef|grep mysql root 21 ...
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境
一.简介 什么是LAMP LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...
- LNMP(linux+nginx+mysql+php)服务器环境配置
一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为 “engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服 ...
随机推荐
- 【知识点】SQLite3总结
目录 基本的DDL.DML 创建表,包含日期字段 插入一行,包含日期字段 查找,包含日期字段 查找,按照排序以及限制条目输出 删除记录 更新数据 视图 索引 触发器 事务 专业术语 基本的DDL.DM ...
- 怎样用好PS中的钢笔工具(附练习钢笔工具网站)
想要在PS中得心应手的的描绘出自己想要的线条(也就是路径),就需要对[钢笔工具]有一个充分的理解. [钢笔工具]绘出来的线条全部都是贝赛尔曲线,所以你在学习[钢笔工具]之前,要补习一下贝赛尔曲线的常识 ...
- 1.QT多线程使用小结
开头 一个进程可以有一个或更多线程同时运行.线程可以看做是"轻量级进程",进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理. Qt 使用QThread来管理线 ...
- 校门外的树 (Vijos P1448)
题目链接 描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的-- 如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作: K=1,K=1 ...
- layui--入门(helloWorld)
具体可参考官方文档:https://www.layui.com/doc/ 由于引入layui 需要用到node.js 安装过程可参考: https://www.cnblogs.com/liuchenx ...
- POJ 3304 Segments 叉积
题意: 找出一条直线,让给出的n条线段在这条直线的投影至少有一个重合的点 转化一下,以重合的点作垂线,那么这条直线一定经过那n条线段.现在就是求找到一条直线,让这条直线经过所有线段 分析: 假设存在这 ...
- 23 shell 进程替换
0.shell进程替换的用法 1.使用进程替换的必要性 2.进程替换的本质 进程替换和命令替换非常相似.命令替换是把一个命令的输出结果赋值给另一个变量,例如dir_files=`ls -l`或date ...
- linux 之管道命令与重定向
一.Linux重定向 重定向能够实现Linux命令的输入输出与文件之间重定向,以及实现将多个命令组合起来实现更加强大的命令.这部分涉及到的比较多的命令主要有: 涉及到的比较多的命令主要有: cat:连 ...
- Sql Server(3)运算符的使用
where 订货日期 between '2017/10/24' and '2017/10/30' 小的写在前面,大的后面,不可以写反 一:运算符的使用 T-SQL的运算符应用指派运算符算术运算符比较 ...
- phpstudy后门复现遇到的坑
这几天遇到一个phpstudy后门的站之前没复现过,结果遇到了深坑记录一下 首先用这个脚本去验证是没问题的: https://github.com/NS-Sp4ce/PHPStudy_BackDoor ...