DQL语言的学习

一、基础查询

语法:
**SELECT 要查询的东西
【FROM 表名】;**类似于Java中 :System.out.println(要打印的东西);
特点:
①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在
② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数
USE myemployees;

1. 查询表中的单个字段

SELECT last_name FROM employees;

2. 查询表中的多个字段

SELECT last_name,salary,email FROM employees;

3. 查询表中的所有字段

#方式一:
SELECT `employee_id`,`first_name`,`last_name`,`phone_number`,`last_name`,`job_id`,`phone_number`,`job_id`,`salary`,`commission_pct`,`manager_id`,`department_id`,`hiredate`
FROMemployees ;
#方式二:  SELECT * FROM employees;

4. 查询常量值

SELECT 100;SELECT 'john';

5. 查询表达式

 SELECT 100%98;

6. 查询函数

 SELECT VERSION();

7. 起别名
①便于理解
②如果要查询的字段有重名的情况,使用别名可以区分开来

方式一:使用as

SELECT 100%98 AS 结果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;

方式二:使用空格

SELECT last_name 姓,first_name 名 FROM employees;

案例:查询salary,显示结果为 out put

SELECT salary AS "out put" FROM employees;

8. 去重

案例:查询员工表中涉及到的所有的部门编号

SELECT DISTINCT department_id FROM employees;

9. +号的作用
1)java中的+号:
①运算符,两个操作数都为数值型
②连接符,只要有一个操作数为字符串

2)mysql中的+号:
仅仅只有一个功能:运算符

select 100+90; 两个操作数都为数值型,则做加法运算 select
‘123’+90;只要其中一方为字符型,试图将字符型数值转换成数值型 如果转换成功,则继续做加法运算 select
‘john’+90; 如果转换失败,则将字符型数值转换成0

select null+10; 只要其中一方为null,则结果肯定为null

案例:查询员工名和姓连接成一个字段,并显示为 姓名

SELECT CONCAT('a','b','c') AS 结果;SELECT CONCAT(last_name,first_name) AS 姓名
FROMemployees;

二、条件查询

条件查询:根据条件过滤原始表的数据,查询到想要的数据
  1. 语法:
    select 查询列表 from 表名
    where 筛选条件;

  2. 分类:
    一、按条件表达式筛选

    简单条件运算符:> < = != <> >= <=
    示例:salary>10000

    二、按逻辑表达式筛选

    逻辑运算符:
    作用:用于连接条件表达式
    && || !
    and or not

    &&和and:两个条件都为true,结果为true,反之为false
    ||或or: 只要有一个条件为true,结果为true,反之为false
    !或not: 如果连接的条件本身为false,结果为true,反之为false

    示例:salary>10000 && salary<20000

    三、模糊查询
    like
    between and
    in
    is null

    示例:last_name like ‘a%’

一、按条件表达式筛选

案例1:查询工资>12000的员工信息

SELECT *
FROMemployees
WHEREsalary>12000;

案例2:查询部门编号不等于90号的员工名和部门编号

SELECT last_name,department_id
FROMemployees
WHEREdepartment_id<>90;

二、按逻辑表达式筛选

案例1:查询工资z在10000到20000之间的员工名、工资以及奖金

SELECTlast_name,salary,commission_pct
FROMemployees
WHEREsalary>=10000 AND salary<=20000;

案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

SELECT*
FROMemployees
WHERENOT(department_id>=90 AND  department_id<=110) OR salary>15000;

三、模糊查询
like
between and
in
is null | is not null

1.like
特点:
①一般和通配符搭配使用

通配符:
% 任意多个字符,包含0个字符
_ 任意单个字符

案例1:查询员工名中包含字符a的员工信息

select *
fromemployees
wherelast_name like '%a%';#abc

案例2:查询员工名中第三个字符为e,第五个字符为a的员工名和工资

selectlast_name,salary
FROMemployees
WHERElast_name LIKE '__n_l%';

案例3:查询员工名中第二个字符为_的员工名

SELECTlast_name
FROMemployees
WHERElast_name LIKE '_$_%' ESCAPE '$';

2.between and

①使用between and 可以提高语句的简洁度
②包含临界值
③两个临界值不要调换顺序

