MySQL数据库试题

1.已知库表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.1

7

2005-05-10

及格

65.2

1)请写出构建t_test的SQL语句:

CREATE TABLE test.t_test  (
  id int(4) UNSIGNED NOT NULL AUTO_INCREMENT,
  time date(3) NOT NULL,
  state varchar(20) NOT NULL,
  score float(20, 1) NOT NULL,
  PRIMARY KEY (id)
);

2)根据上述记录内容,请写出插入t_test表的SQL语句(一条即可)

INSERT INTO t_test VALUES(1,'2005-05-09','优',98.1);

3)用一条语句,从表中查出优和良,各多少条记录,平均分各是多少?

SELECT state,COUNT(1),AVG(score) FROM t_test GROUP BY state HAVING state IN('优','良');

4)把及格记录的日期改为2005-05-11

UPDATE t_test SET time='2005-05-11' WHERE state = '及格';

2.修改mysql用户root密码的指令是什么( )B

A.mysql -u root password test

B.mysqladmin -u root password test

C.mysql -u root -p test

D.mysql -u -password test

3.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期)假如同一本书允许一个读者多次借阅,但不能同日对同一本书借多本,则该关系模式的主键是()D

A.书号	B.读者号	C.书号+读者号	D.书号+读者号+借期

4.int类型字段需要占用多少存储空间()A

A.4bytes	B.1byte	C.8bytes	D.16bytes

5.在第一次启动时,mysql_install_db脚本初始化MySQL系统,这个脚本创建()个数据库 A

A.mysql和test	B.user和test	C.mysql和user

6.简述sql语句中Truncate和delete的区别

Truncate是DDL,执行后自动提交,无法回滚;delete是DML,执行后不自动提交

Truncate不能用于参与了索引视图的表

Truncate table test执行更快,清空物理文件,清空表中的所有内容

delete from test是逻辑删除,按行删除,而且可以通过where语句选择要删除的行

7.在SQL中,建立、修改和删除数据库中基本表结构的命令分别为create、alter、drop

8.mysql数据库的默认端口是3306

9.NULL是指() A

A.无任何值	B.0	 C.空格	D.空字符

10.SQL语言引入了视图的概念,下列说法正确的是()C

A.视图有若干表组成,独立存储在数据库中

B.视图的存在提高了并发程度

C.视图与基本表的最大区别在于它是逻辑定义的虚表

D.视图简化用户观点,但不提高查询效率

11.当事务执行出现“死锁”时,系统执行()操作 C

A.SAVE	B.REDO	C.ROLLBACK	D.COMMIT

12.下面哪个SQL语法是错误的()B

A.select * from TableA

B.insert TableA set······

C.update TabelA set ······

D.delete from TableA

13.要在Oracle中定义SQL查询,下列哪个数据库对象不能直接从select语句中引用()C

A.表	B.序号	C.索引	D.视图

14.Mysql备份命令?Mysql如何对smart用户授权访问,密码为123456,请写出命令

mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql

GRANT ALL ON \*.* TO smart@'%' IDENTIFIEF BY '123456'

15.简单说一下mysql忘记面后该如何处理?

1)停止mysql服务

2)在mysql配置文件里[mysqld]下添加skip-grant-tables(/etc/mysql/mysql.conf.d/mysqld.cnf)

3)重启服务,进入mysql

4)修改密码:update mysql.user set password=PASSWORD('123456') where User='root';

5)刷新权限:flush privileges;

6)成功后,退出,删除掉刚才的配置命令,重启服务