MySQL表的增删改查

  • CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
  • 表的操作,是以一套记录为基本单位;
  • 增、删只能是以一条记录为基本单位。

1. 新增(Create / Insert)

  • 单引号、双引号====》用在数据记录中字符串、日期时间;
  • 反引号====》用在结构中库名、表名、字段名 ;
  • 只要小心避开使用关键字作为库名、表面、字段名,就可以完全不使用反引号。

1.1 插入 - 建表

-- 建表--》学生表  使用界面就可以
CREATE TABLE `db_11_20`.`students` (`id` INT NOT NULL AUTO_INCREMENT,`sn` INT NOT NULL COMMENT '学号',`name` VARCHAR(45) NOT NULL,`email` VARCHAR(200) NULL,PRIMARY KEY (`id`),UNIQUE INDEX `sn_UNIQUE` (`sn` ASC));

1.2 单行数据 + 全列插入

  • 一次插入一行,并且插入的数据中包含所有字段的数据;

  • 由于插入的是全字段,所以SQL中可以省略字段部分;

  • 后边插入的值的顺序必须要和表结构中的顺序一样.

  • -- id,sn, name,email
    INSERT INTO students VALUES (100, 10000, '唐三藏', NULL);
    -- 由于id是主键,sn是唯一键,所以这两个的字段不能重复
    INSERT INTO students VALUES (101, 10001, '孙悟空', '11111');
    

1.3 单行数据 + 指定列插入

  • 一次插入一行,指定列的插入;

  • id(自增,视为有默认值); sn name(没有默认值); email(允许为NULL 视为有默认值,就是NULL);所以sn,name 在插入时必须有值;

  • INSERT INTO students (sn, name) VALUES (20001, '赤脚大仙');
    -- 指定字段的顺序,不要求建表的顺序有关
    -- 字段的顺序和传入值的顺序一致即可
    INSERT INTO students ( name, sn) VALUES ('牛脚大仙',20003);
    

1.4 多行数据 + 全列插入

  • INSERT INTO students VALUES(204, 30001, '贾宝玉', 'jby@qq.com'),  -- 一条记录(205, 30002, '林黛玉', NULL), -- 一条记录(206, 30003, '薛宝钗', NULL); -- 一条记录
    

1.5 多行数据 + 指定列插入

  • INSERT INTO students (sn, name,email) VALUES(40001,'宋江','s@qq.com'),(40002,'王英','w@qq.com');
    

2. 查询(Retrieve)

  • 检索功能是DBMS中最核心的功能;DBMS 查询/检索 背后的原理是 关系代数;

2.1 查询 - 建表

  • -- 创建考试成绩表
    DROP TABLE IF EXISTS exam_result;
    CREATE TABLE exam_result (id INT,name VARCHAR(20),chinese DECIMAL(3,1),math DECIMAL(3,1),english DECIMAL(3,1)
    );
    -- 插入测试数据
    INSERT INTO exam_result (id,name, chinese, math, english) VALUES(1,'唐三藏', 67, 98, 56),(2,'孙悟空', 87, 78, 77),(3,'猪悟能', 88, 98, 90),(4,'曹孟德', 82, 84, 67),(5,'刘玄德', 55, 85, 45),(6,'孙权',   70, 73, 78),(7,'宋公明', 75, 65, 30);
    

2.2 全列查询

  • 代表是所有字段 顺序按照建表的顺序给出;

  • 没有给出WHERE条件,代表什么数据都显示;

  • 不推荐直接用,有缺点:

    • 会展示所有的字段,实践中往往只需要查询需要的字段,性能比较好;
    • 没有WHERE条件,当一张表有千万条记录时,会导致查询特别慢,可能会卡死;
  • SELECT * FROM exam_result;
    

2.3 指定列查询

  • 指定列的顺序不需要按定义表的顺序来;

  • SELECT id, name, english FROM exam_result;
    

2.4 查询字段为表达式

  • 实际上,SELECT后的投影可以是任意表达式;

  • 表达式中可以有字段的参与,也可以没有

  • -- 表达式不包含字段
    -- 一共有多少条记录,按照 WHERE 条件规则
    --      现在没有 WHERE 条件,是返回表中所有的记录,一共 7 条
    SELECT id, name, 10 FROM exam_result;
    -- 表达式包含一个字段
    SELECT id, name, english + 10 FROM exam_result;
    -- 表达式包含多个字段
    SELECT id, name, chinese + math + english FROM exam_result;-- 查询每位同学的总分,包含多个字段的表达式
    SELECT id,name,math + chinese + english FROM exam_result;
    
  • 表达式中可以出现函数;

  • concat 函数就是字符串拼接,类似 java 中的 name + " 你好";

  • SELECT id,concat(name," 你好") FROM exam_result;
    
  • 特殊的查询

    • 1投影里使用了函数database();

    • 2.没有指定查询源,只返回一行的数据;

    • SELECT DATABASE();
      SELECT 1;
      