案例1:查询员工编号在100到120之间的员工信息

SELECT*
FROMemployees
WHEREemployee_id >= 120 AND employee_id<=100;
#----------------------
SELECT*
FROMemployees
WHEREemployee_id BETWEEN 120 AND 100;

3.in

含义:判断某字段的值是否属于in列表中的某一项
特点:
①使用in提高语句简洁度
②in列表的值类型必须一致或兼容
③in列表中不支持通配符

案例:查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号

SELECTlast_name,job_id
FROMemployees
WHEREjob_id = 'IT_PROT' OR job_id = 'AD_VP' OR JOB_ID ='AD_PRES';#------------------SELECTlast_name,job_id
FROMemployees
WHEREjob_id IN( 'IT_PROT' ,'AD_VP','AD_PRES');

4、is null

=或<>不能用于判断null值
is null或is not null 可以判断null值

案例1:查询没有奖金的员工名和奖金率

SELECTlast_name,commission_pct
FROMemployees
WHEREcommission_pct IS NULL;

案例1:查询有奖金的员工名和奖金率

SELECTlast_name,commission_pct
FROMemployees
WHEREcommission_pct IS NOT NULL;#----------以下为×
SELECTlast_name,commission_pct
FROMemployeesWHERE salary IS 12000;

案例1:查询没有奖金的员工名和奖金率

#安全等于  <=>SELECTlast_name,commission_pct
FROMemployees
WHEREcommission_pct <=>NULL;

案例2:查询工资为12000的员工信息

SELECTlast_name,salary
FROMemployeesWHERE salary <=> 12000;#is null pk <=>

IS NULL:仅仅可以判断NULL值,可读性较高,建议使用
<=> :既可以判断NULL值,又可以判断普通的数值,可读性较低

三、排序查询

语法:
select要查询的东西
from表
where 条件
order by 排序的字段|表达式|函数|别名 【asc|desc】特点:
1、asc代表的是升序,可以省略
desc代表的是降序2、order by子句可以支持 单个字段、别名、表达式、函数、多个字段3、order by子句在查询语句的最后面,除了limit子句

1、按单个字段排序

SELECT * FROM employees ORDER BY salary DESC;

2、添加筛选条件再排序

案例:查询部门编号>=90的员工信息,并按员工编号降序

SELECT *
FROM employees
WHERE department_id>=90
ORDER BY employee_id DESC;

3、按表达式排序
案例:查询员工信息 按年薪降序

SELECT *,salary*12*(1+IFNULL(commission_pct,0))
FROM employees
ORDER BY salary*12*(1+IFNULL(commission_pct,0)) DESC;

4、按别名排序
案例:查询员工信息 按年薪升序

SELECT *,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 ASC;

5、按函数排序
案例:查询员工名,并且按名字的长度降序

SELECT LENGTH(last_name),last_name
FROM employees
ORDER BY LENGTH(last_name) DESC;

6、按多个字段排序

案例:查询员工信息,要求先按工资降序,再按employee_id升序

SELECT *
FROM employees
ORDER BY salary DESC,employee_id ASC;

7、强化练习

  1. 查询员工的姓名和部门号和年薪,按年薪降序 按姓名升序
SELECT last_name,department_id,salary*12*(1+IFNULL(commission_pct,0)) 年薪
FROM employees
ORDER BY 年薪 DESC,last_name ASC;
  1. 选择工资不在8000到17000的员工的姓名和工资,按工资降序
SELECT last_name,salary
FROM employeesWHERE salary NOT BETWEEN 8000 AND 17000
ORDER BY salary DESC;
  1. 查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT *,LENGTH(email)
FROM employees
WHERE email LIKE '%e%'
ORDER BY LENGTH(email) DESC,department_id ASC;

四、常见函数

概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
好处:1、隐藏了实现细节 2、提高代码的重用性
调用:select 函数名(实参列表) 【from 表】;
特点:
①叫什么(函数名)
②干什么(函数功能)

分类:
1、单行函数
如 concat、length、ifnull等
2、分组函数

