数据库理论
1. 说出插入语句的语法:
Inset into 表名 ('’字段一,’字段二’,’字段三’)values('字段一值’,’字段二值’,’字段三值’);Insert into student ('id’,’name’,’home’) value('01’,’貂蝉’,’魏国’);12
2. 说下更新语句的语法
Update 表名 set 字段名一=’字段一值’,字段二名=’字段二值’ where 更新行已有字段名=’对应字段值’;Update score set subject=’数学’,grade=’80’ where name=’刘备’;12
3. 删除语句的语法
Delete from 表名 where 字段名=’字段值’;Delete from student where name=’孙权’;Truncate table 表名;Truncate table student;Drop table 表名;Drop table score;删除速度drop>truncate>delete1234567
4. 说下oracle中for update的用法
首先输入:select*from 表名 for update; commit;让表格进入可编辑状态,然后点击表格的小锁接触锁定,然后增删改内容,完毕后点击对号,再点击小锁锁定。然后点击齿轮运行一下就可以了。1234
5. mysql、oracle、sqlserver的端口号各是多少?
Mysql默认端口号是3306 oracle默认端口号是1521 sqlserver默认端口号是14331
6. 说下模糊查询的用法
Select*from 表名 where 字段名 like '%XXX%’;Select*from student where birth like ’%05%’; #找出出生日在五月的学生的所有信息。12
7. 说下in的用法
Select*from 表名 where 字段名 in ('字段值1’,’字段值2’);Select id from student where name in('曹操’,’关羽’,’孙权’);12
8. 说出取前几行的用法
在mysql中使用limit:Select*from 表名 limit x,x;Select name from student order by age desc limit 0,3; #找出学生表中年龄最大的三个人的名字123
在sqlserver中使用top:
Select top x *from 表名;Select top 3 name,home from student;Select top 3 *from student where name not in (select top 5 name from student);在oracle中使用rownum:Select*from 表名 where rownum<=n;Select*from student where rownum<=5;Select*from(select rownum r,st.*from student st) hangbiao where hangbiao.r>=3 and hangbiao.r<=5; #取第三行到第五行的内容。1234567
9. 倒序是哪里的关键词
倒序desc是数据库里的关键词
10. 数据库中去重应该用什么?
应该用distinct,加在字段名之前使用。
11. 关系型数据库都有什么?
关系型数据库:Mysql SQLserver Oracle DB2 access Informix VF
12. 非关系型数据库有哪些?
非关系型数据库:redis mongoDB
13. 说下三个数据库库的不同
(1)首先他们用法不同:
三个数据库都采用结构化查询语言,但是取第几行的值语法不同,mysql用的是limit,sqlserver用的是top,oracle用的是rownum而且oracle在每次进行数据变更时都需要commit一下。
(2)然后他们使用的工具不一样
Mysql使用的Navicat或者sqlyog,Sqlserver使用的是Navicat,Oracle使用的是plsql
(3)还有端口号不一样
Mysql是3306,sqlserver是1433,oracle是1521
(4)以及平台不一样
sqlserver只能在windows中运行而mysql和oracle可以跨平台
Sqlserver是微软开发的,mysql是AB公司开发后被甲骨文公司收购,oracle是甲骨文公司开发的
(5)Mysql是开源的,sqlserver支持大事物的处理
(6)安全性方面sqlserver和oracle比mysql高
14. 说下删除都有哪些用法,有什么区别
删除有delete、truncate、drop delete常用于删除某一行数据,truncate用来清空表格,表结构还在,drop直接删除表格所有内容包括表结构,删除速度drop>truncate>delete
15. 说下A表和B表联查。关键字段为ID怎么进行简单的多表连查
Select *from A join B on a.id=b.id;1
16. 说下内连接,左连接右连接用什么关键词,有什么区别
内连接使用inner join on 一般inner省略 除下相同信息外其他信息都被过滤掉
左连接使用left outer join on 左边表数据全部输出,右边表数据只输出相同字段的相应信息 其他信息过滤用空值表示内容,右连接使用right join on与左连接相反
17. 说下嵌套和子查询
嵌套就是将查询结果的SQL语句作为一个表格,作为一个表时必须给其重新命名,子查询是将查询结果的SQL语句作为一个条件。嵌套可以嵌套多个查询结果嵌套。
18. 什么是数据库中的索引,以及索引的作用,如何创建一个索引。
索引是一个特殊的查询表,可以利用索引加快数据的检索速度。索引类似于一本书的目录,在书籍中,通过目录可以不必翻阅整本书就能快速从书中找到所需要的信息,而索引就是在数据库中可以快速找到所需要表格中的数据而不必扫描所有的数据库就可以找到所需要的数据。索引可以是唯一的,创建索引允许指定单个列或者多个列。缺点是他减慢了数据的录入速度,同时也增加了数据库的尺寸大小。
19. 什么是数据库中的事务
事务就是讲多个sql语句放在一个事务中,事务只能同时成功或失败,比如A给B转账100元,转账过程中如果断电了,只执行了A的钱减少那一句,则数据库中结果是不会变化的,只有A少了一百B多了一百,事务执行完毕数据库中的书数据才会发生变化。
20. 什么是数据库的存储过程?
是一个预编译的SQL语句,优点是允许模块化的设计,用户只需创建一次,以后可以反复调用。
21. 什么是数据库的执行计划(查询计划)
数据库在执行sql语句的时候,会准备几套方案,最后会选择资源消耗最小的那个方案执行,就是执行计划。
22. 什么是数据库中的主键和外键
一个表可以创建一个主键,主键非空不可重复,在B表里有A表主键的字段名又不是主键,则称B表的该字段为A表的外键
23. 怎么用命令查看数据库的结构
Desc 表名;
24. 多表连查可以查询多少张表
只要有相同的字段就可以进行多张表的联查
25. 怎么将两个表拼接起来
Select*from 表1,表2