6.1-MySQL(五)
一、左连接 left join
1、查询出左边所有的数据
右连接

比如:select * from shop right join goods on shop.id= goods.shop_id;

**内连接两种表达方式 比如:**
mysql> select * from shop inner join goods on shop.id= goods.shop_id;
select * from shop,goods where shop.id= goods.shop_id;

二、索引
添加索引
比如:alter table goods add index indexID(id,shop_id);
再看是否添加成功:show create table goods;

删除索引
比如:alter table goods drop index indexID;
再看是否删除成功:show create table goods;

大数据业务: 通过ETL从电商平台(淘宝,京东等)获取数据,再经过数据标准化的处理,最后通过Kafka把数据写到MySQL等数据引擎里面。 插入的区别 insert:常规的插入 replace:需要处理重复行,行的唯一性由主键约束,如果行存在,使用replace会自动的删除行并插入新行,如果不存在,就是等同于insert
三、列的约束 AUTO_INCREMENT:自增 PRIMARY KEY:主键 NOT NULL:不为空 unique:唯一性 default:默认
primary key:主键约束,指的是唯一性的,不能为空和重复


auto_increment:自增
比如 自增id

删除表2再增加数据会自增id:3
比如:

not null:不为空
比如查询姓名不能为空

unique:唯一性
比如查询身份证

default:默认
比如查询id和性别

(面试)开发设计完数据库后,叫大家参与开发技术方案文档评审,你发现身份证不是唯一性的,此时你会? 答:不唯一性可能会重复
创建表的逻辑
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小数点:
FLOAT:单精度 DOUBLE:双精度 DECIMAL (M, D):D代表小数点后的位数,M代表总的位数
比如插入价格

(面试)删除学生成绩中分数为90分的记录
1.先创建表 create table student(
);
2.插入数据 insert into student values();
3.删除 delete from studen where score=90
校招MySQL面试题
20.mysql登录命令
-h:地址;-u:登录用户名;-p:登录用户密码;-P:为指定端口
21.如果修改了端口怎么登录
修改配置文件后,首先对端口重新启动,然后登入指定端口
23.查询有多少表
1.创建数据库 create database test;
2.创建表 create table uesr(
);
3.查询test数据库有多少表 show tables;
24.查询数据库版本
select version();
25.查询表中的所有数据
1.先创建表 create table test(
);
2.插入数据 insert into test values(,,,,,);
3.查询test的所有数据 select * from test;
26.修改表的数据
1.先创建表 create table test(
);
2.插入数据 insert into test values(,,,,,);
3.删除
3.1单条数据修改,比如修改年龄为20的名字都改成ID update test set name=id where age=20;
3.2批量修改数据 update test set name=id
3.3修改test表名 rename table test to test_2;
3.4修改表里字段 ,比如修改name的字段类型 20
27.删除表的数据
1.先创建表 create table test(
);
2.插入数据 insert into test values(,,,,,);
3.删除表里数据
31
delete from user where name="xxx";
3.3批量删除,truncate table test;
实战面试题
1、根据学生表的学生成绩,把学生成绩按照不同分数段分为满分,优秀,良好,及格,不及格
select
case后面跟条件 when+条件+ 大于等于小于+ "字段 "

2、以性别查询有多少男女
select sex as 性别,count(sex) as 人数 from employee group by 性别;

3、查询学生的最高最低平均总分
比如:select max(score) as 最高分 from employee;
查询不同性别的总分数

子查询:先查里面条件在查外面




浙公网安备 33010602011771号