功能:做统计使用,又称为统计函数、聚合函数、组函数一、单行函数1、字符函数concat拼接substr截取子串upper转换成大写lower转换成小写trim去前后指定的空格和字符ltrim去左边空格rtrim去右边空格replace替换lpad左填充rpad右填充instr返回子串第一次出现的索引length 获取字节个数2、数学函数round 四舍五入rand 随机数floor向下取整ceil向上取整mod取余truncate截断3、日期函数now当前系统日期+时间curdate当前系统日期curtime当前系统时间str_to_date 将字符转换成日期date_format将日期转换成字符4、流程控制函数if 处理双分支case语句 处理多分支情况1:处理等值判断情况2:处理条件判断5、其他函数version版本database当前库user当前连接用户

一、字符函数

1.length 获取参数值的字节个数

SELECT LENGTH('john');
SELECT LENGTH('张三丰hahaha');SHOW VARIABLES LIKE '%char%'

2.concat 拼接字符串

SELECT CONCAT(last_name,'_',first_name) 姓名 FROM employees;

3.upper、lower

SELECT UPPER('john');
SELECT LOWER('joHn');

示例:将姓变大写,名变小写,然后拼接

SELECT CONCAT(UPPER(last_name),LOWER(first_name))  姓名 FROM employees;

4.substr、substring
注意:索引从1开始
截取从指定索引处后面所有字符

SELECT SUBSTR('李莫愁爱上了陆展元',7)  out_put;

截取从指定索引处指定字符长度的字符

SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;

案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来

SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),'_',LOWER(SUBSTR(last_name,2)))  out_put
FROM employees;

5.instr 返回子串第一次出现的索引,如果找不到返回0

SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷八侠') AS out_put;

6.trim

SELECT LENGTH(TRIM('    张翠山    ')) AS out_put;SELECT TRIM('aa' FROM 'aaaaaaaaa张aaaaaaaaaaaa翠山aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')  AS out_put;

7.lpad 用指定的字符实现左填充指定长度

SELECT LPAD('殷素素',2,'*') AS out_put;

8.rpad 用指定的字符实现右填充指定长度

SELECT RPAD('殷素素',12,'ab') AS out_put;

9.replace 替换

SELECT REPLACE('周芷若周芷若周芷若周芷若张无忌爱上了周芷若','周芷若','赵敏') AS out_put;

二、数学函数

1.round 四舍五入

SELECT ROUND(-1.55);
SELECT ROUND(1.567,2);

2.ceil 向上取整,返回>=该参数的最小整数

SELECT CEIL(-1.02);

3.floor 向下取整,返回<=该参数的最大整数

SELECT FLOOR(-9.99);

4.truncate 截断

SELECT TRUNCATE(1.69999,1);

5.mod取余

/*
mod(a,b) :  a-a/b*bmod(-10,-3):-10- (-10)/(-3)*(-3)=-1
*/
SELECT MOD(10,-3);
SELECT 10%3;

三、日期函数

1.now 返回当前系统日期+时间

SELECT NOW();

2.curdate 返回当前系统日期,不包含时间

SELECT CURDATE();

3.curtime 返回当前时间,不包含日期

SELECT CURTIME();

4.可以获取指定的部分,年、月、日、小时、分钟、秒

SELECT YEAR(NOW()) 年;
SELECT YEAR('1998-1-1') 年;SELECT  YEAR(hiredate) 年 FROM employees;SELECT MONTH(NOW()) 月;
SELECT MONTHNAME(NOW()) 月;

5.str_to_date 将字符通过指定的格式转换成日期

SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put;

6.查询入职日期为1992–4-3的员工信息

SELECT * FROM employees WHERE hiredate = '1992-4-3';SELECT * FROM employees WHERE hiredate = STR_TO_DATE('4-3 1992','%c-%d %Y');

7.date_format 将日期转换成字符

SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;

8.查询有奖金的员工名和入职日期(xx月/xx日 xx年)

SELECT last_name,DATE_FORMAT(hiredate,'%m月/%d日 %y年') 入职日期
FROM employees
WHERE commission_pct IS NOT NULL;

四、其他函数

SELECT VERSION();
SELECT DATABASE();
SELECT USER();

五、流程控制函数

1.if函数: if else 的效果

SELECT IF(10<5,'大','小');SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,嘻嘻') 备注
FROM employees;

2.case函数的使用一: switch case 的效果

