11-Mysql数据库----单表查询
本节重点:
单表查询
语法:

- 一、单表查询的语法
- SELECT 字段1,字段2... FROM 表名
- WHERE 条件
- GROUP BY field
- HAVING 筛选
- ORDER BY field
- LIMIT 限制条数
- 二、关键字的执行优先级(重点)
- 重点中的重点:关键字的执行优先级
- from
- where
- group by
- having
- select
- distinct
- order by
- limit
1.找到表:from
2.拿着where指定的约束条件,去文件/表中取出一条条记录
3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组
4.将分组的结果进行having过滤
5.执行select
6.去重
7.将结果按条件排序:order by
8.限制结果的显示条数

创建公司员工表,表的字段和数据类型

- company.employee
- 员工id id int
- 姓名 name varchar
- 性别 sex enum
- 年龄 age int
- 入职日期 hire_date date
- 岗位 post varchar
- 职位描述 post_comment varchar
- 薪水 salary double
- 办公室 office int
- 部门编号 depart_id int

- #创建表,设置字段的约束条件
- create table employee(
- id int primary key auto_increment,
- name varchar(20) not null,
- sex enum('male','female') not null default 'male', #大部分是男的
- age int(3) unsigned not null default 28,
- hire_date date not null,
- post varchar(50),
- post_comment varchar(100),
- salary double(15,2),
- office int,#一个部门一个屋
- depart_id int
- );
- # 查看表结构
- mysql> desc employee;
- +--------------+-----------------------+------+-----+---------+----------------+
- | Field | Type | Null | Key | Default | Extra |
- +--------------+-----------------------+------+-----+---------+----------------+
- | id | int(11) | NO | PRI | NULL | auto_increment |
- | emp_name | varchar(20) | NO | | NULL | |
- | sex | enum('male','female') | NO | | male | |
- | age | int(3) unsigned | NO | | 28 | |
- | hire_date | date | NO | | NULL | |
- | post | varchar(50) | YES | | NULL | |
- | post_comment | varchar(100) | YES | | NULL | |
- | salart | double(15,2) | YES | | NULL | |
- | office | int(11) | YES | | NULL | |
- | depart_id | int(11) | YES | | NULL | |
- +--------------+-----------------------+------+-----+---------+----------------+
- 10 rows in set (0.08 sec)
- #插入记录
- #三个部门:教学,销售,运营
- insert into employee(name ,sex,age,hire_date,post,salary,office,depart_id) values
- ('egon','male',18,'20170301','老男孩驻沙河办事处外交大使',7300.33,401,1), #以下是教学部
- ('alex','male',78,'20150302','teacher',1000000.31,401,1),
- ('wupeiqi','male',81,'20130305','teacher',8300,401,1),
- ('yuanhao','male',73,'20140701','teacher',3500,401,1),
- ('liwenzhou','male',28,'20121101','teacher',2100,401,1),
- ('jingliyang','female',18,'20110211','teacher',9000,401,1),
- ('jinxin','male',18,'19000301','teacher',30000,401,1),
- ('xiaomage','male',48,'20101111','teacher',10000,401,1),
- ('歪歪','female',48,'20150311','sale',3000.13,402,2),#以下是销售部门
- ('丫丫','female',38,'20101101','sale',2000.35,402,2),
- ('丁丁','female',18,'20110312','sale',1000.37,402,2),
- ('星星','female',18,'20160513','sale',3000.29,402,2),
- ('格格','female',28,'20170127','sale',4000.33,402,2),
- ('张野','male',28,'20160311','operation',10000.13,403,3), #以下是运营部门
- ('程咬金','male',18,'19970312','operation',20000,403,3),
- ('程咬银','female',18,'20130311','operation',19000,403,3),
- ('程咬铜','male',18,'20150411','operation',18000,403,3),
- ('程咬铁','female',18,'20140512','operation',17000,403,3)
- ;
创建员工表,并插入记录
(1)where 约束

- where子句中可以使用
- 1.比较运算符:>、<、>=、<=、<>、!=
- 2.between 80 and 100 :值在80到100之间
- 3.in(80,90,100)值是10或20或30
- 4.like 'xiaomagepattern': pattern可以是%或者_。%小时任意多字符,_表示一个字符
- 5.逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not