2.5 别名

  • 为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称;

  • 别名用中文没问题,但要求不要让库、表、字段名用中文;

  • 别名用中文可以用,但不推荐用,否则以后写代码的时候,很容易出现字符集问题;

  • SELECT id,name,math + chinese + english AS 总分 FROM exam_result;
    SELECT id,name,math + chinese + english 总分 FROM exam_result;
    SELECT id 学号,name 姓名,math + chinese + english 总分 FROM exam_result;
    

2.6 去重:DISTINCT

  • 使用DISTINCT关键字对某列数据进行去重;

  • SELECT math FROM exam_result;
    SELECT DISTINCT math FROM exam_result;SELECT name, math FROM exam_result;
    -- 无法合并 分数相同但是名字不同
    -- SELECT name, DISTINCT math FROM exam_result;
    

2.7 统计行数的函数:COUNT

  • 本来有的结果的行数 ,null不被看作是一条记录;
  • count(*) : 包括了所有列,相当于计算行数,在统计结果中不会忽略 null;
  • count(1) : 忽略所有列,用 1 代表代码行,在统计结果中不会忽略 null;
  • count(列名) : 只包含列名那一列,在统计结果时 会忽略 null;
  • 执行效率来说;
    • 当列名是主键的时候, count(列名) 比 count(1) 快;
    • 当列名不是主键, count(1) 比 count(列名) 快;
    • 当表有多个列但没有主键时, count(1) 比count(*)快;
    • 当有主键时, count(主键) 最优;
    • 如果只有一个字段,count(*)最优;
 -- 等价 前提:math NOT NULLSELECT COUNT(*) FROM exam_result;SELECT COUNT(math) FROM exam_result;SELECT COUNT(1) FROM exam_result;  -- SELECT 1 有7条记SELECT COUNT(NULL) FROM exam_result; -- 0,null是7条记录,但是count中null不被看作一条记录SELECT COUNT(email) FROM students;  -- 4   COUNT(email) 不算 email 是 Null 的情况SELECT COUNT(DISTINCT math) FROM exam_result;    -- 去重后的数量

2.8 排序:ORDER BY

  • . 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序;

  • 没有 order by,看起来结果是按照 id 的顺序给出,但 MySQL 其实没有任何的保证,只是这个版本的 MySQL 刚好这么实现了;

  • NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面;

  • order by 重点在 order 不在于 by;order 排序、by 按照;

  • 从小到大 (默认升序、非降序) ASC;从大到小 (降序、非升序) DESC

  • SELECT * FROM exam_result ORDER BY id;
    SELECT * FROM exam_result ORDER BY id ASC;
    SELECT * FROM exam_result ORDER BY id DESC;SELECT * FROM exam_result ORDER BY math;
    SELECT * FROM exam_result ORDER BY math, id;
    SELECT * FROM exam_result ORDER BY math ASC, id DESC; -- math升序,当math值一样时,id降序
    SELECT * FROM exam_result ORDER BY math DESC, id ASC;SELECT *
    FROM exam_result
    ORDER BY math + chinese + english DESC;SELECTid, name, math + chinese + english total
    FROM exam_result
    ORDER BY math + chinese + english DESC, id;SELECTid, name, math + chinese + english total
    FROM exam_result
    ORDER BY total DESC, id;    -- order by 跟别名
    

