Linux下MySQL的大厂面试必备知识

阅读: 评论:0

Linux下MySQL的大厂面试必备知识

Linux下MySQL的大厂面试必备知识


目录

  • Linux系统的常用命令
  • Linux的目录结构
  • Linux shell命令 
  • MySQL数据库 

一、Linux系统的常用命令

1.ls: 查看命令
  ls -l 显示详细信息     
  ls -a显示所有的文件包括隐藏文件(linux 中前缀为.的表示隐藏文件)
  ls -d 查看目录或者文件本身的属性
2.pwd: 显示当前用户所在的路径,是绝对路径
3.clear/ctrl+l : 清除当前会话
4.cd: 移动到任何指定的目录下  
  cd ..   表示移动返回到上一级的目录 
  cd空格  表示回到用户的家目录
5.mkdir: 创建目录  
   mkdir -p test1/test2  -p表示可以一次递归创建多个目录
   touch: 创建文件  注意:创建带有空格命名的文件时需要加上引号
6.rm:删除一个目录或者文件  
  rm -r删除目录 如果有子目录会询问是否删除 是:输入y  否:输入n
  rmdir 删除一个空目录      
  rm -rf 强制删除,删除时不询问,直接删除  建议谨慎使用
7.cp:复制文件 
  cp-r 复制目录  命令  原路径  目标路径
8.mv:剪切/重命名
9.cat:查看普通文件
  more 分页查看文件  适合内容较多的文件,按空格翻页查看,按回车逐行查看,按q退出more的浏览状态
  less分页查看文件 支持向上或者向下翻滚
  head 查看文件的前几行 head后面直接跟上需要查看的行数 默认不加参数就是10行(head-5)
  tail 查看文件末尾几行 tail后面直接跟上查看的行数 默认不加参数就是10行
  tail-f 滚动实时查看  比较实用
10.cd 切换目录 cd ../ ../表示进入到上一级的目录
11.wc path 统计文件中的内容
  -l  统计行号  
  -c 统计字节数  一个英文对应一个字节  一个中文对应多个字(UTF-8  3个字节  gbk 2个字节)
  -m  统计字符数
12. find path  选项  查找文件
  例如  find / -name  要查找的名字  *通配符 任意一个字符 可以重复  ?代表单个字符
  find / -user  用户名  查找哪一个用户创建的文件或者目录
13.grep  查找文件中的内容  -i:区分大小写 -n:显示行数 -w:仅匹配字词
14.| 管道服务  连接两个命令 前一个命令的输出作为后一个命令的输入
15.yum 即Yellowdog Update Modifier,是一种基于RPM (Red-Hat Package Manager)(RPM软件包管理器)的缩写的包管理工具
   yum search 名字 去搜索软件包
   yum install -y 软件包名字    直接安装此软件
   yum remove 卸载软件包
16.zip 压缩文件  unzip 解压文件
   zip  目标文件.zip 源文件1 源文件2
   unzip 目标文件.zip  解压文件至当前目录
   解压指定目录下  unzip 目标文件.zip -d 指定路径
17.tar 压缩或者解压文件
   tar-cvf 目标文件.tar  源文件1 源文件2  压缩文件至当前目录
   tar-tvf 源文件.tar    查看压缩文件中的文件列表
   tar-xvf 源文件.tar  解压文件至当前目录
   tar-xvf 源文件.tar -C 指定路径  解压文件至指定路径下
18.输出重定向
   >覆盖 >>追加
例如  echo hello&  将hello 写入1.txt文件中  echo hello>&  将hello 追加到文件内容的后面
 

 


二、Linux的目录结构

/:表示根目录,系统最外层的顶层目录,系统最初始的子目录
~:表示用户主目录
/root 管理员的家目录
/home 用户的家目录,每次的用户系统登录都在用户的主目录下

Linux系统的用户权限

1.创建用户:useradd 用户名 
  创建用户时 可以直接指定分组,如果不指定分组就默认创建一个组和用户名相同
