数据库练习二(包含一些公司面试原题)
南天软件
已知库表t_test中有以下记录
1 2005-05-09 优 98.1
2 2005-05-09 优 89.5
3 2005-05-09 优 86.5
4 2005-05-09 良 77.1
5 2005-05-10 良 75.3
6 2005-05-10 良 71.3
7 2005-05-10 及格 65.2
1、请写出构建t-test的SQL语句
2、根据上述记录内容,请写出插入t_test表的SQL语句(写一条插入语句即可)
Insert into t_test(riqi,pinjia,fenshu) values(2005-05-10,‘优’,89.2);
3、用一条语句从表中查出优和良,各多少条记录,平均分各是多少?
4、把及格记录的日期改为2005-05-11
青牛软件
1、修改mysql用户root密码的指令是(mysqladmin -u root password test)
2、现有一个关系:借阅(书号,书名,库存数,读者号,借期,换期)假如同一本书允许一个读者多次借阅,但不能同日对一种书借多本,则该关系模式的主键是(书号+读者号)
3、int类型字段需要占多少存储空间(4bytes)
4、在第一次启动时,mysql_install_db 脚本初始化MySQL系统,这个脚本创建(mysql和test)个数据库
5、简述sql语句中Truncate和delete的区别
(1)TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令,DELETE将被撤销,而TRUNCATE则不会被撤销。
(2)TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
(3)TRUNCATE不能触发任何DELETE触发器,不能授予任何人清空他人的表的权限,当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能,不能清空父表
6、写出一条sql语句,取出表A中满足时间2006年1月1日至2006年1月31日电记录(时间字段为time)
select * from A where time between ‘2006-01-01’ and ‘2006-01-31’;
7、在SQL中建立、修改和删除数据库中基本表结构的命令分别为(create、alter、drop)命令
8、mysql数据库的默认端口是(3306)
9、NULL是指(无任何值)
10、SQL语言引入了视图的概念,下列说法正确的是(视图与基本表的最大区别在于它是逻辑定义的虚表)
11、当事务执行出现“死锁”时,系统执行(ROLLBACK)操作
12、下面哪个SQL语法是错误的(delete* from TableA)
13、要在Oracle中定义SQ1查询,下列哪个数据库对象不能直接从select语句中引用?(视图)
汉邦高科
1、mysql备份命令?Mysql如何对smart用户授权访问,密码为123456,请写出命令
备份:mysqldump -uroot -p -A -B > all.db.sql
授权:grant all on * to smart identified by “123456”;
2、简单说一下mysql忘记密码后该如何处理?
(1)停止数据库
启动时加上–skip-grant-tables 跳过权限表
(2)在另一个终端登录数据库
(3)刷新权限并修改密码
深圳国电
1、表:table1 (Fid,Fclass,Fscore),用最简单高效的SQL列出各班成绩最高的列表,显示班级和成绩两个字段
select Fclass,max(Fscore) from table1 group by Fclass;
2、mysql中,数据库db1中表abc,将abd的uid进行倒序排序,并只取出前20行
select * from db1.abc order by db1.abc.uid desc limit 0,20;
3、如何用mysql命令进行备份和恢复?以test库为例创建一个备份,并再用此备份进行恢复。
备份:mysqldump -uroot -p -B test > test.sql
恢复:mysql -uroot -p < test.sql
4、Mysql中根据需求写出sql语句
信息数据表submit_message_send_history_201503
字段:insert_time为时间,charge_count为计费条数(每条信息计费条数不同,可能为1或大于1)
求:统计并展示出每天的计费条数
select insert_time,count(*) from submit_message_send_histroy_201503 group by insert_time;
5、如何查看mysql是否锁表
show open tables where In_use > 0;
数据表monitor_info,将monitor_command字段中的“info.log”字符串替换为“info.log”,写出完整的sql语句
update monitor_info set monitor_command=“info01.log” where monitor_command=“info.log”;
根据题目条件,写出相应的命令:
为保证答案一致性,表中添加数据如下:
insert into Student
values(1001,‘张三’,‘男’,21,‘计算机’);
准备插入数据
INSERT INTO
studentVALUES (1002, ‘李四’, ‘男’, 20, ‘英语’);
INSERT INTO
studentVALUES (1003, ‘王五’, ‘男’, 22, ‘计算机’);
INSERT INTO
studentVALUES (1004, ‘赵六’, ‘女’, 20, ‘英语’);
INSERT INTO
studentVALUES (1005, ‘钱七’, ‘男’, 21, ‘计算机’);
INSERT INTO
studentVALUES (1006, ‘孙八’, ‘男’, 20, ‘计算机’);
INSERT INTO
studentVALUES (1007, ‘胡九’, ‘女’, 19, ‘计算机’);
INSERT INTO
studentVALUES (1008, ‘武十’, ‘男’, 20, ‘计信管’);
CREATE TABLE
Course(
Cnoint(4) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘课程号’,
Cnamevarchar(16) DEFAULT NULL COMMENT ‘课程名’,
PRIMARY KEY (
Cno)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO
courseVALUES (1, ‘英语’);
INSERT INTO
courseVALUES (2, ‘高数’);
INSERT INTO
courseVALUES (3, ‘计算机’);
INSERT INTO
courseVALUES (4, ‘单片机’);
INSERT INTO
courseVALUES (5, ‘java’);
INSERT INTO
courseVALUES (6, ‘MySQL’);
INSERT INTO
courseVALUES (7, ‘Linux’);
INSERT INTO
courseVALUES (8, ‘C++’);
INSERT INTO
scVALUES (1001, 2, 45);
INSERT INTO
scVALUES (1001, 3, 85);
INSERT INTO
scVALUES (1001, 4, 74);
INSERT INTO
scVALUES (1002, 1, 90);
INSERT INTO
scVALUES (1003, 1, 54);
INSERT INTO
scVALUES (1003, 2, 62);
INSERT INTO
scVALUES (1003, 3, 81);
INSERT INTO
scVALUES (1003, 4, 80);
INSERT INTO
scVALUES (1003, 5, 72);
INSERT INTO
scVALUES (1003, 6, 88);
INSERT INTO
scVALUES (1003, 7, 77);
INSERT INTO
scVALUES (1003, 8, 67);
INSERT INTO
scVALUES (1004, 1, 92);
INSERT INTO
scVALUES (1005, 1, 53);
INSERT INTO
scVALUES (1005, 4, 63);
INSERT INTO
scVALUES (1005, 7, 77);
INSERT INTO
scVALUES (1006, 1, 70);
INSERT INTO
scVALUES (1006, 2, 82);
INSERT INTO
scVALUES (1006, 4, 78);
INSERT INTO
scVALUES (1006, 6, 68);
INSERT INTO
scVALUES (1006, 8, 55);
INSERT INTO
scVALUES (1007, 2, 76);
INSERT INTO
scVALUES (1007, 4, 90);
INSERT INTO
scVALUES (1007, 6, 89);
INSERT INTO
scVALUES (1008, 1, 81);
INSERT INTO
scVALUES (1008, 2, 48);
(一 )学生表:Student (Sno, Sname, Ssex , Sage, Sdept)
学号,姓名,性别,年龄,所在系 Sno为主键
课程表:Course (Cno, Cname,)
课程号,课程名 Cno为主键
学生选课表:SC (Sno, Cno, Score)
学号,课程号,成绩 Sno,Cno为主键
1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。
2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。
alter table student alter column sage smallint;
3.为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 。
4.向student表添加一条纪录:200201,张三,男,21,计算机。
5.选修了2号课程且成绩低于70的的学生每人成绩增加5分。
6.删除选修了课程名称为“单片机”的学生的选课成绩记录。
7.创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩。
8.查询不及格学生的姓名。
9.查询选修四门以上课程的学生学号。
10.查询2号课程的最高分的学生的姓名。
- 数据库面试常见一些概念(2)
- 一家反欺诈公司的面试经历——8.数据库的索引
- 数据库面试常问的一些基本概念
- 记从连续挂掉五六家小型互联网公司面试到收获阿里核心部门实习offer的一些经历和感想
- 公司面试题目之取出数据库中重复的记录
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库练习表(包含省份,市县)
- 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 1
- 公司面试题目之取出数据库中重复的记录 (转帖)
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 今天公司内部面试的一些题!support job
- 数据库面试练习
- 2012年在武汉面试的大大小小的软件公司的一些情况
- 写一些去第一家公司面试的一些题目及答案
- 走向面试之数据库基础:一、你必知必会的SQL语句练习-Part 2
- 公司面试题目之取出数据库中重复的记录
- 数据库面试常问的一些基本概念