java中
switch(变量或表达式){
case 常量1:语句1;break;

default:语句n;break;
}


mysql中
case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;

else 要显示的值n或语句n;
end

案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍
部门号=40,显示的工资为1.2倍
部门号=50,显示的工资为1.3倍
其他部门,显示的工资为原工资

SELECT salary 原始工资,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
FROM employees;

3.case 函数的使用二:类似于 多重if

java中:
if(条件1){
语句1;
}else if(条件2){
语句2;
}

else{
语句n;
}


mysql中:

case when 条件1 then 要显示的值1或语句1
when 条件2 then 要显示的值2或语句2

else要显示的值n或语句n
end

#案例:查询员工的工资的情况
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则,显示D级别

SELECT salary,
CASE
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END AS 工资级别
FROM employees;

4.强化练习:

1. 显示系统时间(注:日期+时间)

SELECT NOW();

2. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)

SELECT employee_id,last_name,salary,salary*1.2 "new salary"
FROM employees;

3. 将员工的姓名按首字母排序,并写出姓名的长度(length)

SELECT LENGTH(last_name) 长度,SUBSTR(last_name,1,1) 首字符,last_name
FROM employees
ORDER BY 首字符;

4. 做一个查询,产生下面的结果

<last_name> earns <salary> monthly but wants <salary*3>
Dream Salary
King earns 24000 monthly but wants 72000SELECT CONCAT(last_name,' earns ',salary,' monthly but wants ',salary*3) AS "Dream Salary"
FROM employees
WHERE salary=24000;

二、分组函数

 sum 求和max 最大值min 最小值avg 平均值count 计数特点:1、以上五个分组函数都忽略null值,除了count(*)2、sum和avg一般用于处理数值型max、min、count可以处理任何数据类型3、都可以搭配distinct使用,用于统计去重后的结果4、count的参数可以支持:字段、*、常量值,一般放1建议使用 count(*)

功能:用作统计使用,又称为聚合函数或统计函数或组函数

分类:
sum 求和、avg 平均值、max 最大值 、min 最小值 、count 计算个数

特点:
1、sum、avg一般用于处理数值型
max、min、count可以处理任何类型

2、以上分组函数都忽略null值

3、可以和distinct搭配实现去重的运算

4、count函数的单独介绍
一般使用count(*)用作统计行数

5、和分组函数一同查询的字段要求是group by后的字段

代码演示:

1、简单 的使用