验证结果:
- #1 :单条件查询
- mysql> select id,emp_name from employee where id > 5;
- +----+------------+
- | id | emp_name |
- +----+------------+
- | 6 | jingliyang |
- | 7 | jinxin |
- | 8 | xiaomage |
- | 9 | 歪歪 |
- | 10 | 丫丫 |
- | 11 | 丁丁 |
- | 12 | 星星 |
- | 13 | 格格 |
- | 14 | 张野 |
- | 15 | 程咬金 |
- | 16 | 程咬银 |
- | 17 | 程咬铜 |
- | 18 | 程咬铁 |
- #2 多条件查询
- mysql> select emp_name from employee where post='teacher' and salary>10000;
- +----------+
- | emp_name |
- +----------+
- | alex |
- | jinxin |
- +----------+
- #3.关键字BETWEEN AND
- SELECT name,salary FROM employee
- WHERE salary BETWEEN 10000 AND 20000;
- SELECT name,salary FROM employee
- WHERE salary NOT BETWEEN 10000 AND 20000;
- #注意''是空字符串,不是null
- SELECT name,post_comment FROM employee WHERE post_comment='';
- ps:
- 执行
- update employee set post_comment='' where id=2;
- 再用上条查看,就会有结果了
- #5:关键字IN集合查询
- mysql> SELECT name,salary FROM employee WHERE salary=3000 OR salary=3500 OR salary=4000 OR salary=9000 ;
- +------------+---------+
- | name | salary |
- +------------+---------+
- | yuanhao | 3500.00 |
- | jingliyang | 9000.00 |
- +------------+---------+
- 2 rows in set (0.00 sec)
- mysql> SELECT name,salary FROM employee WHERE salary IN (3000,3500,4000,9000) ;
- +------------+---------+
- | name | salary |
- +------------+---------+
- | yuanhao | 3500.00 |
- | jingliyang | 9000.00 |
- +------------+---------+
- mysql> SELECT name,salary FROM employee WHERE salary NOT IN (3000,3500,4000,9000) ;
- +-----------+------------+
- | name | salary |
- +-----------+------------+
- | egon | 7300.33 |
- | alex | 1000000.31 |
- | wupeiqi | 8300.00 |
- | liwenzhou | 2100.00 |
- | jinxin | 30000.00 |
- | xiaomage | 10000.00 |
- | 歪歪 | 3000.13 |
- | 丫丫 | 2000.35 |
- | 丁丁 | 1000.37 |
- | 星星 | 3000.29 |
- | 格格 | 4000.33 |
- | 张野 | 10000.13 |
- | 程咬金 | 20000.00 |
- | 程咬银 | 19000.00 |
- | 程咬铜 | 18000.00 |
- | 程咬铁 | 17000.00 |
- +-----------+------------+
- 16 rows in set (0.00 sec)
- #6:关键字LIKE模糊查询
- 通配符’%’
- mysql> SELECT * FROM employee WHERE name LIKE 'jin%';
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 |
- | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 |
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- 2 rows in set (0.00 sec)
- 通配符'_'
- mysql> SELECT age FROM employee WHERE name LIKE 'ale_';
- +-----+
- | age |
- +-----+
- | 78 |
- +-----+
- 1 row in set (0.00 sec)
- 练习:
- 1. 查看岗位是teacher的员工姓名、年龄
- 2. 查看岗位是teacher且年龄大于30岁的员工姓名、年龄
- 3. 查看岗位是teacher且薪资在9000-1000范围内的员工姓名、年龄、薪资
- 4. 查看岗位描述不为NULL的员工信息
- 5. 查看岗位是teacher且薪资是10000或9000或30000的员工姓名、年龄、薪资
- 6. 查看岗位是teacher且薪资不是10000或9000或30000的员工姓名、年龄、薪资
- 7. 查看岗位是teacher且名字是jin开头的员工姓名、年薪
- #对应的sql语句
- select name,age from employee where post = 'teacher';
- select name,age from employee where post='teacher' and age > 30;
- select name,age,salary from employee where post='teacher' and salary between 9000 and 10000;
- select * from employee where post_comment is not null;
- select name,age,salary from employee where post='teacher' and salary in (10000,9000,30000);
- select name,age,salary from employee where post='teacher' and salary not in (10000,9000,30000);
- select name,salary*12 from employee where post='teacher' and name like 'jin%';
where约束
(2)group by 分组查询

