目录

MySQL(结构化查询语言)单表基础

简介:

数据库的三层结构-破除数据库的神秘面纱

什么是关系型数据库

常见的关系性数据库

*SQL的分类*

My SQL的安装

可视化工具的使用(SQLyog永久有效)

数据库的使用

连接到数据库

创建数据库

语法:

查看数据库

*修改数据库*

语法:

*删除数据库*

语法:

*其他数据库操作*

切换数据库:use 数据库名称;

查当前正在使用的数据库:

备份恢复数据库

备份:

恢复数据库

SQL对数据库表进行操作

SQL创建表

语法:

约束

SQL删除表

删除表

SQL修改表

修改表:添加列

修改表:修改列类型,长度和约束

修改表:删除列

修改表:修改列名称

修改表:修改表名

修改表:修改表的字符集

SQL对数据库表的记录进行操作(重点)

SQL添加表的记录

SQL修改表的记录

语法:

按条件修改数据

按条件修改多个列

SQL删除表的记录

语法:

删除表中的所有记录

删除表中的记录有两种做法:

SQL查看表的记录(重点)

条件查询

排序查询

分组统计查询

字符串相关函数​

数学相关函数​

时间日期相关函数 date.sql​

加密和系统函数 pwd.sql​

流程控制函数​

分页查询​

数据分组的总结


MySQL(结构化查询语言)单表基础

简介:

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

  • 数据以表格的形式出现

  • 每行为各种记录名称

  • 每列为记录名称所对应的数据域

  • 许多的行和列组成一张表单

  • 若干的表单组成database

    数据库的三层结构-破除数据库的神秘面纱

  1. 所谓安装mysql数据库,就是在主机安装一个数据库管理系统(DBMS),这个管理程序可以管理多个数据库。

  2. 一个数据库中可以创建多个表,以保存数据(信息)。

  3. 数据库管理系统(DBMS),数据库和表的关系如图所示:

什么是关系型数据库

关系型数据库存放的是实体之间的关系

常见的关系性数据库

  • MySQL

  • Oracle

  • SQLServer

  • DB2

  • SyBase

    *SQL的分类*

    *DDL:数据定义语言*

    create,drop,alter..

    *DCL:数据控制语言*

    grant,if…

    *DML:数据操纵语言*

    insert,update,delete…

    *DQL:数据查询语言*

    select

My SQL的安装

[MySQL安装配置教程(超级详细、保姆级)SoloVersion的博客-CSDN博客mysql安装配置教程](https://blog.csdn.net/SoloVersion/article/details/123760428)

可视化工具的使用(SQLyog永久有效)

链接:百度网盘 请输入提取码 提取码:hong

xn.txt中有破解序列号

数据库的使用

连接到数据库

mysql -u 用户名 -p

回车出现密码,输入密码连接成功

创建数据库

语法:

create database 数据库名称 [character set 字符集 collate 字符集校对规则];

查看数据库

  • 查看服务器所有的数据库:

  • show databases;
  • 查看某个数据库的定义信息:

  • show create database 数据库名称;

*修改数据库*

语法:

alter database 数据库名称 character set 字符集 collate 校对规则;

*删除数据库*

语法:

drop database 数据库名称;

*其他数据库操作*

切换数据库:use 数据库名称;

查当前正在使用的数据库:

备份恢复数据库

备份:

要在DOS下执行mysqldump指令其实在mysql安装目录\bin 这个备份的文件,即使对应的sql语句

mysqldump -u 用户名 -p -B 数据库1 数据库2.... > 文件名.sql
mysqldump -u root -p -B db1 > d:\\hong.sql

恢复数据库

(注意:进入Mysql命令在执行) Source 文件名.sql

source d:\\hong.sql

SQL对数据库表进行操作

SQL创建表

语法:

  • create table 表名称(字段名称 字段类型(长度) 约束,字段名称 字段类型(长度) 约束…);

  • 字段类型

  • 一个实体对应一个表,一个实体属性对应表的一个字段。

Java中的类型 MySQL中的类型

byte/short/int/long                       tinyint/smallint/int/bigint

float                                                 float

double                                          double

boolean                                         bit

char/String                                 char和varchar类型

char和varchar的区别:

* char代表是固定长度的字符或字符串。

* 定义类型char(8),向这个字段存入字符串hello,那么数据库使用三个空格将其补全。

* varchar代表的是可变长度的字符串。

* 定义类型varchar(8), 向这个字段存入字符串hello,那么存入到数据库的就是hello。

Date                                         date/time/datetime/timestamp

datetime和timestamp区别

* datetime就是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用null存入到数据库中

* timestamp也是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用当前的系统时间存入到数据库中。

File                                             BLOB/TEXT

约束

  • 约束作用:保证数据的完整性

  • 单表约束分类:

  • 主键约束:primary key 主键约束默认就是唯一 非空的

  • 唯一约束:unique

  • 非空约束:not null

  • 建表语句:

create database db1;
​
use db1;
​
CREATE TABLE `user`(id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(20) UNIQUE,`password` VARCHAR(20),age INT,birthday DATE
);
​

SQL删除表

删除表

语法:drop table 表名;

SQL修改表

修改表:添加列

alter table 表名 add 列名 类型(长度) 约束;

修改表:修改列类型,长度和约束

alter table 表名 modify 列名 类型(长度) 约束;

修改表:删除列

alter table 表名 drop 列名;

修改表:修改列名称

alter table 表名 change 旧列名 新列名 类型(长度) 约束;

修改表:修改表名

rename table 表名 to 新的表名;

修改表:修改表的字符集

alter table 表名 character set 字符集;

SQL对数据库表的记录进行操作(重点)

SQL添加表的记录

语法:

  • 向表中插入某些列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)

  • 向表中插入所有列:insert into 表名 values (值1,值2,值3…);