例如:useradd zhangsan -g aowin -G root
其中-G 表示附加组
passwd 用户名  给指定用户设置密码
userdel  用户名  删除用户
userdel-r  用户名    彻底删除用户
2.创建组:groupadd 组名
  groups 用户名 查看指定用户所在的组
  groupdel 组名  删除组  如果该组下有用户是不能删除组的
3.改变用户的组
  usermod -g 新的组名 用户名
4.切换登录账户
  su- 用户名  切换环境变量
  su  用户名  只切换用户,不会切换环境变量
  root 用户切换普通用户时无需输入密码
  普通用户切换root 时需要输入密码
  Ctrl + D 退出登录
5.权限问题
  查看文件权限 ll 或者ls -l  分别都表示文件的创建者和文件创建者同组的用户、其他用户
  r 读权限  
  w 写权限 
  x 可执行权限 
6.修改权限 root 用户 和文件的创建者才有修改文件的权限
  方法1 chmod u(+/-) (rwx), g(+/-) (rwx), o(+/-)(rwx)
  例如:chmod u-w,g-rwx,o-rwx  文件名字
7.修改文件所有者 只有root才可以操作
chown 用户:组  文件名
 


三、Linux shell命令 

1.编程语言:解释型脚本语言,直接调用Linux命令
2.shell 解释器
3.Linux sh  bash  psh  zsh
  bash 一般是Linux 环境中评常用的shell环境
4.环境变量
 用户变量:只针对某个用户生效  ~/.bash_profile
 全局变量:系统全局生效  /etc/profile
 脚本规范:每个脚本开头的第一行都会有一个固定的格式
 #!/bin/bash 声明当前使用的shell环境是哪一种
 执行脚本方式:
(1)sh脚本名称直接执行

(2)./脚本名称需要先赋予脚本的x执行权限
5.位置变量
  echo  相当于打印
  $1 第一个参数的值  ..... $9 第9个参数的值
6.预定义变量
  $0 脚本的名称         
  $! 进程的PID号    
  $? 程序执行的状态  0成功  非0 不成功
  $* 所有参数  整体     
  $$ 当前进程的id号     
  $#参数的总个数
  $@ 所有参数 逐个读取
7.自定义变量
  name=value  等号两边不能有空格  对大小写敏感  $符号取值
8.shell 脚本 常用表达式
  a.逻辑连接符  与 &&  或||      :无逻辑关系
  b.运算 (a=1 b=2)
  $[a+b]或者 $[$a+$b]
  $((a+b))或者$(($a+$b))
  expr $a+$b
  c.内置判断测试
  字符串  =  !=  >  <  -z
  数字在[] 中eq  ne  lt  le  gt  ge
  在(()) 中 >. ==  <  != >=  <=
  文件中 -e  -f  -d  -r  -w  -x
  d.时间命令
  查看 date + %Y%m%d%H%M
   修改时间  date -s "2019-07-03 10:05:10"
 


四、Linux中mysql数据库 

 1.linux中 mysql登录
  检查服务:
  systemctl status mysqld    检查mysql服务的状态
  systemctl start mysqld      启动mysql服务
  linux  临时关闭防火墙  iptbles -F
  查看防火墙状态 systemctl status iptables
  设置开机不启动 chkconfig iptables off
  开机启动  chkconfig iptables on
  关闭防火墙  systemctl  stop iptables
  登录mysql 服务  mysql -u root -p  回车
  **设置允许root 远程登录的方法
   use mysql;    修改当前使用的数据库
   update user set host ='%'  where  user = 'root' ;
2.mysql 中的基本sql
  show databases;查看所有的数据库
  use 数据库名;进入指定的数据库
  show tables;查看所有的表
  create database 数据库名;新建一个数据库
  drop  database 数据库名;删除一个数据库
