myaql 面试题

面试题

having和where的区别?

两个都是过滤

having必须和聚合函数结合使用

where后面跟表达式

写出删除和插入的sql语句

首先创建一个表

删除表有三种:

1,删除固定一行  delete from tableNAME where  表达式;

2,删除全部数据  delete fromtableNAME;

3,快速删除数以万计的数据  turncate table tableNAME;

插入数据有三四种:

1,按字段插入  insert into tableNAME (字段名称)  values("插入的内容");

2,全部插入  insert into tableNAME values("  "." ",xx);

3,批量插入 insert into tableNAME values

                     (x,"  "," "),

                     (x,"  "," ");

4, replace into tableNAME values(x,"  ");       replace 插入相同的数据时会自动覆盖 但不会报错

mysql中有两个表表A中有性别分数  表B中有性别 分数 女生总数有多少人  平均分  用了哪些函数?

先过滤出A表中女生的总数  select sex,count(sex) 总数 from A group by sex having sex="gril";

过滤出B表中女生的总数  select sex,count(sex) 总数 from B group by sex having sex="gril";

根据过滤出的数据利用算数表达式算出女生总和  select (A表女生数+B表女生数)

平均分也是先算出A表和B表分数的平均分然后利用算术表达式相加算出平均分

此期间用了 group by  having    avg  这几个函数

mysql中有两个表,表A中有id,name,company,表B中有id,工资,怎么查询李四的工资

先使用A表中id和B表中的id把两个表内链接起来,然后后面加上where过滤李四的工资

select B.salary from A inner join B  on A.id=B.id where A.name="lisi";

一个表里多个字段怎末设置主键

举例

create table  asd (

id int ,

name varchar(20),

primary key(id,name)

);

mysql 时间类型

alter table user add  birthday  datetime default "2022-02-02 23:00:00"

mysql 小数点

decimal(M,D);M代表总位数,D代表小数点后的位数

举例: 

create table personinfo(
-> id int primary key,
-> name varchar(20),
-> salary decimal(7,2)
-> );

 7就是总位数  2就是小数点后的位数

判断表中的条件

deleect

(case 条件  then 标题  end)

 

 查看表中名字相同名字大于一的人的信息

 

posted @ 2022-08-29 19:57  刘乐乐liu  阅读(46)  评论(0)    收藏  举报