- #1、首先明确一点:分组发生在where之后,即分组是基于where之后得到的记录而进行的
- #2、分组指的是:将所有记录按照某个相同字段进行归类,比如针对员工信息表的职位分组,或者按照性别进行分组等
- #3、为何要分组呢?
- 取每个部门的最高工资
- 取每个部门的员工数
- 取男人数和女人数
- 小窍门:‘每’这个字后面的字段,就是我们分组的依据
- #4、大前提:
- 可以按照任意字段分组,但是分组完毕后,比如group by post,只能查看post字段,如果想查看组内信息,需要借助于聚合函数

当执行以下sql语句的时候,是以post字段查询了组中的第一条数据,没有任何意义,因为我们现在想查出当前组的多条记录。

- mysql> select * from employee group by post;
- +----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | 14 | 张野 | male | 28 | 2016-03-11 | operation | NULL | 10000.13 | 403 | 3 |
- | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 |
- | 2 | alex | male | 78 | 2015-03-02 | teacher | | 1000000.31 | 401 | 1 |
- | 1 | egon | male | 18 | 2017-03-01 | 老男孩驻沙河办事处外交大使 | NULL | 7300.33 | 401 | 1 |
- +----+--------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- 4 rows in set (0.00 sec)
- #由于没有设置ONLY_FULL_GROUP_BY,于是也可以有结果,默认都是组内的第一条记录,但其实这是没有意义的
- 如果想分组,则必须要设置全局的sql的模式为ONLY_FULL_GROUP_BY
- mysql> set global sql_mode='ONLY_FULL_GROUP_BY';
- Query OK, 0 rows affected (0.00 sec)
- #查看MySQL 5.7默认的sql_mode如下:
- mysql> select @@global.sql_mode;
- +--------------------+
- | @@global.sql_mode |
- +--------------------+
- | ONLY_FULL_GROUP_BY |
- +--------------------+
- 1 row in set (0.00 sec)
- mysql> exit;#设置成功后,一定要退出,然后重新登录方可生效
- Bye

继续验证通过group by分组之后,只能查看当前字段,如果想查看组内信息,需要借助于聚合函数

- mysql> select * from emp group by post;# 报错
- ERROR 1054 (42S22): Unknown column 'post' in 'group statement'
- mysql> select post from employee group by post;
- +-----------------------------------------+
- | post |
- +-----------------------------------------+
- | operation |
- | sale |
- | teacher |
- | 老男孩驻沙河办事处外交大使 |
- +-----------------------------------------+
- 4 rows in set (0.00 sec)

(3)聚合函数

- max()求最大值
- min()求最小值
- avg()求平均值
- sum() 求和
- count() 求总个数
- #强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组
- # 每个部门有多少个员工
- select post,count(id) from employee group by post;
- # 每个部门的最高薪水
- select post,max(salary) from employee group by post;
- # 每个部门的最低薪水
- select post,min(salary) from employee group by post;
- # 每个部门的平均薪水
- select post,avg(salary) from employee group by post;
- # 每个部门的所有薪水
- select post,sum(age) from employee group by post;

- 1. 查询岗位名以及岗位包含的所有员工名字
- 2. 查询岗位名以及各岗位内包含的员工个数
- 3. 查询公司内男员工和女员工的个数
- 4. 查询岗位名以及各岗位的平均薪资
- 5. 查询岗位名以及各岗位的最高薪资
- 6. 查询岗位名以及各岗位的最低薪资
- 7. 查询男员工与男员工的平均薪资,女员工与女员工的平均薪资
小练习
(4)HAVING过滤

- HAVING与WHERE不一样的地方在于
- #!!!执行优先级从高到低:where > group by > having
- #1. Where 发生在分组group by之前,因而Where中可以有任意字段,但是绝对不能使用聚合函数。
- #2. Having发生在分组group by之后,因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数