注意事项

1.值的类型与数据库中表列的类型一致。

2.值的顺序与数据库中表列的顺序一致。

3.值的最大长度不能超过列设置最大长度。

4.值的类型是字符串或者是日期类型,使用单引号引起来。

添加记录

添加某几列

insert into user (id,username,password) values (null,'aaa','123');

添加所有列

insert into user values (null,'bbb','123',23,'1993-09-01');

添加中文记录

insert into user values (null,'张三','123',23,'1993-09-01');

直接向数据库中插入中文记录会出现错误!!!

解决方法:

show variables like '%character%'; --查看数据库中与字符集相关参数:

需要将MySQL数据库服务器中的客户端部分的字符集改为gbk。

找到MySQL的安装路径:my.ini文件,修改文件中[client]下的字符集

* 重新启动MySQL的服务器

services.msc

SQL修改表的记录

语法:

update 表名 set 列名=值,列名=值 [where 条件];

注意事项

1.值的类型与列的类型一致。

2.值的最大长度不能超过列设置的最大长度。

3.字符串类型和日期类型添加单引号。

修改某一列的所有值

update user set password = 'abc';

按条件修改数据

update user set password = 'xyz' where username = 'bbb';

按条件修改多个列

update user set password='123',age=34 where username='aaa';

SQL删除表的记录

语法:

delete from 表名 [where 条件];

注意事项

1.删除表的记录,指的是删除表中的一行记录。

2.删除如果没有条件,默认是删除表中的所有记录。

删除某一条记录

delete from user where id = 2;

删除表中的所有记录

delete from user;

删除表中的记录有两种做法:

delete from user;

删除所有记录,属于DML语句,一条记录一条记录删除。事务可以作用在DML语句上的

truncate table user;

删除所有记录,属于DDL语句,将表删除,然后重新创建一个结构一样的表。事务不能控制DDL的

SQL查看表的记录(重点)

基本查询

语法:select [distinct] *|列名 from 表 [条件];

环境的准备:

create table exam(
​
•   id int primary key auto_increment,
​
•   name varchar(20),
​
•   english int,
​
•   chinese int,
​
•   math    int
​
);
​​
insert into exam values (null,'张三',85,74,91);
​
insert into exam values (null,'李四',95,90,83);
​
insert into exam values (null,'王五',85,84,59);
​
insert into exam values (null,'赵六',75,79,76);
​
insert into exam values (null,'田七',69,63,98);
​
insert into exam values (null,'李老八',89,90,83);
  • 查询所有学生考试成绩信息

select * from exam;

  • 查询所有学生的姓名和英语成绩

select name,english from exam;

  • 查询英语成绩信息(不显示重复的值)

select distinct english from exam;

