本文目录一览:
自己电脑如何进行数据库的操作练习
首先要问你学的是什么数据库? 是SQL server呢还其他的。大多数学校都使用SQL server的。学校的操作系统是32位的,也就是说,如果你是win 7家庭版的在安装数据库时,可能会不兼容。如果是旗舰版的就好说了,如果不是话,为了学习建议与换下系统。然后去老师那借个硬盘装下。不要管是什么版本的,其实整体差别不打。也不必去网上下,因为你和学校是同步的,老师那肯定有软件包。我也是学IT的 所有软件都是在老师那借硬盘自己装的。装软件真的很简单,根据提示下一步下一步就OK了。唯一要注意的是SQL server都需要用户名验证的,如果windows的身份验证通不过,那就使用sa用户名和123的密码登陆。进去后打开查询分析器,然后就可以和你在课堂一样的操作了。我学完数据库不久,自认为还行,有什么不懂的可以问我。
如何简单进行mysql数据库操作
查询库show databases
创建库create database库名字
Show tables查询表
Desc table查看表结构
drop table表名 删除表
哪位大侠可以提供一些mysql数据库的题库,一定要带答案的!将感激不尽!!
一、不定项选择题(共40题,每小题2.5分,总分100分)
1. 数据库管理系统的发展历经了如下那些模型阶段( ACDE )
A. 层次模型 B. 结构模型 C. 关系模型
D. 网状模型 E.对象模型
2. 关系型数据库的核心单元是( B )
A. 对象 B. 表
C. 行 D. 列
3. 对于关系型数据库来说,表之间存在下面那些关系( ABC )
A. 一对一关系 B. 一对多关系
C. 多对多关系 D. 继承关系
4. 在SQL中,下面对于数据定义语言(DDL)描述正确的是( D )。
A. DDL关心的是数据库中的数据 B. 完成数据的增、删、改、查操作
C. 控制对数据库的访问 D. 定义数据库的结构
5. MySQL是一种( C )数据库管理系统。
A. 层次型 B. 网络型 C. 关系型 D. 对象型
6. SQL中,下列操作有语法错误的是( B )
A. AGE IS NOT NULL B. NOT(AGE IS NULL)
C. SNAME=‘王五’ D. SNAME=‘王%’
7. SQL中,下列关于创建、管理数据库的操作语句不正确的是( CDE )
A. CREATE DATABASE Instant B. USE Instant C. NEW DATABASE Instant
D. Connection Instant E. Delete DATEBASE Instant
8. 在MySQL中,不存在的数据类型是( F )。
A. INT B. TEXT C. DECIMAL
D. VARCHAR E. DATETIME F. VARCHAR2
9. 在MySQL中,下列关于创建数据库表的描述正确的是( C )。
A. 在创建表时必须设定列的约束
B. 在删除表的时候通过外键约束连接在一起的表会被一同删除
C. 在创建表时必须设置列类型
D. 通过CREATE TABLE new_t SELECT * FROM old_t复制表的同时,表的约束能够一起被复制到新表中
10. 根据数据完整性实施的方法,可以将其分为( ACDF )
A. 实体完整性 B. 表完整性 C.域完整性
D. 引用完整性 E. 记录完整性 F.用户自定义完整性
11. 下面关于域完整性的方法,不正确的是( A )。
A. 主键约束 B. 外键约束 C.检查约束
D. 非空约束 E. 默认值
12. 下面关于创建和管理索引正确的描述是( C )。
A. 创建索引是为了便于全表扫描
B. 索引会加快DELETE、UPDATE和INSERT语句的执行速度
C. 索引被用于快速找到想要的记录
D. 大量使用索引可以提高数据库的整体性能
13. SQL中,“AGE IN(20,22)”的语义是( D )。
A. AGE=22 AND AGE =20 B. AGE 22 AND AGE 20
C. AGE =20 AND AGE =22 D. AGE =20 OR AGE =22
14. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )
A. 实体完整性约束 B. 参照完整性约束
C. 用户自定义完整性约束 D. 关键字完整性约束
15. 下面SQL是来源于考试成绩表t_exam:学号stuId、科目编号subId、成绩score,考试日期:ex_date。有以下sql,它表示的意思是:( B )
Select stu_id,subId,count(*) as x
From t_exam
Where ex_date=’2008-08-08’
Group stu_id,subId
Having count(*)1
Order by x desc
A. 找出’2008-08-08’这天某科考试2次及以上的学生记录
B. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数多的放在前面
C. 找出’2008-08-08’这天,某科考试2次及以上的学生记录,考试次数少的放在前面
D. 根据学号和学科分组,找出每个人考试科数,最后考试次数多的放在前面
16. EMP表如下所示,下面哪些SQL语句的返回值为3:( BD )
EMP
雇员号 雇员名 部门号 工资
001 张山 02 2000
010 王宏达 01 1200
056 马林生 02 1000
101 赵敏 04
A. select count(*) from emp
B. select count(distinct 部门号) from emp
C. select count(*) from emp group by 雇员号
D. select count(工资) from emp
17. 下面那一项不是SELECT语句对数据的操作:( D )
A. 投影 B. 联接 C. 并 D. 级联
18. 下面关于SQL数据查询操作描述正确的有:( ABD )
A. 投影操作是选择对表中的哪些列进行查询操作
B. 使用DISTINCT关键字可以过滤查询中重复的记录
C. 在模糊查询中,通配符“%”表示匹配单个字符,而“_”表示匹配零个或多个字符
D. 在MySQL中使用LIMIT关键字限制从数据库中返回记录的行数
19. 在SQL语言中,条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且( A )。
A. 包括20岁和30岁 B. 不包括20岁和30岁
C. 包括20岁,不包括30岁 D. 不包括20岁,包括30岁
20. SQL语言中,删除EMP表中全部数据的命令正确的是( C )。
A. delete * from emp B. drop table emp
C. truncate table emp D. 没有正确答案
21. 有关索引的说法错误的是( AD )
A. 索引的目的是为增加数据操作的速度
B. 索引是数据库内部使用的对象
C. 索引建立得太多,会降低数据增加删除修改速度
D. 只能为一个字段建立索引
22. 下列哪个关键字在Select语句中表示所有列( A )
A. * B. ALL C. DESC D. DISTINCT
23. 在表中设置外键实现的是哪一类数据完整性( B )
A. 实体完整性 B. 引用完整性
C. 用户定义的完整性 D. 实体完整性、引用完整性和用户定义的完整性
24. 下面正确表示Employees表中有多少非NULL的Region列的SQL语句是( B )
A. SELECT count(* ) from Employees
B. SELECT count(ALL Region) from Employees
C. SELECT count(Distinct Region) from Employees
D. SELECT sum(ALL Region) from Employees
25. 下面可以通过聚合函数的结果来过滤查询结果集的SQL子句是( C )
A. WHERE子句 B. GROUP BY子句
C. HAVING 子句 D. ORDER BY子句
26. t_score(stu_id,sub_id,score),即成绩表(学号,科目编号,成绩)。学生如果某科没有考试,则该科成绩录入null。能够获取各位学生的平均成绩的选项是( A )
A. select avg(nvl(socre,0)) from score group by stu_id
B. select stu_id,avg(sorce) from score
C. select stu_id,avg(score) from score
D. select stu_id,sum(score)/count(score) from score
27. 若要求查找S表中,姓名的第一个字为'王'的学生学号和姓名。下面列出的SQL语句中,哪个是正确的( B )
A. SELECT Sno,SNAME FROM S WHERE SNAME=′王%′
B. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王%′
C. SELECT Sno,SNAME FROM S WHERE SNAME LIKE′王_′
D. 全部
28. 若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是( B )
A. SELECT Sno FROM SC GROUP BY Sno WHERE COUNT(*) 3
B. SELECT Sno FROM SC GROUP BY Sno HAVING( COUNT(*) 3)
C. SELECT Sno FROM SC ORDER BY Sno WHERE COUNT(*) 3
D. SELECT Sno FROM SC ORDER BY Sno HAVING COUNT(*)= 3
29. 对下面的查询语句描述正确的是( D )
Select StudentID,Name,
(select count(*) from StudentExam
where StudentExam.StudentID = Student.StudentID) as ExamsTaken
from Student
order by ExamsTaken desc
A. 从Student表中查找StudentID和Name,并按照升序排列
B. 从Student表中查找StudentID和Name,并按照降序排列
C. 从Student表中查找StudentID、Name和考试次数
D. 从Student表中查找StudentID、Name,并从StudentExam表中查找与StudentID一致的学生考试次数,并按照降序排列
30. 下面题基于学生-课程数据库中的三个基本表:
学生信息表:s(sno, sname, sex, age, dept) 主键为sno
课程信息表:c(cno, cname, teacher) 主键为cno
学生选课信息表:sc(sno, cno, grade) 主键为(sno, cno)
“从学生选课信息表中找出无成绩的学生信息”的SQL语句是( C d )
A.
SELECT * FROM sc WHERE grade=NULL
B.
SELECT * FROM sc WHERE grade IS ‘ ’
C.
SELECT * FROM sc WHERE grade IS NULL
D.
SELECT * FROM sc WHERE grade =‘ ’
31. 当子查询返回多行时,可以采用的解决办法是( C )。
A. 使用聚合函数 B. Where条件判断
C. 使用IN运算符 D. 使用Group by进行分组
32. 下面关于在子查询中使用运算符描述不正确的是( D )。
A. 使用IN运算符用于查找字段值属于某一组值的行
B. 使用Exists运算符用于测试子查询是否返回行,如果返回其值就为真
C. 使用ALL运算符用于测试子查询结果集的所有行是否满足指定的条件
D. 使用Any运算符用于测试子查询结果集中的一行或多行不满足指定的条件
33. 下面关于组合查询描述不正确的是( D )。
A. 从一个表中获取的数据必须和其它表中的数据具有相同的列数
B. 两个表中相对应的列必须具有相同的数据类型
C. UNION的结果集列名与第一个SELECT语句的结果集中的列名相同
D. UNION的结果集列名与第二个SELECT语句的结果集中的列名相同
E. UNION ALL运算符返回每个数据集的所有成员
34. 下面关于联接的描述正确的是( A )。
A. 内联接使用比较运算符根据每个表共有的列值来匹配两个表中的行
B. 左外联接结果集包含从右边的表返回的所有行
C. 右外联接结果集包含从左边的表返回的所有行
D. 全外联接返回左表和右表中的所有匹配的行
35. 下面关于数据库设计过程正确的顺序描述是( C )。
A. 需求收集和分析、逻辑设计、物理设计、概念设计
B. 概念设计、需求收集和分析、逻辑设计、物理设计
C. 需求收集和分析、概念设计、逻辑设计、物理设计
D. 需求收集和分析、概念设计、物理设计、逻辑设计
36. ER图属于下面哪一种数据库设计模型( B )。
A. 物理数据模型
B. 概念数据模型
C. 逻辑数据模型
D. 需求模型
37. 非主键必须完全依赖于主键列,这属于下列范式的内容( BC )
A. 1NF B. 2NF C. 3NF D. 都没有的
38. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( B )。
A. PK(主键) B. FK(外键) C. UK(唯一键) D. 复合主键
39. 根据三个范式的定义,下面哪个选项的设计是正确的( C )
职工编号 姓名 工种 车间 车间主任
1001 李宁 车工 一车间 周杰
1002 王海 铣工 一车间 周杰
1003 赵亮 钳工 二车间 吴明
1001 李宁 钳工 二车间 吴明
A. 员工表、工种表、车间表
B. 员工表、工种表、车间表、车间主任表
C. 员工表、工种表、车间表、员工工种表、员工车间表
D. 以上设计均不正确
40. 下列说法中,哪些是正确的( BD )
A. RDBMS是数据库管理系统的简称
B. 各行记录都不能重复,是第二范式要求的
C. 在数据库设计中一定要满足第三范式
D. 索引越多,查询越快,数据更新越慢
数据库入门,谁会请留言
MySQL数据库入门练习100句
//登录和退出数据库
1:mysql -u root -p//输入密码
2: exit
3: mysql -u root -p
//数据库创建,删除,进入数据库
4:CREATE DATABASE `testdatabase`;5: CREATE DATABASE `testdatabase`;6:DROP DATABASE `testdatabase`;7: CREATE DATABASE `testdatabase`;8: USE testdatabase;
9: CREATE DATABASE `testdatabase2`;10: USE DATABASE testdatabase2;
11: USE `testdatabase2`;
12: USE `testdatabase`;
13: DROP DATABASE `testdatabase2`;//表的创建和删除,创建表同时设置属性
14: CREATE TABLE table1;15: CREATE TABLE table1(No INT);16: CREATE TABLE table2 (No INT,name VARCHAR(20),sex boolean);17: DROP TABLE table1,table2;18: CREATE TABLE tt1 (id INT(11) primary key);19: CREATE TABLE tt2 (id int primary key, name varchar(20) unique, age int not null, sex boolean default '1');
//boolean 实际上是一个int,因此值为0或1
20:CREATE TABLE tt3 (id int primary key, age int not null auto_increment);21: CREATE TABLE tt3 (id int primary key auto_increment, age int not null);
//一个表只能有一个auto_increment约束,且约束的属性必须是主键或主键的一部分
22:show tables;23:drop table tt1,tt2,tt3;show tables;//key键:
//主键:
24:create table tt1 (id int primary key);25: create table tt2 (id int,name varchar(20),primary key (id));26: create table tt3 (id int,name varchar(20),age int,primary key(id,name));27: create table tt4(id int primary key,age int primary key);//只可以有一个主键
28: drop table tt1,tt2,tt3,tt4;
//外键:
29: create table tt1(id int(4),uid int(4));30: create table tt2(id int(4),uid int(4),constraint nickname foreign key(uid) references tt1(uid));31: drop table tt1;
create table tt1(id int,uid int,primary key(id,uid));32: create table tt2(id int,uid int,constraint nickname foreign key(uid) references tt1(id));//由上四条可知外键必须依赖于父表的主键上
33:create table tt2(id int(4),uid int(4),constraint nickname foreign key(uid) references tt1(id));
//外键连接必须连接的是主表的主键,如果连接主表主键的一部分,必须连接主键的第一个字段
34: create table tt3(id int,uid int,constraint nick name foreign key(id) references tt1(id));35: drop table tt1,tt2,tt3;//此处会报错,因为有外键依赖要先删子表才能删父表,如果输入drop table tt3,tt2,tt1;则不会报错
36: create table tt1(Id int unsigned,uid int,primary key(id));37: create table tt2(id int,uid int,constraint nickname foreign key (uid) references tt1(id));38: create table tt2(id int,uid int unsigned,constraint foreign key (uid) references tt1(id));
//外键关联的主从表字段数据类型必须完全一样,否则报错“foreign key constraint is incorrectly formed”
//查看表:
39:describe tt1;
describe tt2;
40: desc tt1;
desc tt2;
41: show create table tt1;
show create table tt2;42: show create table tt1 \G
show create table tt2 \G
//修改表:
//修改表名43:alter table tt1 rename tt2;44: alter table tt1 rename temp;45: desc tt1;
desc temp;
46: alter table temp rename to tt1;47: drop table tt1,tt2;
//修改表属性数据类型
48: create table tt1(id int,name varchar(20));49: alter table tt1 modify id varchar(20);50: insert into tt2(id,name) values(1,'string');//插入和删除操作还没有涉及,在这里只是为了加入一条数据已说明下面的问题
51:alter table tt1 modify name int;//有值的情况下转换字段类型失败,因为字符串类型无法自动转型为整数类型
52:delete from tt1;//删除表中元素53: alter table tt1 modify name int;
desc tt1;
//修改表属性
54:alter table tt1 change name newname int;
desc tt1;
55: alter table tt2 change newname name varchar(20);
desc tt2;
//增加字段
56: alter table tt1 add name tinytext after id;
desc tt1;
57: alter table tt1 add age int not null after id;desc tt1;
58: alter table tt1 add no int unique first;desc tt1;
//删除字段
59:alter table tt1 drop age;desc tt1;desc tt1;
//修改属性排列顺序
60:alter table tt1 modify no int after name;desc tt1;
61: alter table tt1 modify no int first;desc tt1;
62: drop table tt1,tt2;//索引:
//创建带索引的数据库表
63:create table tt1(id int,name varchar(20),age int,index index1(id));64: show create table tt1\G65: explain select * from tt1 where id=1;//explain语句用来查看索引详细情况,参考博文:
66:create table tt2(id int,name varchar(20),age int,unique index index2(id));//唯一索引,唯一索引指的是被索引的字段值唯一
67: show create table tt2\G68: create table tt3(id int,name varchar(20),age int,fulltext index index3(id));//全文索引
69: create table tt3(id int,name varchar(20),age int,fulltext index index3(name));70: show create table tt3\G71: create table tt4(id int,age int,info varchar(50),index index4(info(10)));72: show create table tt4\G73: create table tt5(id int,name varchar(20),info varchar(50),index index5 (id,name));74: show create table tt5\G75: explain select * from tt5 where name="nnn"\G76: explain select * from tt5 where id='1'\G
//在已存在表上添加索引
//create [unique|fulltext|spatial] index indexname on tablename (columnname [(length)] [ASC|DESC]);77: drop database testdatabase;
create database testdatabase;
use testdatabase;
78: create table tt1(id int,name varchar(20));79: create index index1 on tt1 (id);80: create index index1 on tt1 (name);//同一表的索引别名不能相同
81: create index index2 on tt1 (name);82: drop index index2 on tt1;83: create table tt2(id int,name varchar(20),age int,sex boolean,info varchar(50));84: create index index1 on tt2 (id);//不同表的索引别名可以相同
85:create unique index index2 on tt2 (id);//不同索引可以重复使用相同字段
86: create fulltext index index3 on tt2 (name);87: create index index4 on tt2 (sex,age);//多字段索引
88:show create table tt2;89: drop table tt1,tt2;90: show tables;
//Alter语句添加索引
//Alter table tablename add [unique|fulltext|spatial] index indexname (columename [(length)] [ASC|DESC]);91: create table tt1(id int);92: alter table tt1 add index index1 (id);93: create table tt2 (id int,age int,name varchar(20),sex boolean, info varchar(50));94:alter table tt2 add index index2 (id,name);95: alter table tt2 add unique index index3 (sex);96: alter table tt2 add index index4 (info(10));97: alter table tt2 add fulltext index index5 (info(10));
show create table tt2;
//删除索引
98: drop index index1 on tt2;
show create table tt2;//观察删除索引后的表信息
99:drop table tt1,tt2;100: exit
//完成第一阶段练习