2.9 条件查询:WHERE

  • WHERE 条件,由bool表达式组成,把每条记录带进去,保留结果是true的;

  • 简单 a > b a >= b a <= b

  • SELECT 1 < 2;   -- 真 1
    SELECT 1 > 2;    -- 假 0
    SELECT 1 >= 2;  -- 假 0
    SELECT 1 <= 2;  -- 真 1SELECT * FROM exam_result WHERE id < 3;
    SELECT id, name, id < 3 FROM exam_result;  -- 只有前两个为真
    
  • 相等使用一个=判断 a = b;无论是数值类型还是其他类型,都是用 = 进行相等判断;

  • SELECT '你好' = '你好';    -- 真
    SELECT 1 = 1;          -- 真
    SELECT '你好' = '世界';    -- 假
    SELECT 1 = 2;          -- 假SELECT * FROM exam_result WHERE name = '猪悟能';
    
  • 不相等 != <> a != b a <> b

  • SELECT '你好' != '你好'; -- 假
    SELECT 1 != 1;             -- 假
    SELECT '你好' != '世界';   -- 真
    SELECT 1 != 2;             -- 真SELECT '你好' <> '你好';  -- 假
    SELECT 1 <> 1;                -- 假
    SELECT '你好' <> '世界';  -- 真
    SELECT 1 <> 2;                -- 真SELECT * FROM exam_result WHERE name != '猪悟能';
    
  • 针对 Null 的判断,不能用相等判断,必须用特殊方法
    – a IS NULL a 为 null 时是 true
    – a IS NOT NULL a 不为 null 时是 true
    – MySQL 针对 Null 提出了特殊的表达式:a <=> b ,判断 a 是否等于 b,并且支持 a、b 都是 Null 的情况

  • -- Null 对于某个数据是不可知的
    -- 与 Null 参与的表达式运算(暂时不考虑特例),结果也是 Null
    -- 有不知道的值参与的表达式,结果还是不知道
    SELECT NULL = NULL;    -- 假,Null 又被视为假    null不参与判断
    SELECT NULL IS NULL;        -- 真
    SELECT NULL IS NOT NULL;    -- 假
    SELECT 1 IS NULL;           -- 假
    SELECT 1 IS NOT NULL;       -- 真SELECT name, email, email = NULL FROM students;-- 一个结果表达式只要有null参与就全部都是null
    SELECT name, email, email != NULL FROM students;
    SELECT name, email FROM students WHERE email = NULL;   -- 没有符合条件的结果
    SELECT name, email FROM students WHERE email != NULL;  -- 没有符合条件的结果  全部是null-- 正确用法
    SELECT name, email FROM students WHERE email IS NULL;
    SELECT name, email FROM students WHERE email IS NOT NULL;
    
  • 与 AND 不用 &&

  • SELECT 1 AND 1; -- 真 与上真 ==》真
    SELECT 0 AND 1;-- 假
    
  • 或 OR 不用 ||

  • SELECT 0 OR 1;
    
  • 非 NOT 不用 !

  • SELECT !0; -- 真
    SELECT !1; -- 假
    
  • -- 找到不及格的同学  <60  或的关系
    SELECT * FROM exam_result WHERE chinese < 60 OR math < 60 OR english < 60;
    -- 找到三好学生  》80
    SELECT * FROM exam_result WHERE chinese >= 80 AND math >= 80 AND english >= 80;SELECT * FROM exam_result WHERE name != '猪悟能';
    SELECT * FROM exam_result WHERE name = '猪悟能';SELECT * FROM exam_result WHERE math > 80 AND (chinese < 60 OR english < 60);
    
  • a BETWEEN 10 AND 20 相当于 a >= 10 AND a <= 20 为 真;

  • -- 查询2021-11-22 号出版的文章
    SELECT * FROM articles WHERE published_at BETWEEN '2021-11-22 00:00:00' AND '2021-11-22 23:59:59';
    
  • a IN (‘AA’, ‘BB’, ‘CC’) contains 包含关系 相当于a == ‘AA’ OR a == ‘BB’ OR a == ‘CC’ 查找前面的在不在后面的集合中;

  • SELECT '你好' IN ('你好', '世界');  -- 该方法更好,有发挥空间
    SELECT '你好' = '你好' OR '你好' = '世界'; -- 手动历找查找;SELECT * FROM exam_result WHERE (math BETWEEN 60 AND 70) AND math != 70; -- [60,70)
    SELECT * FROM exam_result WHERE name IN ('唐三藏' , '孙悟空');
    
  • 模糊查询:LIKE

  • -- _代表的是1个字符,可以是任意字符;
    -- 找到名字是 孙开头的,并且有3个字符,但后边是什么都行
    SELECT * FROM exam_result WHERE name LIKE '孙__';
    -- % 代表的是 任意(>=0)个字符,可以是任意字符
    -- 找到名字是 孙开头的
    SELECT * FROM exam_result WHERE name LIKE '%孙%'; -- 只要带孙字的都是
    

练习:

  • 查询用户user表中,满足以下条件的用户数据:

    1. ID在1至200或300至500,且账号accout列不为空
      1. 充值金额amount在1000以上。
