MySQL(五)
外连接:
左连接
1、查询出左边所有的数据 2、再一的基础上查询出符合要求的右边的表数据
右连接
里面的查询结果是外面查询的条件
⼦查询也是select语句的⼀种形式,⽐如下来查询出从1986-06-26开始担任Senior Engineer员⼯的姓名,那么就需 要使⽤⼦查询,涉及到的SQL为:
大数据业务:
列的约束
AUTO_INCREMENT:自增 PRIMARY KEY:主键 NOT NULL:不为空 unique:唯一性 default:默认
通过ETL从电商平台(淘宝,京东等)获取数据,再经过数据标准化的处理,再经过Kafka把数据写到MySQL等数据引擎里面。 插入的区别 insert:常规的插入 replace:需要处理重复行,行的唯一性由主键约束,如果行存在,使用replace会自动的删除行并插入新行,如果不存在,就是等同于insert
PRIMARY KEY:主键约束,指的是唯一性的
遇到唯一性的我们使用replace
replace into 表 values(数据);
主键约束: 1、不能为空 2、不能重复无涯
AUTO_INCREMENT:自增
id会一直往上加
unique:唯一性
default:默认
创建表的逻辑:
if not exists 1、如果表存在,就使用之前的表 2、如果表不存在,就创建新的表
、
MySQL的时间类型:
DATETIME:YYYY-MM-DD HH:MM:SS 最大值到9999 TIMESTAMP:YYYY-MM-DD HH:MM:SS 最大值到2038年 DATE:YYYY-MM-DD TIME:HH:MM:SS YEAR:YYYY
MySQL小数点:
MySQL小数点: FLOAT:单精度 DOUBLE:双精度 DECIMAL (M, D):D代表小数点后的位数,M代表的是总的位数
需求:根据学生表的学生成绩,把学生成绩按照不同分数段分为满分,优秀,良好,及格,不及格
需求:输出成绩的最高分,最低分,平均分,总分,使用别名方式
1、创建一个成绩的表
create table employee(
id int primary key,
name varchar(10),
sex varchar(10),
aeg int,
score int);
,
2、插入成绩的数据
insert into employee
(1,"aaa","m",18,99),
(2,"bbb","n",20,98),
(3,"ccc","m",24,100);
3、查看插入的数据是否完整正确
4、输出成绩的最高分,最低分,平均分,总分,使用别名方式
最高分:select max(score) as 最高分 from employee;
最低分:select min(score) as 最低分 from employee;
平均分:select avg(score) as 平均分 from employee;
总分数:select sum(score) as 总分数 from employee;
需求:输出不同性别的总分数
select sex as 性别,sum(score) as 总分 from employee group by sex;
五、MySQL语句面试题/
1.mysql登录命令
mysql -h localhost -uroot -proot
2.如果修改了端口怎么登录
mysql -h localhost -P3307 -uroot -proot
-h 服务地址 -P端口 -u服务账户 -p服务密码
3.mysql使用具体哪个数据库的命令
use databaseNanme;
4.查询有多少表
show tables;
5.查询数据库版本
select version();
6.查询表中的所有数据
select * from tableName;
7.修改表的数据
update tableName set 字段=newContent where 表达式;
8.删除表的数据
1、delete from user where 字段=这个字段下的某一数据;
2、delete from tableName;
3、truncate table tableName: