一、Linux文件系统和目录

确定linux当中ssh的服务是否开通
netstat -anpt | grep ssh
-a(all)-n(numeric)-p(program)-t(tcp)
ls -lha /usr/bin # 查看/usr/bin文件夹里面的内容

rm -i 表示交互式执行删除操作,删除前会有提示
rm -f 表示强制删除,忽略不存在的文件
rm -r 表示删除目录及目录下所以的内容
文件或目录的复制:cp
命令格式:cp 源文件 目标文件
查看系统进程
ps -aux | grep top
进程号
kill -9 进程号
查看系统监听端口
netstat -anptu | grep mysql
netstat -anptu | gerp 3306
二、数据库
1、分类
常用关系型数据库
Oracle、MySQL、Microsoft SQL Server、SQLite
非关系型数据库
redis、mongodb、hbase
2.mysql使用
netstat -anptu | grep 3306
mysql -u root -p
主键:id(唯一标识)外键:book_id(与其他表相关联)
desc database;查看表结构
添加多行数据
insert into students (id, name) values(0,'张三');
修改数据
update students set name='ᇲՌ ',age=22 where id=5
删除数据
delete from students where id=6;
此方法为物理删除,工作中大部分使用逻辑删除
逻辑删除是指通过设定一个字段来标识当前记录已经删除,如is_delete
其他删除数据的方式:
truncate table studens; 清除表里面所有的数据,但是表结构会保留,自增长字段的值会从1开始。
drop table students; 删除数据表,包括数据和表结构
模糊查询:
select * from students where name like '孙%';
范围查询:
select * from students where hometown in ('北京','上海 ','广东');
排序:
select * from ᤒݷ order by 字段1 asc|desc, 字段2 asc|desc ........
求表的总的记录数
select count(*) from students;
分组查询:
select sex,count(*) from students group by sex;
分组加条件:
select sex,count(*) from students group by sex having sex='男';
分页查询:
select * from students limit (n-1)*m, m; (n为第n页数据,m为条数 )
3.连接查询

内连接 select * from 表名1 inner join 表名2 on 表1.列=表2.列;
查询的是两个表的交集的数据
表1的列与表2的列一定是存在关联关系
内连接连接时可以连接多个表
select * from 表1 left join 表2 on 表1.列=表2.列
左连接查询的是左表特有的数据,对于右表中不存在的数据用null来填充
右连接
select * from 表1 right join 表2 on 表1.列=表2.列
右连接查询的是右表特有的数据,对于左表中不存在的数据用null来填充
自关联
自连接的应用场景
省、市、区的信息,一般不会分开放在不同的表里面进行存储,而是放在同一个表当中。

要通过自关联进行查询时,当前自关联的表当中一定会存在两个相关联的字段
select * from 表名 as 别名1 inner join 表名 as 别名2 on 别名1.列=别名2.列
-- 查询出河南省所有的市
select * from areas as a1 inner join areas as a2 on a1.aid=a2.pid where a1.atitle='河南省';
子查询
将一条SQL查询的语句嵌入在其他的SQL语句中,被嵌入的SQL语句称之为子查询,其他的SQL称之为主查询
子查询select语句,要么是充当条件,要么充当数据源
子查询语句是一条完整的select语句,且可以单独执行
-- 例1:查询王昭君的成绩,要求显示成绩(标量子查询)
select studentNo from students where name='王昭君';
子查询充当条件
select * from scores where studentNo=(select studentNo from students where name='王昭君');
子查询充当数据源
-- 例1:查询数据库和系统测试的课程成绩
select * from scores as sc inner join (
select * from courses where name in ('数据库','系统测试')
) as co on sc.courseNo=co.courseNo;
实战:
查看数据库表的字段
关联表
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://blog.grover.top/2025/03/03/%e9%98%b6%e6%ae%b5%e4%ba%8c-linux%e6%95%b0%e6%8d%ae%e5%ba%93/
共有 0 条评论