SELECT * FROM user WHERE (id (BETWEEN 1 AND 200) OR (BETWEEN 300 AND 500)) AND account IS NOT NULL AND amount > 1000;
  • 在图书表中新增一条记录:Java核心技术、作者“Cay S. Horstman”,价格56.43,分类为“计算机技术”;
INSERT INTO books VALUES ('Java核心技术', 'Cay S. Horstman', 56.43, '计算机技术');

2.10 分页查询:LIMIT 字句

  • 按照实现已经存在的表结构进行建表;

  • -- 按照(Like) db_11_20.exam_result 这张表的结构,去创建一个相同结构的表,叫做
    -- db_11_23.exam_result
    CREATE TABLE db_11_23.exam_result LIKE db_11_20.exam_result;
    
  • 原始表中,查询出数据,并且插入新表中;

  • -- 按照 SELECT * FROM db_11_20.exam_result 查询出数据
    -- 把查询出的数据,插入到 db_11_23.exam_result 表中
    -- 要求,新表和老表的结构是一致的
    INSERT INTO db_11_23.exam_result SELECT * FROM db_11_20.exam_result;
    
  • 要使用 LIMIT,必须带上 ORDER BY,否则,视为在一个无序的数组中进行范围过滤,得到的结果是行为未定义;

  • LIMIT 子句:从查询出的结果中过滤出一个范围出来;标准用法:LIMIT n OFFSET s,从结果的第 s 条时(s 是下标,从 0 开始),保留 n 条数据;

  • 假如,把结果看成数组, 最后得到的结果是 [s] 到 [s + n - 1];

  • SELECT * FROM exam_result ORDER BY id LIMIT 4 OFFSET 1;
    -- 假如 OFFSET + LIMIT 大于结果长度怎么办 -----》有多少条数据,给多少条数据
    SELECT * FROM exam_result ORDER BY id LIMIT 100 OFFSET 1;-- LIMIT 字句的两个变形用法
    -- 视为LIMIT 3 OFFSET 0
    SELECT * FROM exam_result ORDER BY id LIMIT 3;
    -- 视为LIMIT 4 OFFSET 1
    SELECT * FROM exam_result ORDER BY id LIMIT 1,4;
    -- 推荐使用 LIMIT n OFFSET s,含义清晰
    
  • 最大的应用就是分页功能

  • 例如,规定一页最多20条

  • -- 第一页
    SELECT * FROM exam_result ORDER BY id LIMIT 20 OFFSET 0;
    -- 第二页  从20下标开始,保留20条
    SELECT * FROM exam_result ORDER BY id LIMIT 20 OFFSET 20;
    -- 第三页    从40下标开始,保留20条
    SELECT * FROM exam_result ORDER BY id LIMIT 20 OFFSET 40;
    -- 以此类推 第n页
    -- SELECT * FROM exam_result ORDER BY id LIMIT 20 OFFSET 20*(n-1);
    
  • TIMELINE (在一页完了以后下滑刷新)中应用

  • SELECT * FROM exam_result WHERE id > 0 ORDER BY id LIMIT 20 OFFSET 0;
    -- 在上一次拿到的所有数据中,取出 id 最大的 1 条,比如是 21
    SELECT * FROM exam_result WHERE id > 21 ORDER BY id LIMIT 20 OFFSET 0;
    -- 在上一次拿到的所有数据中,取出 id 最大的 1 条,比如是 51
    SELECT * FROM exam_result WHERE id > 51 ORDER BY id LIMIT 20 OFFSET 0;
    

2.11 小结

  • select… [from] [where] [order by] [limit];

  • 从给定查询源(from…),进行选择(where…)、投影(select…)、排序(order by …)、取范围(limit…)、查询/检索出用户需要的数据;

  • slesct 投影

    • *代表全字段;
    • 用逗号分割的表达式,表达式可以有 字面量(1、“Hello”)、字段(name)、函数调用等参与的运算表达式;
    • 任意表达式,都可以给出别名;
    • 某些情况下,可以去重 distinct;
    • count(…)这个函数调用必须掌握;
  • from 查询源

    • 表名;
    • 表名也可以使用别名 exam_result | exam_result AS er 把er作为表的别名;
  • where 选择

    • 让查询源中的每条记录,都经过where指定的bool表达式,然后只保留结果为真的记录;
  • order by

    • 没有order by,查询结果认为无序;
    • order by 默认为升序(asc),可以指定为降序(desc);
    • order by 允许指定多字符,含义:优先按照第一个字段为依据进行排序,在第一字段的值相等的情况下,第二个字段的指定进行排序;
    • order by可以使用字段的别名;
  • limit 取范围

    • limit … offset… offset 偏移 limit 限制;

