MySql基础查询学习笔记 _常州电脑培训_常州网络营销培训_常州软件开发培训_常州东方博宜教育
扫一扫,加我们为好友有惊喜哦~
-->

核心课程
开班动态
专题服务

您当前所在位置:首页 > 中心动态 >>
MySql基础查询学习笔记

1、编码
ascii:对键盘键位进行编码
gbk、gb2312:中文编码
utf-8:网页上的国际码
utf8:数据库中国际编码

mysql的图形界面工具:navicate for mysql、mysql administrator!


字段:列
记录:行

员工表:emp
员工编号:empno
员工姓名:ename
员工薪水:sal
员工奖金:comm
部门编号:deptno
上级编号:mgr
入职时间:hiredate
岗位:job

常见的mysql的类型:
整数:integer
小数:double
字符串:varchar
时间:date、datetime

2、数据库的备份与还原
方式一:
备份:数据库右击->转储sql文件
还原:新建数据库->数据库右击->执行sql文件

方式二:
备份:新建备份
还原:新建数据库->还原备份

方式三:
导成excel:选择表->导出向导->导出excel(或其它格式)


3、sql:structure query language结构化的查询语言
A、基础查询:查询部分字段或部分数据
例子一:查询数据库中的表  select * from 数据库.表;
-- 查询emp表的所有列
select * from emp;

-- 查询company数据库中的emp表
select * from company.emp;

-- 如果不在当前数据库中就要加数据库的名称
select * from mysql.user;

-- 切换数据库(运行已选择的ctrl + shift + r)
use mysql;
select * from user;

use company;
select * from emp;

例子二:查询部分字段,并起别名(使用as关键字,as可以省略)
use company;
select * from emp;

-- 查询员工编号、姓名、薪水
select empno,ename,sal from emp;

-- 查询编号、姓名、薪水,为这三列起别名
select empno as '编号',ename '姓名',sal '薪水' from emp;


例子三:查询部分记录(筛选)
-- 查询薪水在4000以上的员工信息
select * from emp where sal >= 4000;

-- 查询薪水在4000~5000之间的员工的编号、姓名、薪水
select empno,ename,sal from emp where sal >= 4000 and sal <= 5000;

-- 查询在1号和2号部门工作的员工中,在12年之后入职的员工信息(and的优先级高于or)
select * from emp where (deptno=1 or deptno=2) and hiredate >= '2012-1-1';

-- 查询12~14年入职的员工中在财务和开发岗位工作的员工信息

-- 查询在1、2、3三个部门中工作的,薪水在4000以上,且不是CEO的员工信息


例子四:在查询中计算,空值判断:用is、is not来判断,null不能参加运算
-- 查询员工的编号、姓名、薪水、年薪
select empno,ename,sal,sal * 12 'yearsal' from emp;
select *,sal * 0.8 from emp;

-- 查询员工编号、姓名、薪水、奖金、总薪水(注意:null不能参加运算,任何变量和null运算 = null)
select empno,ename,sal,comm,sal + comm from emp;

-- 查询没有薪水的员工
select * from emp where sal is null;

-- 查询有奖金的员工
select * from emp where comm is not null;

例子五:in:表示某个集合内的元素,between and:在两个值之间,相当于>= and <=的作用

-- 查询开发、人事、财务岗位的员工信息
select * from emp where job='开发' or job='人事' or job='财务';

-- in:表示在某个集合内
select * from emp where job in('开发','人事','财务');

-- between and:表示某个字段 >= 值 and 字段 <= 值
-- 查询薪水在3000~5000之间的员工信息
select * from emp where sal >= 3000 and sal <= 5000;
select * from emp where sal between 3000 and 5000;

-- 查询在1、2、3三个部门中工作的,薪水在3500~5000,且不是CEO的员工信息
select * from emp where deptno in(1,2,3) and sal between 3500 and 5000 and job != 'CEO';

例子六:模糊查询:like    % _
-- 查询公司中姓李的员工
SELECT * from emp;
-- %表达0个或多个字符
select * from emp where ename like '李%';

-- 查询公司中姓名为2个字,姓李的员工
-- _代表1个字符
select * from emp where ename like '李_';

-- 查询名字中第二个字是大的员工
select * from emp where ename like '_大%';

-- 查询名字中含有a字符的员工
select * from emp where ename like '%a%';


例子七:排序
-- 查询员工信息,按薪水降序
select * from emp order by sal desc;

-- 查询员工信息,按入职时间升序
select * from emp order by hiredate asc; -- asc可以省略

-- 查询员工信息,按薪水降序,薪水相同按入职时间升序
select * from emp order by sal desc,hiredate asc;

-- 查询1、2、3号部门中12~15年之间入职的员工中,薪水在3000~5000之间的员工信息,按薪水降序,薪水相同按编号升序
select * from emp where deptno in(1,2,3) and sal between 3000 and 5000 and hiredate between '2012-1-1' and '2015-12-31' order by sal desc,empno asc;

基本sql结构:
select *|字段 as '别名',字段 '别名',字段... from 表 where 条件 and | or order by 字段 asc|desc,字段 asc|desc...;


精彩文章推荐
[淘宝培训]淘宝大学主题课程[2015-12-29]
上海卫视报道:淘宝店长成为热门行业[2014-1-9]
常州招聘-制图员【机械设计】[2014-1-8]
【常州电脑培训】存储过程高级应用[2012-6-7]
常州SEO培训----网站编辑应如何做好SEO[2012-4-14]
常州网络工程——网络安全机制[2011-12-31]
常州计算机培训-密码破解实用技巧,让“我的电脑”高高在上[2011-11-4]
常州Flash培训-计算机日常保养的三大误区[2011-10-14]


返回顶部