SELECT SUM(salary) FROM employees;
SELECT AVG(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT MAX(salary) FROM employees;
SELECT COUNT(salary) FROM employees;SELECT SUM(salary) 和,AVG(salary) 平均,MAX(salary) 最高,MIN(salary) 最低,COUNT(salary) 个数
FROM employees;SELECT SUM(salary) 和,ROUND(AVG(salary),2) 平均,MAX(salary) 最高,MIN(salary) 最低,COUNT(salary) 个数
FROM employees;

2、参数支持哪些类型

SELECT SUM(last_name) ,AVG(last_name) FROM employees;
SELECT SUM(hiredate) ,AVG(hiredate) FROM employees;SELECT MAX(last_name),MIN(last_name) FROM employees;SELECT MAX(hiredate),MIN(hiredate) FROM employees;SELECT COUNT(commission_pct) FROM employees;
SELECT COUNT(last_name) FROM employees;

3、是否忽略null

SELECT SUM(commission_pct) ,AVG(commission_pct),SUM(commission_pct)/35,SUM(commission_pct)/107 FROM employees;SELECT MAX(commission_pct) ,MIN(commission_pct) FROM employees;SELECT COUNT(commission_pct) FROM employees;
SELECT commission_pct FROM employees;

4、和distinct搭配

SELECT SUM(DISTINCT salary),SUM(salary) FROM employees;SELECT COUNT(DISTINCT salary),COUNT(salary) FROM employees;

5、count函数的详细介绍

SELECT COUNT(salary) FROM employees;SELECT COUNT(*) FROM employees;SELECT COUNT(1) FROM employees;

效率:
MYISAM存储引擎下 ,COUNT()的效率高
INNODB存储引擎下,COUNT(
)和COUNT(1)的效率差不多,比COUNT(字段)要高一些

6、和分组函数一同查询的字段有限制

SELECT AVG(salary),employee_id  FROM employees;

5:分组查询

语法:
select 查询列表
from 表
【where 筛选条件】
group by 分组的字段
【order by 排序的字段】;特点:
1、可以按单个字段分组
2、和分组函数一同查询的字段必须是group by后出现的字段
3、分组筛选针对的表               位置         关键字
分组前筛选:   原始表          group by的前面         where
分组后筛选:   分组后的结果集      group by的后面         having4、分组可以按多个字段分组,字段之间用逗号隔开
5、可以搭配着排序
6、having后可以支持别名

问题1:分组函数做筛选能不能放在where后面
答:不能

问题2:where——group by——having
一般来讲,能用分组前筛选的,尽量使用分组前筛选,提高效率

引入:查询每个部门的员工个数

SELECT COUNT(*) FROM employees WHERE department_id=90;

1.简单的分组

案例1:查询每个工种的员工平均工资

SELECT AVG(salary),job_id
FROM employees
GROUP BY job_id;

案例2:查询每个位置的部门个数

SELECT COUNT(*),location_id
FROM departments
GROUP BY location_id;

2、可以实现分组前的筛选

案例1:查询邮箱中包含a字符的 每个部门的最高工资

SELECT MAX(salary),department_id
FROM employees
WHERE email LIKE '%a%'
GROUP BY department_id;

案例2:查询有奖金的每个领导手下员工的平均工资

SELECT AVG(salary),manager_id
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY manager_id;

3、分组后筛选

案例:查询哪个部门的员工个数>5

#①查询每个部门的员工个数
SELECT COUNT(*),department_id
FROM employees
GROUP BY department_id;#② 筛选刚才①结果SELECT COUNT(*),department_id
FROM employeesGROUP BY department_idHAVING COUNT(*)>5;

案例2:每个工种有奖金的员工的最高工资>12000的工种编号和最高工资

SELECT job_id,MAX(salary)
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id
HAVING MAX(salary)>12000;

案例3:领导编号>102的每个领导手下的最低工资大于5000的领导编号和最低工资

manager_id>102SELECT manager_id,MIN(salary)
FROM employees
GROUP BY manager_id
HAVING MIN(salary)>5000;

4.添加排序

案例:每个工种有奖金的员工的最高工资>6000的工种编号和最高工资,按最高工资升序

SELECT job_id,MAX(salary) m
FROM employees
WHERE commission_pct IS NOT NULL
GROUP BY job_id
HAVING m>6000
ORDER BY m ;

5.按多个字段分组

案例:查询每个工种每个部门的最低工资,并按最低工资降序

SELECT MIN(salary),job_id,department_id
FROM employees
GROUP BY department_id,job_id
ORDER BY MIN(salary) DESC;

6.强化练习

1.查询各job_id的员工工资的最大值,最小值,平均值,总和,并按job_id升序

#1.查询各job_id的员工工资的最大值,最小值,平均值,总和,并按job_id升序SELECT MAX(salary),MIN(salary),AVG(salary),SUM(salary),job_id
FROM employees
GROUP BY job_id
ORDER BY job_id;

2.查询员工最高工资和最低工资的差距(DIFFERENCE)

#2.查询员工最高工资和最低工资的差距(DIFFERENCE)
SELECT MAX(salary)-MIN(salary) DIFFRENCE
FROM employees;

3.查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内

#3.查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内
SELECT MIN(salary),manager_id
FROM employees
WHERE manager_id IS NOT NULL
GROUP BY manager_id
HAVING MIN(salary)>=6000;

4.查询所有部门的编号,员工数量和工资平均值,并按平均工资降序

#4.查询所有部门的编号,员工数量和工资平均值,并按平均工资降序
SELECT department_id,COUNT(*),AVG(salary) a
FROM employees
GROUP BY department_id
ORDER BY a DESC;
#5.选择具有各个job_id的员工人数
SELECT COUNT(*) 个数,job_id
FROM employees
GROUP BY job_id;

一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)相关推荐

  1. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  2. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. ESL3.5 学习笔记(主成分回归,偏最小二乘回归步骤详解)

    3.5 运用派生输入方向的方法 这是一篇有关<统计学习基础>,原书名The Elements of Statistical Learning的学习笔记,该书学习难度较高,有很棒的学者将其翻 ...

  4. python的messagebox的用法_Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解...

    本文实例讲述了Python GUI编程学习笔记之tkinter中messagebox.filedialog控件用法.分享给大家供大家参考,具体如下: 相关内容: messagebox 介绍 使用 fi ...

  5. Apollo 5.5 源码学习笔记(五) | transform模块 | Apollo中的坐标系统详解

    本系列博客旨在记录自己在学习百度无人驾驶开源框架Apollo的心得和体会,欢迎大家阅读和点赞,并提出宝贵意见,大家相互学习,如需转载,请注明出处,谢谢! 文章目录 1.前言 2.车辆传感器布局 3.传 ...

  6. Python学习入门基础教程(learning Python)--5.5 Python写操作详解

    在前文5.3节我们简单的学习了如何在Python里进行文件的写操作,所举例里写入的都是字符串数据,那我们现在想写入数值型数据可以直接写入么?我们先看看下边的程序是否能正常运行? wfile = ope ...

  7. Python学习入门基础教程(learning Python)--5.4 Python读文件详解

    问题1.多余的'\n' 在5.2节里我们基本掌握了Python下的文件读文件操作基本方法,但是也存在一些小小问题,细心的读者会发现下面这幅图的问题. 上图每次打印输出words时,先打印了一行从文件里 ...

  8. 前端学习笔记(11)之过渡属性(transition)详解

    有四个transition属性可以影响过渡效果 指定要执行过渡的属性 transition-property: 过渡效果持续的时间 transition-duration: 过渡的时序函数 trans ...

  9. 【Linux学习笔记】8. Linux查找命令:find和grep详解

    Linux查找命令 find查找文件 grep查找字符串 1. find命令 有多种使用方式: 根据文件名搜索 根据文件大小搜索 根据文件类型搜索 根据修改时间搜索 根据文件权限搜索 根据文件所有者搜 ...

  10. 研一寒假MySQL数据库学习笔记(三)

    研一寒假MySQL数据库学习笔记(三) 本节记录数据库高级查询部分的内容,整理于此便于之后回顾. 1. 上一节补充内容 1.1 案例练习 现在有一个员工表.部门表,两张表之间是一个部门多个员工,一个员 ...