练习:

  • 查询用户user表中,满足以下条件的用户数据:

    1. ID在1至200或300至500,且账号accout列不为空
      1. 充值金额amount在1000以上。
SELECT * FROM user WHERE (id (BETWEEN 1 AND 200) OR (BETWEEN 300 AND 500)) AND account IS NOT NULL AND amount > 1000;
  • 在图书表中新增一条记录:Java核心技术、作者“Cay S. Horstman”,价格56.43,分类为“计算机技术”;
INSERT INTO books VALUES ('Java核心技术', 'Cay S. Horstman', 56.43, '计算机技术');

3.更新(Update)

  • 指定where条件(如果不写where,视为所有记录都满足条件),一定可以选择出一批记录(可能只有1条,或者1条都没有);

  • 只能统一将这批记录中的指定字段的值,一次性进行修改;

  • UPDATE exam_result SET chinese = 60 WHERE id BETWEEN 1 AND 3;UPDATE exam_result SET chinese = 30 WHERE id = 1;
    UPDATE exam_result SET chinese = 60 WHERE id = 2;
    UPDATE exam_result SET chinese = 90 WHERE id = 3; -- 表中所有记录都符合条件,chinese都变成了40
    UPDATE exam_result SET chinese = 40; -- 允许修改时,一次修改多个字段
    -- 字段直接使用,隔开
    UPDATE exam_result SET chinese = 10,  math = 20, english = 30 WHERE id BETWEEN 1 AND 3; -- 修改时,以字段的原来的值作为基础进行修改
    UPDATE exam_result SET  math = math/2 WHERE not (id BETWEEN 1 AND 3);
    -- 注意,不支持 math -= 3、math += 10,只能 math = math - 3、math = math + 10
    
  • 错误:Error Code:1264.Out of range value for column ‘math’ at row 40.000sec;

  • 表示在插入or修改时,某个字段的值超出了字段数据类型规定的数据范围了(out of range);

4.删除(Delect)

  • 先通过where条件选择出一批记录 ,把符合条件的记录全部删除;

  • 不加where条件,意味着所有记录都满足条件;

  • -- 目标: 只删除 孙悟空
    -- delete 和from 中间没有东西
    DELETE FROM exam_result WHERE id = 2;
    DELETE FROM exam_result WHERE name = '孙悟空';
    DELETE FROM exam_result WHERE name LIKE '孙__';-- 正确的前提,知道表中只有孙悟空
    DELETE FROM exam_result WHERE name LIKE '孙%'; -- 错误(没有达到期望,不是数据库错误) 会把表中的孙权也删掉
    -- 不加where条件,意味着所有记录都满足条件,所以是全表中的所有数据统统删除(慎用)
    DELETE FROM exam_result;
    
  • 建议

    • 1.再删除之前,先用select + 同样的where条件确认下数据是否满足预期;

    • 2.能用上主键删除,优先用主键删除;由于主键不会重复,所以使用主键是最准确的;

    • 3.从数据安全的角度,核心数据一定要做备份;

    • INSERT INTO db_11_23.exam_result SELECT * FROM db_11_20.exam_result;
      
  • 截断表: DDL 操作,针对表结构的操作,视为把表结构复位(reset);

  • -- 主要体现的自增的 id 上,重点观察其生成的 id
    truncate exam_result;
    insert into exam_result (name, math, chinese, english) values ('A', 1, 1, 1);-- 自增id变为1-- 对比全表数据删除:DML 操作,针对表中的数据操作的,表结构不动
    delete from exam_result;
    insert into exam_result (name, math, chinese, english) values ('A', 1, 1, 1); -- 自增id变为8
    
  • truncate 和 delete 一样,也是谨慎使用;

  • 如果已经明确要把表清空了,使用 truncate 会比 delete from 来的速度快; truncate 是时间复杂度是 O(1) :只需要动表结构,不管多少条数据; delete from 的时间复杂度是 O(n) :挨个记录遍历,删除;

  • 图形界面的truncate:

