先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文
drop databases 数据库名;
五、数据表的基本操作
创建表
CREATE TABLE <表名>
(
字段名 数据类型[列级别约束条件] [默认值]
字段名 数据类型[列级别约束条件] [默认值]
.
.
.
[表级别约束条件]
);
在使用CREATE TABLE 创建表时必须指定以下信息:
- 要创建表的名称,不区分大小写,不能使用 SQL 语言中的关键字,例如 DROP、ALTER、INSERT 等。
- 数据表中每一列(字段〉的名称和数据类型。如果创建多列,要用逗号隔开。
主键约束
主键又称主码 是表中一列或多列的组合。主键约束( Primary Key Constraint )要求主键列的数据唯一并且不允许为空。主键能够唯一标识表中的一条记录 可以结合外键来定义不同数据表之间的关系 并且可以加快数据库查询的速度。主键和记录之 的关系如同身份证号码和人之 的关系 它们之间是一一对应的。主键分为两种类型。即单字段主键和多字段主键。
单字段主键
主键由一个字段组成,设置主键的 SQL 语旬格式分为两种情况。
(1)在定义列的同时指定主键,语法格式如下:
字段名数据类型 PRIMARY KEY [默认值]
(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 <group by definition>]
[HAVING <expression> [{<operator> <expression>}…]]
[ORDER BY <order by definition>]
[LIMIT [<offset>,] <row count>]
]
SELECT [字段1,字段2,...,字段n]
FROM [表或视图]
WHERE [查询条件];
六、数据库备份和恢复
使用 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 还可以备份数据库中的某个表 其语法格式如下:
为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!
这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。
本份面试集锦涵盖了
- 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 (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
abbitMQ是什么东西?
14、讲一下Keepalived的工作原理?
15、讲述一下LVS三种模式的工作过程?
16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?
17、如何重置mysql root密码?
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-Gf2IyymK-1713479596370)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!