验证:
- 验证:
- mysql> select * from employee where salary>1000000;
- +----+------+------+-----+------------+---------+--------------+------------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+------+------+-----+------------+---------+--------------+------------+--------+-----------+
- | 2 | alex | male | 78 | 2015-03-02 | teacher | | 1000000.31 | 401 | 1 |
- +----+------+------+-----+------------+---------+--------------+------------+--------+-----------+
- 1 row in set (0.00 sec)
- mysql> select * from employee having salary>1000000;
- ERROR 1463 (42000): Non-grouping field 'salary' is used in HAVING clause
- # 必须使用group by才能使用group_concat()函数,将所有的name值连接
- mysql> select post,group_concat(name) from emp group by post having salary > 10000; ##错误,分组后无法直接取到salary字段
- ERROR 1054 (42S22): Unknown column 'post' in 'field list'
小练习:
- 1. 查询各岗位内包含的员工个数小于2的岗位名、岗位内包含员工名字、个数
- 2. 查询各岗位平均薪资大于10000的岗位名、平均工资
- 3. 查询各岗位平均薪资大于10000且小于20000的岗位名、平均工资
小练习答案:
- # 题1:
- mysql> select post,group_concat(name),count(id) from employee group by post;
- +-----------------------------------------+-----------------------------------------------------------+-----------+
- | post | group_concat(name) | count(id) |
- +-----------------------------------------+-----------------------------------------------------------+-----------+
- | operation | 程咬铁,程咬铜,程咬银,程咬金,张野 | 5 |
- | sale | 格格,星星,丁丁,丫丫,歪歪 | 5 |
- | teacher | xiaomage,jinxin,jingliyang,liwenzhou,yuanhao,wupeiqi,alex | 7 |
- | 老男孩驻沙河办事处外交大使 | egon | 1 |
- +-----------------------------------------+-----------------------------------------------------------+-----------+
- 4 rows in set (0.00 sec)
- mysql> select post,group_concat(name),count(id) from employee group by post having count(id)<2;
- +-----------------------------------------+--------------------+-----------+
- | post | group_concat(name) | count(id) |
- +-----------------------------------------+--------------------+-----------+
- | 老男孩驻沙河办事处外交大使 | egon | 1 |
- +-----------------------------------------+--------------------+-----------+
- 1 row in set (0.00 sec)
- #题2:
- mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000;
- +-----------+---------------+
- | post | avg(salary) |
- +-----------+---------------+
- | operation | 16800.026000 |
- | teacher | 151842.901429 |
- +-----------+---------------+
- 2 rows in set (0.00 sec)
- #题3:
- mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000 and avg(salary) <20000;
- +-----------+--------------+
- | post | avg(salary) |
- +-----------+--------------+
- | operation | 16800.026000 |
- +-----------+--------------+
- 1 row in set (0.00 sec)
(5)order by 查询排序

- 按单列排序
- SELECT * FROM employee ORDER BY age;
- SELECT * FROM employee ORDER BY age ASC;
- SELECT * FROM employee ORDER BY age DESC;
- 按多列排序:先按照age升序排序,如果年纪相同,则按照id降序
- SELECT * from employee
- ORDER BY age ASC,
- id DESC;