MySQL表的增删改查相关推荐

  1. 数据库概论之MySQL表的增删改查1

    MySQL表的增删改查 1.MySQL表的CRUD 2.插入数据 2.1 语法 2.2 注意事项 3.查找语句 3.1 全列查找 3.2 指定列查询 3.3 指定查询字段为表达式 3.4 查询字段指定 ...

  2. MYSQL表的增删改查进阶(下)

    MYSQL表的增删改查进阶 4. 查询 4.1 聚合查询 4.1.1 聚合函数 4.1.2 group by字句 4.1.3 having 4.2 联合查询 4.2.1 内连接 4.2.2 外连接 4 ...

  3. 2.MySQL表的增删改查(进阶)

    这里写目录标题 MySQL表的增删改查(进阶) 1.数据库约束 2.表的设计 3.新增 4.查询 4.1 聚合查询 4.2 联合查询 5.内容重点总结 MySQL表的增删改查(进阶) 1.数据库约束 ...

  4. MySQL表的增删改查(基础)

    MySQL表的增删改查(基础) 文章目录 MySQL表的增删改查(基础) 新增(`Create`) 查询(`Retrieve`) 更新(`Update`) 删除(`Delete`) 总结 注释:在SQ ...

  5. 【MySQL系列】 MySQL表的增删改查(进阶)

    目录 ??前言 ??一.数据库约束 ???1.1 约束类型 ???1.2 null约束 ???1.3 unique约束 ???1.4 default约束 ???1.5 primary key 约束 ? ...

  6. php mysql表的增删改查,PHP 之Mysql增删改查操作案例

    1:user表: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, PR ...

  7. MySQL表的增删改查--你都知道吗?

    文章目录 CRUD 查询 修改 删除 数据库约束 数据库的设计 插入查询的数据 聚合查询 分组查询 联合查询/多表查询(重点) 内连接与外连接 子查询 合并查询 注释:在SQL中使用 --(空格) + ...

  8. 【MySQL】(万字解析)MySQL表的增删改查(进阶-上)

    快速跳转✅ 1.数据库的约束 1.1 约束类型 1.2 NULL约束 1.3 UNIQUE:唯一约束 1.4 DEFAULT:默认值约束 1.5 PRIMARY KEY:主键约束 1.6 FOREIG ...

  9. mysql 表结构 增删改查_mysql学习【第3篇】:数据库之增删改查操作

    注意的几点: 1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一.操作文件夹(库) 增:create database db1 charset utf8; 删:drop ...

最新文章

  1. 卫星数据现已加入 Azure 豪华套餐,在太空向女神表个白?
  2. vue 组件属性监听_Vue.js 监听属性
  3. linux kernel 三次握手建立TCP链接的实现
  4. 如何在Spring中将@RequestParam绑定到对象
  5. 九张 Gif 图回顾 Web 设计的 25 年历史
  6. centos7下docker设置阿里云镜像(自定义阿里云镜像)
  7. 计算机专业外语的特点,计算机专业英语在邮政信息技术领域的应用特点|计算机专业哪个好...
  8. spark分片个数的确定及Spark内存错误(GC error)的迂回解决方式
  9. 【原创】Java移位运算
  10. 好看的vscode字体
  11. 23种PHP开发工具PHP IDE集合
  12. Unity Transform 学习
  13. 基于echarts+js+fexible.js实现的数据可视化适配案例(附源代码)
  14. b站网页版改html,网页版b站怎么设置弹幕?网页bilibili怎么设置停止播放和调倍速?...
  15. 应聘华为各类工程师通信基础题库以及答案
  16. dialog设置最大高度占比
  17. vue-element-admin 和 python django 前后端分离 开撸(新手学习,高手指点)
  18. 实验四 自动化测试工具-软件测试
  19. XP定时关机、查看和取消指令
  20. 要分析数据,可以先去这些数据网站找数据

热门文章

  1. 标量变量 c语言,标量变量
  2. 尚济 形意拳经解[七]内功经解
  3. Log Forging漏洞
  4. java E201_02_01个人所得税 计算器
  5. 【递归】两道程序题理解递归
  6. DirectX12(D3D12)基础教程(十一)——几个“上古时代”的基于Pixel Shader的滤镜效果
  7. 神雕侠侣手游修改服务器端口,神雕侠侣手游7月29日更新内容 部分服务器开启【常规跨服】玩法...
  8. 计算机考研政治难度系数有多大,考研政治难度系数比去年略低 分数线或和去年接近--教育--人民网...
  9. PB修改器,powerbuilder源码下载,pb反编译大师,最新测试版
  10. 笔记本电脑连接wifi有时候会自动断网提示有限的访问权限解决办法