查看学生姓名和学生的总成绩

select name,english+chinese+math from exam;

别名查询

select name,english+chinese+math as sum from exam;

条件查询

使用where子句

> , < , >= , <= , <> ,=

like:模糊查询

in:范围查询

条件关联:and , or ,not

查询李四学生的成绩:

select * from exam where name = '李四';

查询名称叫李四学生并且英文大于90分

select * from exam where name = '李四' and english > 90;

查询姓李的学生的信息

like可以进行模糊查询,在like子句中可以使用或者%作为占位符。只能代表一个字符,而%可以代表任意个字符。

* like ‘李_’ :名字中必须是两个字,而且是姓李的。

* like ‘李%’ :名字中姓李的学生,李子后可以是1个或任意个字符。

* like ‘%四’ :名字中以四结尾的。

* like ‘%王%’ :只要名称中包含这个字就可以。

select * from exam where name like '李%';

查询英语成绩是69,75,89学生的信息

select * from exam where english in (69,75,89);

排序查询

使用order by 字段名称 asc/desc;

查询学生信息,并且按照语文成绩进行排序:

select * from exam order by chinese;

查询学生信息,并且按照语文成绩倒序排序:

select * from exam order by chinese desc;

查询学生信息,先按照语文成绩进行倒序排序,如果成绩相同再按照英语成绩升序排序

select * from exam order by chinese desc,english asc;

查询姓李的学生的信息,按照英语成绩降序排序

select * from exam where name like '李%' order by english desc;

分组统计查询

聚合函数使用

sum();

获取所有学生的英语成绩的总和:

select sum(english) from exam;

获取所有学生的英语成绩和数学成绩总和:

select sum(english),sum(math) from exam;

查询姓李的学生的英语成绩的总和

select sum(english) from exam where name like '李%';

查询所有学生各科的总成绩:

select sum(english)+sum(chinese)+sum(math) from exam;

select sum(english+chinese+math) from exam;

与上面的语句有什么不同?

  • 上面的语句是按照列的方式统计,英语成绩总和+语文成绩总和+数学成绩总和。

  • 下面的语句先计算英语+数学+语文然后再求和。

  • 使用ifnull的函数

count();

获得学生的总数

select count(*) from exam;

获得姓李的学生的个数

select count(*) from exam where name like '李%';

max();

获得数学成绩的最高分:

select max(math) from exam;

min();

获得语文成绩的最小值

select min(chinese) from exam;

avg();

获取语文成绩的平均值

select avg(chinese) from exam;

分组查询

语法:使用group by 字段名称;

环境准备

create table orderitem(
​
•   id int primary key auto_increment,
​
•   product varchar(20),
​
•   price double
​
);
​
insert into orderitem values (null,'电视机',2999);
​
insert into orderitem values (null,'电视机',2999);
​
insert into orderitem values (null,'洗衣机',1000);
​
insert into orderitem values (null,'洗衣机',1000);
​
insert into orderitem values (null,'洗衣机',1000);
​
insert into orderitem values (null,'冰箱',3999);
​
insert into orderitem values (null,'冰箱',3999);
​
insert into orderitem values (null,'空调',1999);
  • 按商品名称统计,每类商品所购买的个数:

select product,count(*) from orderitem group by product;

  • 按商品名称统计,每类商品所花费的总金额:

select product,sum(price) from orderitem group by product;

  • 按商品名称统计,统计每类商品花费的总金额在5000元以上的商品

*** where的子句后面不能跟着聚合函数。如果现在使用带有聚合函数的条件过滤(分组后条件过滤)需要使用一个关键字having

select product,sum(price) from orderitem group by product having sum(price) > 5000;

按商品名称统计,统计每类商品花费的总金额在5000元以上的商品,并且按照总金额升序排序

select product,sum(price) from orderitem group by product having sum(price) > 5000 order by sum(price) asc;

总结

**S(select)****…** **F(from)****…****W(where)****…****G(group by)****…****H(having)****…****O(order by);**

字符串相关函数

数学相关函数

