02 2021 档案
摘要:1.创建进程 函数作用:创建子进程 原型:pid_t fork(void) 函数参数:无 返回值:调用成功:父进程返回子进程的PID,子进程返回0 调用失败返回-1, 如果父进程先死掉,则子进程的父进程会变成1号进程,父母死了,被1号进程领养了。 需要知道: fork函数的返回值? 父进程返回子进程
阅读全文
摘要:1.程序和进程 程序: 是编译好的二进制文件, 存放在磁盘上, 占用的是磁盘空间, 是一个静态的概念。 进程:一个启动的程序,进程占用的是系统资源,如:物理内存,CPU,终端等,是一个动态的概念。 程序——>剧本 进程——>戏(舞台,演员,灯光,道具...) 同一个剧本可在多个舞台上演出,所以同一个
阅读全文
摘要:一、Makefile 1.基本语法 makefile由一组规则组成,规则如下: 目标: 依赖 (tab)命令 makefile基本规则三要素: 目标: 要生成的目标文件 依赖: 目标文件由哪些文件生成 命令: 通过执行该命令由依赖文件生成目标 比如: main:main.c fun1.c fun2.
阅读全文
摘要:总结:对乘法的结果求模,等价于先对每个因子求模,然后对因子相乘的结果再求模。 class Solution { private: int base = 1337; int mypow(int a, int b) { a %= base; // 对因子求模 int res = 1; for (int
阅读全文
摘要:#流程控制结构 顺序结构:程序从上往下依次执行 分支结构:程序从两条或多条路径中选择一条去执行 循环结构:程序在满足一定的条件基础上重复执行一段代码 #分支结构 1.if函数 功能:实现简单的双分支 SELECT IF(表达式1,表达式2,表达式3) 执行顺序:如果表达式1成立,返回表达式2的值,否
阅读全文
摘要:存储过程 #存储过程和函数 类似于Java中的方法。 好处:提高重用性、简化操作 #存储过程: 含义:一组预先定义好的SQL语句的集合,理解成批处理语句 好处:提高重用性、简化操作、减少编译次数,减少和数据库服务器的连接过程,提高了效率 #一、创建语法 CREATE PROCEDURE 存储过程名(
阅读全文
摘要:#变量 系统变量:由系统提供,不是自己定义的 全局变量 会话变量 自定义变量 用户变量(全局变量) 局部变量 #系统变量 说明:变量由系统提供,不是用户定义的,属于服务器层面 使用的语法: 1.查看所有的系统变量:关键字区分全局或会话 SHOW GLOBAL/SESSION VARIABLES; 2
阅读全文
摘要:#视图 含义:虚拟表(有行有列),和普通表一样使用 是通过表动态生成的数据 比如:舞蹈班和普通班的对比 优点: 重用SQL语句 简化复杂的SQL操作,不必知道它的查询细节 保护数据,提高安全性 案例:查询姓张的学生名和专业名 CREATE VIEW v1 AS SELECT stuname,majo
阅读全文
摘要:innodb支持事务,而其他不支持! 事务的ACID属性:经典面试题 第一个隔离级别,可能出现脏读、不可重复读和幻读三个问题 第二个隔离级别,避免了脏读,但是没有避免不可重复读和幻读 第三个隔离级别,避免了脏读、不可重复读,但是无法避免幻读 最高级别(串行化)可以避免幻读。 MySQL中,默认第三个
阅读全文
摘要:#常见约束 含义:一种限制,专门显示表中的数据,为了保证最终添加到表中的数据是准确可靠的 分类:六大约束 NOT NULL 非空约束,用于保障该字段值不能为空,比如姓名,学号等 DEFAULT 默认约束,用于保证该字段有默认值,比如性别 PRIMARY KEY 主键,保证该字段的值具有唯一性并且非空
阅读全文
摘要:#DDL /* 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建:create 修改:alter 删除:drop */ #一、库的管理 #1.库的创建 /* 语法: create database 库名: */ #案例:创建库Books CREATE
阅读全文
摘要:#DML语言 /* 数据操作语言 插入:insert 修改:update 删除:delete */ #一、插入语句 #方式一:经典插入! /* 语法: insert into 表名(列名,...) values(值1,...); */ #案例1: #1.插入的值的类型要和列的类型一致或者兼容 INS
阅读全文
摘要:#include<iostream> #include<vector> using namespace std; // 判断素数的代码 void countPrimes(vector<int>&res,int n) { vector<bool> rec(n, true); for (int i =
阅读全文
摘要:#进阶9:联合查询 /* union 联合 合并 将多条查询语句的结果合并成一个结果 语法: 查询语句1 union 查询语句2 union ... 应用场景:当我们要查询的结果来自于多个表,且多个表没有直接的链接关系,但我们查询的信息一致时候,用联合查询 注意事项: 要求多条查询语句的查询列数一致
阅读全文
摘要:#查询工资最低的员工last_name、salary SELECT last_name,salary FROM employees WHERE salary = ( SELECT MIN(salary) FROM employees ); #查询平均工资最低的部门信息 #方式一: #①查询每个部门的
阅读全文
摘要:#进阶8:分页查询 /* 应用场景:当我们要显示的数据一页显示不全,需要分页提交sql请求 语法: select 查询列表 from 表名 【join type】 join 表2 on 连接条件 where 筛选条件 group by 分组字段 having 分组后筛选 order by 排序字段
阅读全文
摘要:#进阶7:子查询 /* 含义:出现在其他语句中的select语句,称为子查询或内查询 外部的查询语句,称为主查询或外查询 分类: 按子查询出现的位置 select后面 仅仅支持标量子查询 from后面 支持表子查询 where、having后面 ※ 支持标量子查询(单行) ※,也支持列子查询(多行)
阅读全文
摘要:#进阶6:连接查询 /* 含义:又称多表查询,当查询字段来自多个表,就会用到连接查询 笛卡尔乘积:表1 m行 表2 n行 结果为m*n行 发生原因:没有有效的连接条件 解决方法:添加有效的连接条件 分类: 1.按年代分类 sql92标准:仅仅支持内连接 sql99标准:【推荐】支持所有内连接+外连接
阅读全文
摘要:#分组函数 /* 功能:用作统计使用,又称为聚合函数或统计函数或组函数 传入一组值,最后拿到一个值 分类: sum 求和 avg 平均值 max min count 计算个数 */ #1.简单使用 工资和 SELECT SUM(salary) FROM employees; SELECT AVG(s
阅读全文
摘要:#进阶3:排序查询 引入 SELECT * FROM employees; 查到的顺序原始的顺序是一致的 /* 语法: select 查询列表 ③ from 表 ① [where 筛选条件] ② order by 排序列表 [asc | desc] ④ 特点: ASC:升序 DESC:降序 如果不写
阅读全文
摘要:仿函数:返回值类型是bool数据类型,称为谓词 #include<iostream> #include<vector> #include<algorithm> using namespace std; class GreaterFive { public: bool operator()(int v
阅读全文
摘要:数据库的好处: 1.持久化数据到本地 2.可以实现结构化查询,方便管理 数据库相关概念: DB:数据库(database)——存储数据的“仓库”。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器。(数
阅读全文
摘要:有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。 01背包和完全背包唯一不同就是体现在遍
阅读全文
摘要:有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 背包问题,最难的就是初始化和遍历顺序! 二维dp数组01背包 // 0-1背包问题 // 二维dp数组 // n个物品 背包
阅读全文
摘要:class Solution { public: bool canPartition(vector<int>& nums) { // 动态规划解法,将nums求和,背包容量是一半,物品就是nums里的所有元素看能不能刚好凑出来 int sum = 0; for (int num : nums) su
阅读全文
摘要:理论学习笔记: 动态规划问题的一般形式就是求最值。 求解动态规划的核心问题是穷举。因为要求最值,肯定要把所有可行的答案都穷举出来,然后在其中找最值。 动态规划的穷举有点特别,因为这类问题都存在重叠子问题,如果暴力穷举的话效率会极其低下,所以需要 备忘录 或者 DP table 来优化穷举过程,避免不
阅读全文
摘要:变量作用:给一段指定的内存空间起名,方便我们操作这段内存 常量作用:用于记录程序中不可更改的数据 #define 宏常量:通常在文件上方定义 const修饰的变量:变量定义关键字前加const 起名:字母、数字、下划线;第一个字符必须是字母或下划线 C++创建变量,必须要声明数据类型,否则无法分配内
阅读全文