MySQL指令(更新版)
MySQL:
查:
#查看表中所有数据
select * from 表名;
#查看部分字,查看部分列
select sname,major from 表名 ;
#查看所有列,所有行
select * from 表名 where major ='JavaEE';
#查看部分行,部分列
select sname,major from 表名 where major ='JavaEE';
**
select 语句,可以包含五种句子:
依次是where、roup by、aving、rder by、imit 必须按照这个顺序
****
别名AS:
说明:
1、可以给字段取别名、可以给表明起名
2、AS可以省略
3、如果给字段取别名,如果别名中包含特殊符号,例如(空格
)等,建议给别名加上双引导或单引导
4、如果是给表名取别名,那么不能加双引导或单引导,也不能有特殊符号“空格”
等
5、建议别名简短,见名知意
#一条起别名
update 表名 as 别名;
#
update 表名 as 别名,表名 as 别名 set 别名.dname='要修改的数据';
#查询姓名以及手机号
select name as '姓名',tel as '手机号’ from 表名;
去重:
distinct
#查询某个数据(并去重复的)
select distinct 要查询的数据 from 表名;
#统计某个数据中员工有几个部门
select count(distinct 数据名)from 表名;
着重号` `:
说明:
1、可以给字段或表名加着重号
2、如果字段名或表名与关键字一样更要加着重号
MySQL运算符:
1、
算术运算符:+ 、 * 、- 、/(div) 、%(mod)
例如:
#查询所有数据的id 为偶数的数据(%(mod))
select * from 表名 where id % 2=0;
select * from 表名 where 数据名 mod 2=0;
2、
比较运算符:=,>,<,>=,<=,!=(不等于<>),<=>(安全等于)
SELECT eid,basic_salary FROM t_salary WHERE basic_salary != 10000;
SELECT eid,basic_salary FROM t_salary WHERE basic_salary <> 10000;
SELECT eid,basic_salary FROM t_salary WHERE basic_salary = 10000;
SELECT eid,commission_pct FROM t_salary WHERE commission_pct = 0.40;
SELECT eid,commission_pct FROM t_salary WHERE commission_pct <=> 0.40;
SELECT eid,commission_pct FROM t_salary WHERE commission_pct IS NULL;
SELECT eid,commission_pct FROM t_salary WHERE commission_pct <=> NULL;
SELECT eid,commission_pct FROM t_salary WHERE commission_pct IS NOT NULL;
SELECT eid,commission_pct FROM t_salary WHERE NOT commission_pct <=> NULL;
SELECT * FROM t_employee WHERE gender='男' AND birthday<'1990-01-01';
SELECT * FROM t_employee WHERE job_id =1 OR job_id = 2;
SELECT eid,basic_salary FROM t_salary WHERE basic_salary >=9000 AND basic_salary<=12000;
SELECT eid,basic_salary FROM t_salary WHERE NOT (basic_salary >=9000 AND basic_salary<=12000);
SELECT eid,basic_salary FROM t_salary WHERE basic_salary <9000 OR basic_salary>12000;
SELECT eid,basic_salary FROM t_salary WHERE basic_salary BETWEEN 9000 AND 12000;
SELECT eid,basic_salary FROM t_salary WHERE eid IN (1,3,5);
SELECT * FROM t_employee WHERE ename LIKE '%冰%';
SELECT * FROM t_employee WHERE ename LIKE '李%';
SELECT * FROM t_employee WHERE ename LIKE '李_';
SELECT * FROM t_employee WHERE ename LIKE '李冰冰';
mysql> SELECT * FROM tbl_name WHERE FIND_IN_SET('value',set_col)>0;
mysql> SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
SELECT eid,commission_pct FROM t_salary WHERE commission_pct IS NULL;
#所有运算符遇到null都是null
#函数:IFNULL(表达式,用什么值代替)
SELECT eid,basic_salary + performance_salary *(1+ commission_pct) FROM t_salary;#错误的
SELECT eid,basic_salary + performance_salary *(1+ IFNULL(commission_pct,0)) FROM t_salary;
#查询奖金百分比为空的员工编号
SELECT eid,commission_pct FROM t_salary WHERE commission_pct <=> NULL;
#查询员工姓名和所在部门名称
SELECT ename,dname FROM t_employee,t_department;
SELECT ename,dname FROM t_employee INNER JOIN t_department;
SELECT ename,dname FROM t_employee CROSS JOIN t_department;
SELECT ename,dname FROM t_employee JOIN t_department;
#查询员工姓名与基本工资
#查询员工姓名,基本工资,部门名称
SELECT ename,basic_salary,dname FROM t_employee,t_department,t_salary
WHERE t_employee.dept_id=t_department.did AND t_employee.eid=t_salary.eid;

浙公网安备 33010602011771号