- 验证多列排序:
- SELECT * from employee ORDER BY age ASC,id DESC;
- mysql> SELECT * from employee ORDER BY age ASC,id DESC;
- +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | 18 | 程咬铁 | female | 18 | 2014-05-12 | operation | NULL | 17000.00 | 403 | 3 |
- | 17 | 程咬铜 | male | 18 | 2015-04-11 | operation | NULL | 18000.00 | 403 | 3 |
- | 16 | 程咬银 | female | 18 | 2013-03-11 | operation | NULL | 19000.00 | 403 | 3 |
- | 15 | 程咬金 | male | 18 | 1997-03-12 | operation | NULL | 20000.00 | 403 | 3 |
- | 12 | 星星 | female | 18 | 2016-05-13 | sale | NULL | 3000.29 | 402 | 2 |
- | 11 | 丁丁 | female | 18 | 2011-03-12 | sale | NULL | 1000.37 | 402 | 2 |
- | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 |
- | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 |
- | 1 | egon | male | 18 | 2017-03-01 | 老男孩驻沙河办事处外交大使 | NULL | 7300.33 | 401 | 1 |
- | 14 | 张野 | male | 28 | 2016-03-11 | operation | NULL | 10000.13 | 403 | 3 |
- | 13 | 格格 | female | 28 | 2017-01-27 | sale | NULL | 4000.33 | 402 | 2 |
- | 5 | liwenzhou | male | 28 | 2012-11-01 | teacher | NULL | 2100.00 | 401 | 1 |
- | 10 | 丫丫 | female | 38 | 2010-11-01 | sale | NULL | 2000.35 | 402 | 2 |
- | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 |
- | 8 | xiaomage | male | 48 | 2010-11-11 | teacher | NULL | 10000.00 | 401 | 1 |
- | 4 | yuanhao | male | 73 | 2014-07-01 | teacher | NULL | 3500.00 | 401 | 1 |
- | 2 | alex | male | 78 | 2015-03-02 | teacher | | 1000000.31 | 401 | 1 |
- | 3 | wupeiqi | male | 81 | 2013-03-05 | teacher | NULL | 8300.00 | 401 | 1 |
- +----+------------+--------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- 18 rows in set (0.01 sec)
- mysql>
验证多列排序
小练习:
- 1. 查询所有员工信息,先按照age升序排序,如果age相同则按照hire_date降序排序
- 2. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资升序排列
- 3. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资降序排列
- # 题目1
- select * from employee ORDER BY age asc,hire_date desc;
- # 题目2
- mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000 order by avg(salary) asc;
- +-----------+---------------+
- | post | avg(salary) |
- +-----------+---------------+
- | operation | 16800.026000 |
- | teacher | 151842.901429 |
- +-----------+---------------+
- 2 rows in set (0.00 sec)
- # 题目3
- mysql> select post,avg(salary) from employee group by post having avg(salary) > 10000 order by avg(salary) desc;
- +-----------+---------------+
- | post | avg(salary) |
- +-----------+---------------+
- | teacher | 151842.901429 |
- | operation | 16800.026000 |
- +-----------+---------------+
- 2 rows in set (0.00 sec)
- mysql>
小练习答案
(5)limit 限制查询的记录数:

- 示例:
- SELECT * FROM employee ORDER BY salary DESC
- LIMIT 3; #默认初始位置为0
- SELECT * FROM employee ORDER BY salary DESC
- LIMIT 0,5; #从第0开始,即先查询出第一条,然后包含这一条在内往后查5条
- SELECT * FROM employee ORDER BY salary DESC
- LIMIT 5,5; #从第5开始,即先查询出第6条,然后包含这一条在内往后查5条

