不能错过的MYSQL上手总结_mysql -h$host -u$user -p$passwd "$idbname" < $dir

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文


(2)在定义完所有列之后指定主键,语法格式如下:



[CONSTRAINT <约束名>] PRIMARY KEY [字段名]


##### 多字段主键


主键由多个字段联合组成,语法格式如下:



PRIMARY KEY [字 字段 2, …, 字段时


#### 外键约束


外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或者多个外键。  
 外键对应的是参照完整性,一个表的外键可以为空值。若不为空值,则每一个外键值必须等于另一个表中主键的某个值。  
 外键首先是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键。  
 外键的主要作用是保证数据引用的完整性,在定义外键后不允许删除在另一个表中具有关联关系的行。  
 外键还保证数据的一致性、完整性。例如部门表 tb dept 的主键 id 在员工表 db\_5 中有-个键 deptld 这个 id 关联。


* 主表(父表):对于两个具有关联关系的表而言 相关联字段中主键所在的那个表即是主表。
* 从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。  
 创建外键的语法格式如下:



[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]


”外键名“为定义的外键约束的名称,在一个表中不能有相同名称的外键:”字段名“表示子表需要添加外键约束的字段列。


#### 查看数据表基本结构


使用 DESCRIBE/DESC 语旬可以查看表字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,其语法格式如下:



DESCRIBE <表名>;
或者
DESC <表名>;


#### 查看数据表详细结构


SHOW CREATE TABLE 语句可以用来查看表的详细信息,语法格式如下:



SHOW CREATE TABLE <表名> \G;


#### 修改表名


MySQL 是通过 ALTER TABLE语句来实现表名的修改的,具体语法格式如下



ALTER TABLE <旧表名> RENAME TO <新表名>


其中, TO 为可选参数,使用与否不影响结果。


#### 修改字段数据类型


修改字段数据类型就是把字段的数据类型转换成另一种数据类型。在 MySQL 中修改字段数据类型的语法格式如下:



ALTER TABLE <表名> MODIFY <字段> <字段类型>;


#### 修改字段名


MySQL 中修改表字段名的语法格式如下:



ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段类型>


#### 添加字段


添加字段的语法格式如下:  
 其中,新字段名为需要添加的字段名称 FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段: AFTER 为可选参数,其作用是将新添加的字段添加到已存在字段名指定的字段后面。



ALTER TABLE <表名> <新字段名> <新字段类型> [约束条件] [FIRST| AFTER 已存在的字段名];


#### 删除字段


删除字段是将数据表中的某个字段从表中移除,其语法格式如下:



ALTER TABLE <表名> DROP <字段名>;


#### 修改字段排序


对于已经创建的数据表,读者也可以根据实际工作的需要修改字段的排列顺序,通常使用 ALTER TABL 改变字段的排列顺序,其语法格式如下:



ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;


#### 更改表的存储引擎


更改表的存储引擎的语法格式如下:



ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;


#### 删除表的外键约束


对于数据库中定义的外键,如果不再需要可以将其删除。外键一旦删除,就会解除主表和从表间的关联关系。 MySQL中删除外键的语法格式如下:



ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;


其中, “外键约束名”指在定义表时CONSTRAIN 关键字后面的参数。


#### 删除没有被关联的表


在MySQL 中使用 DROP TABLE 可以一次删除一个或多个没有被其他表关联的数据表,语法格式如下:



DROP TABLE [IF EXISTS ]表1,表2, … 表n;


其中,”表“ 指要删除的表的名称。用户可以同时删除多个表,只需将要删除的表名依次写在后面,相互之间用逗号隔开即可。


#### 基本查询语旬


MySQL 从数据表中查询数据的基本语句为 SELECT 语旬。 SELECT 语旬的基本格式如下:



SELECT
{*|<字段列表>}
[
FROM <表 1>,<表 2> ···
[WHERE <表达式>]
[GROUP BY ]
[HAVING [{ }…]]
[ORDER BY ]
[LIMIT [,] ]
]
SELECT [字段1,字段2,…,字段n]
FROM [表或视图]
WHERE [查询条件];


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210613001215662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNzc5MTMwMw==,size_16,color_FFFFFF,t_70)


### 六、数据库备份和恢复


#### 使用 mysqldump 备份


mysqldump是MySQL 提供的一个非常有用的数据库备份工具。在执行 mysqldump 命令时,可以将数据库备份成个一个文本文件,该文件中实际上包含了多个 CREATE INSERT 语旬,使用这些语旬可以重新创建表和插入数据。  
 mysqldump 语句的基本语法格式如下:



mysqldump -u user -h host -p password dbname [tbname ,[tbname…]] > filename.sql


各个参数的含义如下:


* user 表示用户名称。
* host 表示登录用户的主机名称。
* password 为登录密码。
* dbnam 为需要备份的数据库名称
* tbname dbname 数据库中需要备份的数据表,可以指定多个需要备份的表。
* 右箭头符号“>”告诉 mysqldump 将备份数据表的定义和数据写入到备份文件。
* filename.sq 为备份文件的名称。


1 .使用 mysqldump 备份单个数据库中的所有表



mysqldump -u root -p mytest > /back/mytest_20210613.sql


2.mysqldump 还可以备份数据库中的某个表 其语法格式如下:



mysqldump - u user - h host - p dbname [tbname , [tbname ···]] > filename . sql


#### 使用 mysqlhotcopy 快速备份


mysqlhotcopy 是一 Perl脚本,最初由 Tim Bunc 编写并提供。它使用 LOCK TABLES、FLUSH TABLES 和cp (或 scp )来快速备份数据库。它备份数据库或单个表的最快的途径,但它只能运行在数据库 目录所在的计算机 ,并且只可以备份 MyISAM 类型的表。 mysqlhotcopy Unix 系统中运行。


mysqlhotcopy 命令的语法格式如下:



mysqlhotcopy db_name_1,…db_name_n /path/to/backup_directory


db\_namel db\_name\_n 分别为需要备份的数据库的名称:/path/to/backup\_directory指定备份文件目录。


#### 使用 mysql 还原



mysql -u user -p [dbname] < filename.sql


各个参数的含义如下:


* user 是执行 backup 中语旬的用户名
* p 表示输入用户密码。
* dbnarne 数据库名。
* 如果 filename.sq 文件为 mysqldump 工具创建的包含创建数据库语句的文件,在执行的时候不需要指定数据库名。


#### 使用 mysqlhotcopy 恢复


mysqlhotcopy 备份后的文件也可以用来恢复数据库,在 MySQL 服务器停止运行时将备份的数据库文件复制到MySQL 存放数据的位置( MYSQL的Data 文件夹),重新启动 MySQL 服务即可。如果以根用户执行该操作,必须指定数据库文件的所有者,输人语句如下:


为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/e35409bd838176e8c0a64a8f36a981c6.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/2cd3a234c9f10ed1e68f9b996431240f.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
abbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-SB7TbiN9-1713212747364)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值