mysql操作(未完)

AS别名(DML操作)

(1)可以给字段、表名取别名

(2)AS可以省略

(3)给字段取别名,如果别命中包含特殊符号,例如“空格”等,建议给别名加上双引号或单引号

(4)给表名取别名,不能加双引号或单引号,也不能有特殊符号

(5)建议别名简短,见名知意

 

UPDATE t_department AS d,t_employee AS e
SET d.manager_id =e.eid
WHERE d.dname = '教学部'
AND d.did = e.`dept_id`
AND e.ename = '孙红雷';

#查询员工姓名以及手机号码
SELECT ename AS '员工姓名',tel AS '手机号码'
FROM t_employee;

去重distinct(DML操作)

#查询员工表的部门编号
SELECT DISTINCT dept_id FROM t_employee;

#统计员工表中员工有几个部门
SELECT COUNT(DISTINCT dept_id) FROM t_employee;

着重号(DML操作)

例如:select name from t_stu;

可以给字段或表名加着重号

如果字段名或表名与关键字一样更要加着重号了

mysql的运算符

1)算术运算符:+ - * /(除也可以写成div,div取整) %(取模可以写成mod)

(2)比较运算符:= > >= < <= !=(不等于还可以写成<>) <=>(安全等于)

(3)逻辑运算符:&&(逻辑与也可以写成and) ||(逻辑或也可以写成or) not(逻辑非) xor(逻辑异或)

(4)范围:表达式 between ... and ... (也可以写成 表达式>=... and 表达式 <=...)

表达式 not between ... and ...(也可以写成 表达式<... || 表达式 >...)

(5)集合:in (值,值,值...) not in(值,值,值...)

(6)模糊查询:LIKE NOT LIKE,通配符:%表示0-n个字符,_下划线代表一个字符

(7)位运算符:&(按位与) |(按位或)^(按位异或)~(按位取反)>>(右移)<<(左移)

(8)NULL值判断,is null 或 is not null,如果使用null=null,null<>null,null=0,null<>0,null=false等都不对

不过xxx is null 可以使用xxx <=> null ,xxx is not null 可以写成 not xxx <=> null

结论:所有的运算符遇到NULL结果都是NULL,除了<=>

范围和集合

#between ... and ... 和 not between ... and ...
#in(集合) 和 not in(...)

#查询基本薪资是在9000-12000之间的员工编号和基本薪资
SELECT eid,basic_salary FROM t_salary WHERE basic_salary BETWEEN 9000 AND 12000;

#查询eid是1,3,5的基本工资
SELECT eid,basic_salary FROM t_salary WHERE eid IN (1,3,5);

模糊查询

#like 和 通配符 一起使用
#like _ 匹配单个字符
#like % 匹配任意个字符

#查询名字中有'冰'字的员工信息
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 '李冰冰';

关联查询,联合查询

关联查询:

  内连接:inneg join、cross join

  外连接:左外连接(left outer join)、右外连接(right outer join)、全外连接(full outer join)

  自连接:当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

说明:

(1)连接 n个表,至少需要 n-1个连接条件。 例如:连接三个表,至少需要两个连接条件。

(2)当两个关联查询的表如果有字段名字相同,并且要查询中涉及该关联字段,那么需要使用表名前缀加以区分

(3)当如果表名比较长时,可以给表取别名,简化SQL语句

 

posted @ 2020-10-22 22:46  15737615535  阅读(66)  评论(0)    收藏  举报