找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
1 Drop, deletetruncates 三者的区别?
delete
truncate 快速删除表内数据
drop 删除
删除数据速度:drop > truncate >delete
注意:
1drop 是删除表和数据
2truncate删除无法恢复
3delete删除是可以恢复
delete
(1)删除表中所有数据
(2)删除表中指定条件的数据
3)快速删除表数据
2 linux 中如何备份一个数据库和还原一个数据库,写出具体的命令?
备份:mysqldump -u root -p 原数据库>数据库脚本.后缀名
还原: mysql -u root -p新建的空库<数据库备份好的数据脚本
3 数据库中库的类型,表的类型,数据的类型分别是指什么?
关系型数据库和非关系型数据库
MySQL一共向用户提供了包括BDBHEAPISAMMERGEMyISAMInnoDB以及Gemeni7Mysql表类型。其中BDBInnoDB属于事务安全类表,而其他属于事务非安全类表。int 数据类型
char 或varchar字符类型
float 浮点型数据类型
data 时间类型
4 group by order by 的区别?
分组查询
排序
5 聚合函数有哪些?
max 最大值
案例:select  max(age)  from emp
min  最小值
案例:select  min(age)  from emp
avg  平均值
案例:select avg(age)  from emp
count 统计总数
案例:select count  (age)  from emp
sum  求和
案例:select sum (age)  from emp
distinct 去重
案例:select distinct (字段名)  from emp
6 写出增删改查的基本格式?
Select 查;insert插入UPDATE(更改数据)  DELETE (数据的删除)
7 描述下你对索引的理解
索引是在表的字段名上创建,索引中包含了一个列的值
8 描述下你对视图的理解
视图是一个虚拟表(逻辑表),它不在数据库中以存储数据的形式保存(本身不包含数据)。还是在使用视图的时候动态生成。
9 数据库中常用的约束有哪些?
1)非空约束 not null非空,用于保证字段的值不能为空,
2)唯一约束(unique   保证字段具有唯一性(不能重复),可以为空,唯一约束可以有多高
3)主键约束(primary key)保证字段具有唯一性(不能重复),不能为空,一个表中只有一个主键
4)外键约束(forrign key)两个表之间的主键建立关系
5)默认:(default         当字段不填数据,默认数据
6)  自增长:auto_increment   当添加一条数据,自动增长+1
1)与主键约束一起使用,一般针对id
3)每插入一条数据,指定的字段值+1
10 如何创建一个索引和删除一个索引?
alter table表名add index索引名(字段名);
格式:ALTER table 表名drop index索引名;
12 如何创建一个表?
create table表名(字段名1字符类型1(字符长度)字段名2字符类型2(字符长度)字段名3字符类型3(字符长度)default charset=utf8;默认编码格式,当插入中文数值显示???解决
13 如何修改一个表字段?
alter table 表名 change 原字段名 新字段名 字符类型(字符长度);
14 如何删除一个表字段?
alter table表名 drop 字段名;
15 where having的区别?
having +条件和where +条件  用法一样,但场景不一样,一般group by 的后面接having
基础题(1*20)
基本连接
内连接
左连接
         
右连接
         
左表独有的数据
右表独有数据
左右表独有的数据
数据库题(10*5
下面是一个学生与课程的数据库,三个关系表为:
学生表SSidSNAME,AGE,SEX
成绩表SCSidCidGRADE
课程表CCidCNAMETEACHER
其中Sid为学号,SNAME为学生名字,AGE为年龄,SEX为性别,
Cid为课程号,GRADE为成绩,CNAME为课程名字,TEACHER为教师姓名。
SQL脚本如下:
#学生表#create table S(Sid int(1),SNAME char(20),AGE int(1),SEX int(1));
#成绩表#create table SC(Sid int(1),Cid char(5),GRADE int(20)) ;
#课程表#create table C(Cid char(5),CNAME char(20),TEACHER char(20));
/*
insert into S(Sid,SNAME,AGE,SEX)values(1111,'David',28,1);
insert intoS(Sid,SNAME,AGE,SEX)values(1112,'Dany',23,0);
insert intoS(Sid,SNAME,AGE,SEX)values(1113,'TOM',38,1);
insert intoS(Sid,SNAME,AGE,SEX)values(1114,'Lily',20,0); */
insert intoSC(Sid,Cid,GRADE)values(1113,'C1','38');
insert intoSC(Sid,Cid,GRADE)values(1112,'C2','80');
insert into SC(Sid,Cid,GRADE)values(1112,'C3','67');
insert intoSC(Sid,Cid,GRADE)values(1111,'C4','88');
insert intoSC(Sid,Cid,GRADE)values(1114,'C4','66');
*/
insert into C(Cid,CNAME,TEACHER)values('C4','Maths','zhangsan');
insert intoC(Cid,CNAME,TEACHER)values('C3','English','lisi');
insert intoC(Cid,CNAME,TEACHER)values('C2','Chinese','wangwu');
insert intoC(Cid,CNAME,TEACHER)values('C1','Computer','zhaoliu');*/
/*
查询出学习成绩及格以上的学生姓名与成绩
SELECT SNAME,GRADE from S inner join  SC on S.Sid=SC.Sid where GRADE>=60;
查询姓名以ny结尾的学生姓名及其任课老师姓名
SELECT SNAME,TEACHER from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where SNAME like "%ny" or TEACHER  like "%ny"
选修课名为Maths的学生学号与姓名
SELECT S.Sid,SNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where CNAME="Maths" ;
选修课号为C2C4的学生学号
SELECT S.Sid,SNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where C.cid="C2" or C.cid="C4";
请问没有参加考试的学生的姓名及其学号
SELECT S.Sid,SNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where GRADE is  null ;
请问总分在80分以上的学生姓名
SELECT SNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid group by SNAME HAVING GRADE >80;
请问考试不及格的考生姓名以及科目名称
SELECT S.Sid,SNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where GRADE <60 ;
显示出参加考试的学生的学号和姓名
SELECT distinct(SNAME),S.Sid from S innerjoin  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where GRADE is not null ;
请问TOM参加了哪一门科目的考试
SELECT CNAME from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where SNAME="TOM" and GRADE is not null ;
找出Dany的所有考试后成绩中最高的科目的任课老师姓名
select TEACHER  from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where GRADE in(SELECT max(GRADE) from S inner join  SC on S.Sid=SC.Sid inner join C onC.cid=SC.cid where SNAME="Dany")

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册