3.建表
create table 表名(
列1名字  数据类型  列约束条件  [默认值],
列2名字  数据类型  列约束条件  [默认值],
…….
[表约束条件]
);
主键; 唯一的确定一条记录的字段
多主键:不能使用一列唯一确定一条记录  必须使用多列才能确定唯一一条记录
增加外键
ALTER TABLE 表名 ADD CONSTRAINT 自定义约束的名字 FOREIGN KEY (当前表的列) REFERENCES 主表表名(表中主键)  ON DELETE RESTRICT ON UPDATE RESTRICT;
删除外键
alter  table 表名  drop  foreign  key  外键约束名字;
4.新增记录
  所有列新增  按照列的顺序赋值
  insert  into  表名  values(值1,值2.....);
  批量新增
  insert into user (username,password) values ('A','a'),('B','n'),('C','c');
  批量新增  通过子查询  将查询的结果插入到表中  常用于表复制
  insert into user (username,password) select 'd','d' from dual;
  新建一张表  表结构和user一样  并且将查询结果插入到表格中
  create table user_1 select * from user;
  新建一张表  表结构和user一样 但是不复制数据
  create table user_2 select * from user where 1!=1;
  将user表中的数据全部导入到user_2表中
  insert into user_2 select * from user;
5.修改记录
--单行记录
update user set 字段名=值  where  字段名=值;
--批量修改
update user set password = case user_id when 1 then '1' when 2 then '2' when 3 then '3' else null end, sex = case user_id when 1 then 0 when 2 then 1 when 3 then 0 end where user_id in (1,2,3);
6.删除记录
  delete  from  表名  where ... 清空表 delete  from 表名;dml 数据库操作语言  具有事务性
  truncate  table  表名;ddl  数据库定义语言  不具有事务性
  truncate  清空表  效率更高  并且可以恢复高水位线
7.查询语句
  select 查询的结果 from 查询的表 [where 条件] [group by 分组][having 分组后的条件筛选] [order by 排序] [limit n,m]
 


续 

1.基本查询
 select username from user;
2.基本条件查询 = !=(<>) > < >= <= between(等价于 >= and <=)
select * from user where username between 'a' and 'z' -- username >= 'a' and username <= 'z'
3.别名 表别名  表名 [空格或者as] 表别名
select u.username,u.password from user as u;
4.列别名 列 [空格或者as] 列别名
select u.username a,u.password as b from user as u;
select username password from user;给username列取了别名叫做password
select username, password from user;查询两列数据
5.like 模糊查询
/*
% 匹配任意长度的任意字符
_ 匹配一个任意字符
*/
select * from user where username like '%z%';--查询字符串中包含z的记录
select * from user where username like '%z';--查询字符串中以z结尾的记录
select * from user where username like 'z%';--查询字符串中以z开头的记录
select * from user where username like '_a_' ;--查询长度为3 并且中间一个字符是a的记录
6. regexp 正则匹配
-- 查询用户名长度为4的用户信息
select * from user where username regexp '^.{4}$'
-- 查询用户名中包含a或者c或者d 字符的用户信息
select * from user where username regexp '[acd]'
7.查询空值  is null
select * from user where remark is null;
select * from user where remark = '';
8.查询非空 is not null
select * from user where remark is not null;
 

创建表格的约束:

1.主键约束primary key:主键和记录一对应主键字段不能为空,不能重复
2.外键约束foreign key:表格之间的关联关系
  父表  子表=====》子表引用了父表的数据
  插入数据的时候:子表中插入的数据在父表中一定是存在的,否则不能插入的
  删除数据的时候:父表中数据删除的时候要求字表中没有引用数据
  添加外键:alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段;可以增加删除策略:
alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段) on delete cascade;  级联删除
alter table 子表 add constraint 外键名字 foreign key(外键字段) references 父表(主键字段) on delete set null;    删除父表,子表中设置为null
删除外键:alter table 子表 drop foreign key 外键名字;
          tb_emp    tb_dept
3.非空约束not null:插入的数据的时候,字段的值不能为空
4.唯一性约束unique:可以为空,如果不为空,值不能重复
5.默认值default:在不指定值的时候,默认的值
 

参看: 

本文发布于:2024-01-29 08:29:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170648820213997.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:知识   Linux   MySQL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23