最新文章

  1. android gridview 停止滚动
  2. Python 网络爬虫笔记2 -- Requests库实战
  3. Python 线程池 ThreadPoolExecutor(一) - Python零基础入门教程
  4. 计算机休眠能降低硬件损耗,Win7居然会出现“失眠”——Win7无法休眠问题解析...
  5. go利用反射实现任意类型切片删除元素
  6. c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...
  7. python脚本转二进制_使用此Python脚本在Base94中编码二进制文件
  8. Mysql通过一个限制条件,查出多条不同的记录
  9. 软件测试—软件测试基础知识—测试用例设计的方法判定表和因果图
  10. java实验常见错误_java 实验4 异常
  11. 决策树算法的应用python实现_决策树ID3和C4.5算法Python实现源码
  12. Linux系统压缩解压缩
  13. Python利用Reportlab生成PDF文档
  14. 计算机232接口接线,9针rs232串口接线图以及接线方法
  15. 矩阵操作(转置、相加、相乘)
  16. DTCC 2018大会归来
  17. LeetCode刷题日记:LCP 03.机器人大冒险
  18. CS229 机器学习课程复习材料-线性代数
  19. 《scikit-learn机器学习实战》简介
  20. ubuntu装pl2303USB转串口驱动(详细,亲测)

热门文章

  1. python中tkinter的使用-下
  2. python tfidf特征变换_机器学习的“万能模板” - 数据分析
  3. Windows API GetProcAddress 及demo code
  4. java ee 指南 pdf_Java EE 7权威指南:卷1(原书第5版) 中文pdf
  5. C++动态绑定及返回类型协变
  6. 使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法
  7. rbac 权限分配, 基于formset实现,批量增加
  8. (二)AS给button添加点击事件
  9. 【转】java单例模式的实现
  10. Mysql中常用的函数汇总