``-- 演示数学相关函数
​
-- ABS(num)
​
绝对值
​
SELECT ABS(-10) FROM DUAL;
​
-- BIN (decimal_number )十进制转二进制
​
SELECT BIN(10) FROM DUAL;
​
-- CEILING (number2 ) 向上取整, 得到比 num2 大的最小整数
​
SELECT CEILING(-1.1) FROM DUAL;
​
-- CONV(number2,from_base,to_base)
​
进制转换
​
-- 下面的含义是 8 是十进制的 8, 转成 2 进制输出
​
SELECT CONV(8, 10, 2) FROM DUAL;
​
-- 下面的含义是 8 是 16 进制的 8, 转成 2 进制输出
​
SELECT CONV(16, 16, 10) FROM DUAL;
​
-- FLOOR (number2 )
​
向下取整,得到比 num2 小的最大整数
​
SELECT FLOOR(-1.1) FROM DUAL;
​
-- FORMAT (number,decimal_places )
​
保留小数位数(四舍五入)
​
SELECT FORMAT(78.125458,2) FROM DUAL;
​
-- HEX (DecimalNumber ) 转十六进制
​
-- LEAST (number , number2 [,..]) 求最小值
​
SELECT LEAST(0,1, -10, 4) FROM DUAL;
​
-- MOD (numerator ,denominator )
​
求余
​
SELECT MOD(10, 3) FROM DUAL;
​
-- RAND([seed])
​
RAND([seed]) 返回随机数 其范围为 0 ≤ v ≤ 1.0
​
-- 老韩说明
​
-- 1. 如果使用 rand() 每次返回不同的随机数 ,在 0 ≤ v ≤ 1.0
​
-- 2. 如果使用 rand(seed) 返回随机数, 范围 0 ≤ v ≤ 1.0, 如果 seed 不变,
​
\--
​
该随机数也不变了
​
SELECT RAND() FROM DUAL;
​
SELECT CURRENT_TIMESTAMP() FROM DUAL; 

时间日期相关函数 date.sql

