欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql新手入门随笔3

程序员文章站 2022-05-24 20:14:00
#求最高工资的员工信息 SELECT * FROM emp WHERE sal = (SELECT max(sal) FROM emp); #删除工资最低的员工信息 DELETE FROM emp WHERE sal = (SELECT e.s FROM (SELECT min(sal) s FRO ......

#求最高工资的员工信息

SELECT * FROM emp WHERE sal = (SELECT max(sal) FROM emp);

 

#删除工资最低的员工信息

DELETE FROM emp WHERE sal = (SELECT e.s FROM (SELECT min(sal) s FROM emp) e);

 

28、分组语句:GROUP BY colname1,colname2 ASC(默认升序)/DESC(降序)

例如:SELECT sal FROM emp GROUP BY sal DESC;

#查看每一个职位的最高工资

SELECT job,max(sal) FROM emp GROUP BY job;

 

29、分组条件语句:HAVING,是对分组之后的条件限制,且HAVING里可以使用聚合函数,HAVING后出现的列名(可以使用别名)必须要在SELECT语句中出现,但是WHERE语句不能使用别名

#查看最高工资超过10000的职位

SELECT job,max(sal) '最高工资' FROM emp GROUP BY job HAVING 最高工资 > 10000;

Day3

30、事务(transaction):可以一条SQL语句或一组SQL语句

事务的提交:commit;

INSERT,UPDATE,DELETE语句都需要提交事务(COMMIT;),事务中的SQL语句才会生效

 

查看当前数据库是否设置自动提交事务

SHOW variables LIKE 'autocommit';

关闭事务自动提交:SET autocommit = OFF;

 

事务ACID特性

Atomicity(原子性)Consistency(一致性)Isolation(隔离性)Durability(持久性)

 

31、排序语句:ORDER BY colname1,colname2 ASC(默认升序)/DESC(降序)

例如:SELECT * FROM student ORDER BY mark DESC;

 

32、限制语句:LIMIT

例如:SELECT * FROM student ORDER BY mark DESC LIMIT 5;

其中LIMIT 5:表示返回前5(包括第五条)数据

例如:SELECT * FROM student LIMIT 2,5;

其中LIMIT 2,5:表示从第3(包括第三行)开始,往后查询5条记录

 

33、去重语句:DISTINCT 必须放在SELECT语句后的第一个

例如:SELECT DISTINCT sname FROM student; 表示对sname列的值进行去重

例如:SELECT DISTINCT sname,mark FROM student; 表示对snamemark两列数据都相同时 才会去重

#统计不同姓名的学生人数

SELECT count(DISTINCT sname) FROM student;

 

34SELECT查询语句的语法结构和执行顺序

5SELECT 7DISTINCT 6)聚合函数

1FROM 表名

2WHERE 条件语句

3GROUP BY 分组语句

4HAVING 分组条件语句

8ORDER BY 排序语句

9LIMIT 限制语句

 

35、新增列

新增一列:ALTER TABLE tbname ADD COLUMN colname 类型 约束条件;

新增多列:ALTER TABLE tbname ADD COLUMN (colname1 类型 约束条件, colname1 类型 约

束条件,…); 默认加在列尾

新增列在首列:ALTER TABLE tbname ADD COLUMN colname 类型 约束条件 FIRST;

新增列在某列之后:ALTER TABLE tbname ADD COLUMN colname1 类型 约束条件 AFTER

colname2;

 

36、删除列

ALTER TABLE tbname DROP COLUMN colname;

 

37、修改列类型

ALTER TABLE tbname MODIFY COLUMN colname 新类型;

 

38、修改列名称

ALTER TABLE tbname CHANGE COLUMN 旧名称 新名称 原类型 原约束;

 

39、修改表名称

ALTER TABLE oldtbname1 RENAME newtbname2;

RENAME TABLE oldtbname1 TO newtbname2;