6.1-MySQL(五)

一、左连接 left join

1、查询出左边所有的数据

2、再一的基础上查询出符合要求的右边的表数据

 

 

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

 

 右连接

 

 比如: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:主键约束,指的是唯一性的,不能为空和重复

 

 replace:企业大数据中使用

 

 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的字段类型 20alter table test modify  name varchar(20);

3.5修改列的名称,比如修改name 为 id alter table test change name id;

27.删除表的数据

1.先创建表 create table test(

);

2.插入数据 insert into test values(,,,,,);

3.删除表里数据

31表里删除一列,比如删除age alter table test drop age;

3.2指定删除,比如删除姓名  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;

查询不同性别的总分数

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

 

 

 

 

 

 

posted @ 2022-06-01 17:57  Yvonne_26J  阅读(50)  评论(0)    收藏  举报