`-- 日期时间相关函数
​
-- CURRENT_DATE ( )
​
当前日期
​
SELECT CURRENT_DATE() FROM DUAL;
​
-- CURRENT_TIME ( )当前时间
​
SELECT CURRENT_TIME() FROM DUAL;
​
-- CURRENT_TIMESTAMP ( ) 当前时间戳
​
SELECT CURRENT_TIMESTAMP() FROM DUAL;
​
-- 创建测试表 信息表
​
CREATE TABLE mes(
​
id INT ,
​
content VARCHAR(30),
​
send_time DATETIME);
​
-- 添加一条记录
​
INSERT INTO mes
​
VALUES(1, '北京新闻', CURRENT_TIMESTAMP());
​
INSERT INTO mes VALUES(2, '上海新闻', NOW());
​
INSERT INTO mes VALUES(3, '广州新闻', NOW());
​
SELECT * FROM mes;
​
SELECT NOW() FROM DUAL;
​
-- 上应用实例
​
-- 显示所有新闻信息,发布日期只显示 日期,不用显示时间.
​
SELECT id, content, DATE(send_time)
​
FROM mes;
​
-- 请查询在 10 分钟内发布的新闻, 思路一定要梳理一下.
​
SELECT *
​
FROM mes
​
WHERE DATE_ADD(send_time, INTERVAL 10 MINUTE) >= NOW()
​
SELECT *
​
FROM mes
​
WHERE send_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
​
-- 请在 mysql 的 sql 语句中求出 2011-11-11 和 1990-1-1 相差多少天
​
SELECT DATEDIFF('2011-11-11', '1990-01-01') FROM DUAL;
​
-- 请用 mysql 的 sql 语句求出你活了多少天? [练习] 1986-11-11 出生
​
SELECT DATEDIFF(NOW(), '1986-11-11') FROM DUAL;
​
-- 如果你能活 80 岁,求出你还能活多少天.[练习] 1986-11-11 出生
​
-- 先求出活 80 岁 时, 是什么日期 X
​
-- 然后在使用 datediff(x, now()); 1986-11-11->datetime
​
-- INTERVAL 80 YEAR : YEAR 可以是 年月日,时分秒
​
-- '1986-11-11' 可以 date,datetime timestamp
​
SELECT DATEDIFF(DATE_ADD('1986-11-11', INTERVAL 80 YEAR), NOW())
​
FROM DUAL;
​
SELECT TIMEDIFF('10:11:11', '06:10:10') FROM DUAL;
​
-- YEAR|Month|DAY| DATE (datetime )
​
SELECT YEAR(NOW()) FROM DUAL;
​
SELECT MONTH(NOW()) FROM DUAL;
​
SELECT DAY(NOW()) FROM DUAL;
​
SELECT MONTH('2013-11-10') FROM DUAL;
​
-- unix_timestamp() : 返回的是 1970-1-1 到现在的秒数
​
SELECT UNIX_TIMESTAMP() FROM DUAL;
​
-- FROM_UNIXTIME() : 可以把一个 unix_timestamp 秒数[时间戳],转成指定格式的日期
​
-- %Y-%m-%d 格式是规定好的,表示年月日
​
-- 意义:在开发中,可以存放一个整数,然后表示时间,通过 FROM_UNIXTIME 转换
​
\--
​
SELECT FROM_UNIXTIME(1618483484, '%Y-%m-%d') FROM DUAL;
​
SELECT FROM_UNIXTIME(1618483100, '%Y-%m-%d %H:%i:%s') FROM DUAL;
​
SELECT * FROM mysql.user \G 

加密和系统函数 pwd.sql

`-- 演示加密函数和系统函数
​
-- USER() 查询用户
​
-- 可以查看登录到 mysql 的有哪些用户,以及登录的 IP
​
SELECT USER() FROM DUAL; -- 用户@IP 地址
​
-- DATABASE()查询当前使用数据库名称
​
SELECT DATABASE();
​
-- MD5(str) 为字符串算出一个 MD5 32 的字符串,常用(用户密码)加密
​
-- root 密码是 hsp -> 加密 md5 -> 在数据库中存放的是加密后的密码
​
SELECT MD5('hsp') FROM DUAL;
​
SELECT LENGTH(MD5('hsp')) FROM DUAL;
​
-- 演示用户表,存放密码时,是 md5
​
CREATE TABLE hsp_user
​
(id INT ,
​
name VARCHAR(32) NOT NULL DEFAULT '',
​
pwd CHAR(32) NOT NULL DEFAULT '');
​
INSERT INTO hsp_user
​
VALUES(100, '韩顺平', MD5('hsp'));
​
SELECT * FROM hsp_user; -- csdn
​
SELECT * FROM hsp_user -- SQL 注入问题
​
WHERE name='韩顺平' AND pwd = MD5('hsp')
​
-- PASSWORD(str) -- 加密函数, MySQL 数据库的用户密码就是 PASSWORD 函数加密
​
SELECT PASSWORD('hsp') FROM DUAL; -- 数据库的 *81220D972A52D4C51BB1C37518A2613706220DAC
​
-- select * from mysql.user \G
​
从原文密码 str 计算并返回密码字符串
​
-- 通常用于对 mysql 数据库的用户密码加密
​
-- mysql.user 表示 数据库.表
​
SELECT * FROM mysql.user

流程控制函数

`-- 1. 查询 emp 表, 如果 comm 是 null , 则显示 0.0 \-- 老师说明,判断是否为 null 要使用 is null, 判断不为空 使用 is not SELECT ename, IF(comm IS NULL , 0.0, comm) FROM emp; SELECT ename, IFNULL(comm, 0.0) FROM emp; -- 2. 如果 emp 表的 job 是 CLERK 则显示 职员, 如果是 MANAGER 则显示经理 \-- 如果是 SALESMAN 则显示 销售人员,其它正常显示 SELECT ename, (SELECT CASE WHEN job = 'CLERK' THEN '职员' WHEN job = 'MANAGER' THEN '经理' WHEN job = 'SALESMAN' THEN '销售人员' ELSE job END) AS 'job' FROM emp

分页查询

`-- 分页查询 -- 按雇员的 id 号升序取出, 每页显示 3 条记录,请分别显示 第 1 页,第 2 页,第 3 页 -- 第 1 页 SELECT * FROM emp ORDER BY empno LIMIT 0, 3; -- 第 2 页 SELECT * FROM emp ORDER BY empno LIMIT 3, 3; -- 第 3 页 SELECT * FROM emp ORDER BY empno LIMIT 6, 3; 

数据分组的总结