小练习:
分页显示,每页5条
- # 第1页数据
- mysql> select * from employee limit 0,5;
- +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- | 1 | egon | male | 18 | 2017-03-01 | 老男孩驻沙河办事处外交大使 | NULL | 7300.33 | 401 | 1 |
- | 2 | alex | male | 78 | 2015-03-02 | teacher | | 1000000.31 | 401 | 1 |
- | 3 | wupeiqi | male | 81 | 2013-03-05 | teacher | NULL | 8300.00 | 401 | 1 |
- | 4 | yuanhao | male | 73 | 2014-07-01 | teacher | NULL | 3500.00 | 401 | 1 |
- | 5 | liwenzhou | male | 28 | 2012-11-01 | teacher | NULL | 2100.00 | 401 | 1 |
- +----+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+
- 5 rows in set (0.00 sec)
- # 第2页数据
- mysql> select * from employee limit 5,5;
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- | 6 | jingliyang | female | 18 | 2011-02-11 | teacher | NULL | 9000.00 | 401 | 1 |
- | 7 | jinxin | male | 18 | 1900-03-01 | teacher | NULL | 30000.00 | 401 | 1 |
- | 8 | xiaomage | male | 48 | 2010-11-11 | teacher | NULL | 10000.00 | 401 | 1 |
- | 9 | 歪歪 | female | 48 | 2015-03-11 | sale | NULL | 3000.13 | 402 | 2 |
- | 10 | 丫丫 | female | 38 | 2010-11-01 | sale | NULL | 2000.35 | 402 | 2 |
- +----+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
- 5 rows in set (0.00 sec)
- # 第3页数据
- mysql> select * from employee limit 10,5;
- +----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
- | id | name | sex | age | hire_date | post | post_comment | salary | office | depart_id |
- +----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
- | 11 | 丁丁 | female | 18 | 2011-03-12 | sale | NULL | 1000.37 | 402 | 2 |
- | 12 | 星星 | female | 18 | 2016-05-13 | sale | NULL | 3000.29 | 402 | 2 |
- | 13 | 格格 | female | 28 | 2017-01-27 | sale | NULL | 4000.33 | 402 | 2 |
- | 14 | 张野 | male | 28 | 2016-03-11 | operation | NULL | 10000.13 | 403 | 3 |
- | 15 | 程咬金 | male | 18 | 1997-03-12 | operation | NULL | 20000.00 | 403 | 3 |
- +----+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
- 5 rows in set (0.00 sec)
小练习答案
11-Mysql数据库----单表查询的更多相关文章
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- Mysql数据库单表查询
1.单表查询语法 #查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,然后打开文件,按照你的查询条件来找出你需要的数据.下面是完整的一个单表查询的语法 select * from,这个sel ...
- MySQL数据库----单表查询
先创建表 #创建表 create table employee( id int not null unique auto_increment, name varchar(20) not null, s ...
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- day 38 MySQL之单表查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER ...
- mysql数据库单表只有一个主键自增id字段,ibatis实现id自增
mysql数据库单表只有一个主键自增id字段,ibatis实现id自增 <insert id="autoid"> insert into user_id ...
- Vc数据库编程基础MySql数据库的表查询功能
Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...
- mysql数据库单表增删改查命令
数据库DB-database-mysql 课程安排 第一天: 1.数据库定义以及设计 2.mysql服务端的安装 3.mysql-dos操作 库的操作 表的操作 4.mysql客户端navicate工 ...
- MySQL之单表查询、多表查询
一.单表查询: 单个表的查询方法及语法顺序需要通过实际例子来熟悉 先将表数据创建下: mysql> create database singe_t1; # 建个数据库singe_t1 Query ...
- mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)
单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...
随机推荐
- SQL Error: 1064, SQLState: 42000 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
-- ::, WARN [org.hibernate.util.JDBCExceptionReporter:] - SQL Error: , SQLState: -- ::, ERROR [org.h ...
- 我的wmware
1.vmware 网络连接方式 NAT 模式: 虚拟机的IP 是由NAT分配的,电脑环境无论如何变化,都不会影响虚拟机 好处:在家.学校.公司,连接虚拟机都可以使用相同的ip地址 桥接模式: 只要更换 ...
- vue2.0+node.js+mongodb全栈打造商城
Github地址:https://github.com/ccyinghua/vue-node-mongodb-project 一.构建项目所用: vue init webpack vue-node-m ...
- JDBCUtils工具类(转)
JdbcUtils.java import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource ...
- DOM查询
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- yum仓库客户端搭建和NTP时间同步客户端配置
一.yum仓库客户端搭建 yum源仓库搭建分为服务器端和客户端. 服务端主要提供软件(rpm包)和yumlist.也就是提供yum源的位置.一般是通过http或者ftp提供位置. 客户端的配置:yum ...
- Mina 组件介绍之 IoBuffer
在Java NIO 中,ByteBuffer通常作为通信中传递消息的载体.而在Mina中,采用了IoBuffer代替ByteBuffer.Mina给出了不用ByteBuffer的两个主要理由: 1. ...
- thinkphp5阿里大于短信接口
function autumn_sendsms($tel,$stype){ $pd_go=true; if($tel==''){ $msg='手机号不能为空'; $pd_go=false; } if( ...
- mac 安装requests
首先mac上已经安装了python,我的是python2x,我自己安装了python3,python3安装requests,控制台,输入,pip3 install requests 下面就已经安装完成 ...
- Scrapy核心组件
• 引擎(Scrapy)用来处理整个系统的数据流处理, 触发事务(框架核心) • 调度器(Scheduler)用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个UR ...