MySQL从安装到精通(单表)相关推荐

  1. mysql 关键字模糊查询_MySQL单表多关键字模糊查询的实现方法

    在最近的一个项目需要实现在MySQL单表多关键字模糊查询,但这数个关键字并不一定都存在于某个字段.例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题 ...

  2. MySQL之DML操作基础--单表查询

    目录 1.INSERT语句 2.REPLACE语句 REPLACE与INSERT语句区别: 3.UPDATE语句 4.DELETE和TRUNCATE语句 DROP.TRUNCATE.DELETE的区别 ...

  3. mysql ibd文件还原_MySQL单表ibd文件恢复方法详解

    前言: 随着innodb的普及,innobackup也成为了主流备份方式.物理备份对于新建slave,全库恢复的需求都能从容应对. 但当面临单表数据误删,或者单表误drop的情况,如果使用物理全备进行 ...

  4. MySQL第三次作业-----单表查询和多表查询

    文章目录 一.单表查询 1.1创建表单过程 1.2作业要求 1.显示所有职工的基本信息. 2.查询所有职工所属部门的部门号,不显示重复的部门号. 3.求出所有职工的人数. 4.列出最高工和最低工资. ...

  5. MySQL(一)——安装、创建数据库表、DML语言

    文章目录 1. 简述 2. 安装教程 3. 操作数据库 3.1 操作数据库的基本命令 3.2 数据库的列类型 3.3 数据库的字段属性(重点) 3.4 创建数据库表(重点) 3.5 数据表的类型 3. ...

  6. HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令

    1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...

  7. MySql学习【一】mysql的安装,操作数据库/表/查询表中数据/mysql日期计算

    1.安装和连接数据库的注意事项 1.在mac电脑上安装mysql,官网下载即可. 2.mysql返回的执行行数和时间,时间并不精确.其中时间是指挂钟时间 [返回进程启动到调用函数时所经过的CPU时钟计 ...

  8. MySQL学习(3)单表查询

    素材如下: DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `cs_id` int(11) NOT NULL COMMENT '课程编号' ...

  9. MySQL作业(一)——单表查询

    CREATE TABLE `worker` (`部门号` int(11) NOT NULL,`职工号` int(11) NOT NULL,`工作时间` date NOT NULL,`工资` float ...

最新文章

  1. Ansible YML语法
  2. socket()函数详解!
  3. 初试Android基于Vuforia开发AR
  4. java 三种将list转换为map的方法详解
  5. 11个提升编程能力的小方法
  6. Arm Linux交叉编译和连接过程分析(2)
  7. 矩形波如何傅立叶展开_金科文化会不会连续拉板?两位同学展开激辩
  8. mysql报错1517_请教一下 flask+sqlalchemy+mysql 连接错误问题
  9. Entity Framework Configuring Relationships with the Fluent API
  10. HTML资源嗅探,scrapy-2 嗅探网站,解析HTML
  11. 学数学建模算法对计算机的好处,浅议数学建模与算法
  12. vue使用高德地图web端JSAPI 路线规划、搜索提示教程
  13. sublime text3 英文版转为中文版
  14. 一文了解各种无线通信 - NB-IOT、LoRa、433、GPRS、4G、WIFI、2.4G、PKE
  15. 坚果PRO3搭载Android,安卓 10 来了,坚果 Pro 3 推送 Smartisan OS v7.5.0 早期众测版
  16. C#组件系列——NPOI使用手册
  17. PowerMock与Mockito使用教程
  18. STM32 CRH和CRL记录
  19. 计算机如何连接新的无线网络,换了个新wifi怎么设置?
  20. python在人工智能应用锁_干货 | Python人工智能在贪吃蛇游戏中的应用探索(上)...

热门文章

  1. 冷笑话之--所有进制都是十进制?
  2. 小技巧收藏之解决Word里9个常见难题
  3. 开我的世界服务器什么系统好,《我的世界》1.0服务器哪个好 1.0服务器地址大全...
  4. Liunx-02建立liunx实验环境
  5. 美股评论:苹果不会告诉你的十件事
  6. 在vue脚手架项目里面使用elementui
  7. 初学mybatis时出现 org.apache.ibatis.binding.BindingException报错
  8. 国产EDA工具easyeda_立创EDA系列教程
  9. terminal终端登录远程服务器,2013年期货投资分析章同步练习19
  10. 深圳python培训比较好的机构